The Racal Cougar uses PWM serial data over the audio connector its F pin to control and program the tranceiver. (see part 2). This part describes the commands i recorded using an Arduino and a tab on the cable between the Racal and E.C.U. (Remote Control Unit MA-4730) or Fill Gun (MA-4083)
Tap on F & E pins |
Commands
Every command send by the ECU and Fill Gun / Programmer consists of at least 4 bytes of data; a header and instruction byte repeated twice, so byte 1 and 3 are similar and so are byte 2 and 4.
Depending on the type of command 20 additional bits of data are appended to the command maing the size of the data stream 52 bits.
(Almost) every command is echoed back by the Racal cougar after it has been processed successfully. The difference between normal command and echoed command is bit 7 of the command header. On echo this is set to '0'.
The following command tables have an echo column which describe if an echo is to be expected.
Controlling the Racal Cougar:
ChannelsSelect channel | ||||||
HEX | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Echo | |
Channel 0 | 7F007F00 | 01111111 | 00000000 | 01111111 | 00000000 | Y |
Channel 1 | 7F087F08 | 01111111 | 00001000 | 01111111 | 00001000 | Y |
Channel 2 | 7F047F04 | 01111111 | 00000100 | 01111111 | 00000100 | Y |
Channel 3 | 7F0C7F0C | 01111111 | 00001100 | 01111111 | 00001100 | Y |
Channel 4 | 7F027F02 | 01111111 | 00000010 | 01111111 | 00000010 | Y |
Channel 5 | 7F0A7F0A | 01111111 | 00001010 | 01111111 | 00001010 | Y |
Channel 6 | 7F067F06 | 01111111 | 00000110 | 01111111 | 00000110 | Y |
Channel 7 | 7F0E7F0E | 01111111 | 00001110 | 01111111 | 00001110 | Y |
Channel 8 | 7F017F01 | 01111111 | 00000001 | 01111111 | 00000001 | Y |
Channel 9 | 7F097F09 | 01111111 | 00001001 | 01111111 | 00001001 | Y |
Squelch
Squelch | ||||||
HEX | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Echo | |
Open | 7E0D7E0D608C5 | 01111110 | 00001101 | 01111110 | 00001101 | Y |
Data: | 01100000 | 10001100 | 0101 | |||
Close | 7E0D7E0D600C4 | 01111110 | 00001101 | 01111110 | 00001101 | Y |
Data: | 01100000 | 00001100 | 0100 |
Mode
Mode | ||||||
HEX | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Echo | |
Clear | 7E0D7E0D600C4 | 01111110 | 00001101 | 01111110 | 00001101 | Y |
Data: | 01100000 | 00001100 | 0100 | |||
Select Secure | 7E0D7E0D620C5 | 01111110 | 00001101 | 01111110 | 00001101 | Y |
Data: | 01100010 | 00001100 | 0101 | |||
Use Cypher A | 7ED37ED300001 | 01111110 | 11010011 | 01111110 | 11010011 | Y |
Data: | 00000000 | 00000000 | 0001 | |||
Use Cypher B | 7ED37ED380000 | 01111110 | 11010011 | 01111110 | 11010011 | Y |
Data: | 10000000 | 00000000 | 0000 |
To select a Secure channel 2 commands need to be given, "Select Secure" and "Use Cypher A/B"
Programming the Racal Cougar
Program | ||||||
HEX | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Echo | |
Init (FLT) | 7F3B7F3B | 01111111 | 00111011 | 01111111 | 00111011 | N |
Start (FTXI) | 7F3B7F3B | 01111111 | 00111011 | 01111111 | 00111011 | Y |
Disable Tone | 7FB37FB3 | 01111111 | 10110011 | 01111111 | 10110011 | Y |
Channel 0 TX | 7E007E00240E0 | 01111110 | 00000000 | 01111110 | 00000000 | Y |
Data: | 00100100 | 00001110 | 0000 | |||
Channel 0 RX | 7E807E80240E0 | 01111110 | 10000000 | 01111110 | 10000000 | Y |
Data: | 00100100 | 00001110 | 0000 | |||
Channel 1 TX | 7E087E08E40E0 | 01111110 | 00001000 | 01111110 | 00001000 | Y |
Data: | 11100100 | 00001110 | 0000 | |||
Channel 1 RX | 7E887E88E40E0 | 01111110 | 10001000 | 01111110 | 10001000 | Y |
Data: | 11100100 | 00001110 | 0000 | |||
Channel 2 TX | 7E047E040C0E0 | 01111110 | 00000100 | 01111110 | 00000100 | Y |
Data: | 00001100 | 00001110 | 0000 | |||
Channel 2 RX | 7E847E840C0E0 | 01111110 | 10000100 | 01111110 | 10000100 | Y |
Data: | 00001100 | 00001110 | 0000 | |||
Channel 3 TX | 7E0C7E0CCC0E0 | 01111110 | 00001100 | 01111110 | 00001100 | Y |
Data: | 11001100 | 00001110 | 0000 | |||
Channel 3 RX | 7E8C7E8CCC0E0 | 01111110 | 10001100 | 01111110 | 10001100 | Y |
Data: | 11001100 | 00001110 | 0000 | |||
Channel 4 TX | 7E027E02AC0E0 | 01111110 | 00000010 | 01111110 | 00000010 | Y |
Data: | 10101100 | 00001110 | 0000 | |||
Channel 4 RX | 7E827E82AC0E0 | 01111110 | 10000010 | 01111110 | 10000010 | Y |
Data: | 10101100 | 00001110 | 0000 | |||
Channel 5 TX | 7E0A7E0A6C0E0 | 01111110 | 00001010 | 01111110 | 00001010 | Y |
Data: | 01101100 | 00001110 | 0000 | |||
Channel 5 RX | 7E8A7E8A6C0E0 | 01111110 | 10001010 | 01111110 | 10001010 | Y |
Data: | 01101100 | 00001110 | 0000 | |||
Channel 6 TX | 7E067E06820E0 | 01111110 | 00000110 | 01111110 | 00000110 | Y |
Data: | 10000010 | 00001110 | 0000 | |||
Channel 6 RX | 7E867E86820E0 | 01111110 | 10000110 | 01111110 | 10000110 | Y |
Data: | 10000010 | 00001110 | 0000 | |||
Channel 7 TX | 7E0E7E0E420E0 | 01111110 | 00001110 | 01111110 | 00001110 | Y |
Data: | 01000010 | 00001110 | 0000 | |||
Channel 7 RX | 7E8E7E8E420E0 | 01111110 | 10001110 | 01111110 | 10001110 | Y |
Data: | 01000010 | 00001110 | 0000 | |||
Channel 8 TX | 7E017E01220E0 | 01111110 | 00000001 | 01111110 | 00000001 | Y |
Data: | 00100010 | 00001110 | 0000 | |||
Channel 8 RX | 7E817E81220E0 | 01111110 | 10000001 | 01111110 | 10000001 | Y |
Data: | 00100010 | 00001110 | 0000 | |||
Channel 9 TX | 7E097E09E20E0 | 01111110 | 00001001 | 01111110 | 00001001 | Y |
Data: | 11100010 | 00001110 | 0000 | |||
Channel 9 RX | 7E897E89E20E0 | 01111110 | 10001001 | 01111110 | 10001001 | Y |
Data: | 11100010 | 00001110 | 0000 | |||
End(DN) | 7F037F03 | 01111111 | 00000011 | 01111111 | 00000011 | Y |
A program sequence is made up of the following steps where step 3,4 and 5 are repeated for every channel to be programmed:
- Init
- Start
- Disable tone (optional)
- Channel n TX
- Channel n RX
- End
The Init, Start and End commands are needed to store the new channel data in the Racal's EEProm. Using the Program Channel commands without this results in the channel data only being stored in RAM and thus reset back to its original info after powering down the unit.
In the table above the following frequencies are programmed:
TX | RX | |
Channel 0 | 70.250 Mhz | 70.250 Mhz |
Channel 1 | 70.275 Mhz | 70.275 Mhz |
Channel 2 | 70.300 Mhz | 70.300 Mhz |
Channel 3 | 70.325 Mhz | 70.325 Mhz |
Channel 4 | 70.350 Mhz | 70.350 Mhz |
Channel 5 | 70.375 Mhz | 70.375 Mhz |
Channel 6 | 70.400 Mhz | 70.400 Mhz |
Channel 7 | 70.425 Mhz | 70.425 Mhz |
Channel 8 | 70.450 Mhz | 70.450 Mhz |
Channel 9 | 70.475 Mhz | 70.475 Mhz |
The "algorithm" to set a specific frequency was described in part 2.