Advertisement
CocosNucifera

GE PCS Radio programming notes

Jul 26th, 2013
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.06 KB | None | 0 0
  1. GE/Ericsson PCS radio programming notes:
  2. ----------------------------------------
  3. interfacing with the radio, entering programming mode:
  4.  
  5. Reset: send null byte (0x00) at 300 baud. Then switch to 1200 baud for remaining session.
  6.  
  7. Enter programming mode (at 1200 baud):
  8. send: U
  9. receive: >
  10. Note: ">" seems to be the "ready" char. The unit will not respond to any other programming commands until you have performed these two steps above: reset and enter programming mode.
  11.  
  12. Query radio ID:
  13. send: G2
  14. expect: id string? Model?
  15. Note: 2C11 = 8 channel UHF (440-470), 2C01 = 2 channel UHF (440-470), others?
  16.  
  17. Download entire program memory from radio:
  18. send: G7
  19. expect: ascii-encoded hex string representing memory segment, terminated w/ ready char ">"
  20. Note: Radio memory seems to be about 512 (0x200) bytes. See below for decoding this
  21.  
  22. Download specific segment of memory from radio:
  23. send: G4XXYYYY (where XX is length of segment in hex, and YYYY is starting offset of memory segment in hex)
  24. expect: ascii-encoded hex string representing memory segment. See below for more info on format.
  25.  
  26. Upload programming to radio:
  27. send: G1XXYYYYZ...
  28. Notes: Where XX is number of bytes in hex to program, YYYY is hex offset of start of segment, and Z... is the payload (in ascii-encoded hex).
  29. PCS programming software breaks up the programming into 64 (0x20) bytes (2 "lines") at a time.
  30. See below for more encoding/decoding of the channel structure format.
  31.  
  32. Exit programming mode:
  33. send: G9
  34. note: will require the above mentioned reset/programming sequence to re-enter programming mode again. (reset w/ 0x00 at 300 baud, then send U ascii char at 1200 baud)
  35.  
  36.  
  37. ------------------------
  38. example programming load configuration:
  39. ╔══════════════════════════════════════════════════════════════════════════════╗
  40. ║ Channel Data Screen ║
  41. ║ 3 - 16 chan UHF 440 - 470 ║
  42. ║ ║
  43. ║ Frequency Chan Guard Chan Options Type-99 Decodes ║
  44. ║ Ch Tx Rx Tx Rx Pw STE DTMF ANI Bsy Tb Ind Grp Spr Qck ║
  45. ║ 1 440.00000 440.00000 Lo No No No No 1 No No No No ║
  46. ║ 2 442.00000 442.05000 88.5 Hi No No No No 1 No No No No ║
  47. ║ 3 443.00000 443.05000 88.5 Lo No No No No 1 No No No No ║
  48. ║ 4 444.00000 444.05000 110.9 Hi No No No No 1 No No No No ║
  49. ║ 5 450.00000 450.00000 110.9 Lo No No No No 1 No No No No ║
  50. ║ 6 460.00000 460.00000 Hi No No No No 1 No No No No ║
  51. ║ 7 466.00000 466.00000 100.0 100.0 Lo Yes No No No 1 No No No No ║
  52. ║ 8 466.00000 466.00000 100.0 100.0 Lo No No No No 1 Yes Yes Yes No ║
  53. ║ ║
  54. ║ Enter transmit frequency in Mhz ║
  55. ╚══════════════════════════════════════════════════════════════════════════════╝
  56.  
  57. Data format details of the load received with G7 or G4 cmd:
  58. Note each "line" is just a structure of 32 ascii chars, here interpreted as 16 bytes of hex in the radios programming.
  59.  
  60. first line (32 bytes, offset 0x000):
  61. 00040843B1030130372F32362F313300
  62. first half could be capabilites, global settings, serial number,etc.
  63. Second half seems to be programming date, in null-terminated ascii, e.g., 07/25/13
  64.  
  65. remaining channel structures aka "lines" (16 bytes each):
  66. ---------------------------------
  67. example data from channel 1 (offset 0x010):
  68. 1000F6E10000001001130100000000F4
  69.  
  70. 0 1 2 3 4 5 6 7 8 9 A B C D E F < hex byte addr
  71. 10 00F6E1 0000 00 10 011301 0000 0000 F4 < example data chunk
  72.  
  73. mapping of each channel line:
  74. byte location, hex:
  75. 00: 0x10 = ? rx enabled?
  76. 01-03: RX freq, big-endian, formula: ((this - 1) * 0.00625 + 45 MHz = RX_freq_MHz)
  77. 04-05: RX CTCSS tone freq and channel options, little-endian. First nibble is chan opts bit mask; last 3 nibbles are rx ctcss tone. See notes.
  78. 06: type 99 decode options?
  79. 07: 0x10 = ?, tx enabled?
  80. 08-0A: TX freq, big-endian, formula: ((this - 1) * 0.00625 = RX_freq_MHz)
  81. 0B-0C: TX CTCSS tone freq and channel options, little-endian. First nibble is chan opts bit mask; last 3 nibbles are rx ctcss tone. See notes.
  82. 0D: power level? 0x01 = high, 0x00 = low
  83. 0E: ?? (some other options?)
  84. 0F: Checksum byte (2's compliment of adding bytes 00-0E. This value added to sum of bytes 00-0E should be zero.)
  85.  
  86. Notes:
  87. 1. frequencies seem to be based on multiples of 6.25 kHz step.
  88. 2. ctcss freq: divide last 3 nibbles by 10 to get ctcss tone freq e.g: 0x375 = 885 = 88.5 Hz
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement