The CDR XL family radios have three kinds of memory:
It is important to understand the difference between the device configuration stored in EEPROM and the device configuration stored in RAM. Either version may be changed with the appropriate command, but it is the RAM version that actually affects the device operation. The device configuration in EEPROM is copied into RAM at power-up or on software reset.
So to change the device's current operation for now only, you should modify the RAM configuration. To change how the device operates now and in the future, you should change the EEPROM version and then send a RestartRadio command to the radio to recopy the EEPROM version into RAM. EEPROM has a limited life cycle for writes and should not be reprogrammed over and over again on a daily basis.
The following memory maps track the contents of the radio's RAM, EEPROM, and Flash memory, and the addresses you should use to access them.
The CDR XL radio family's RAM contains variables, queues, and parameters that control the radio's current operation. Changes to parameters in RAM will take affect immediately, but these changes will be lost the next time the radio is restarted or power is lost.
Field | Addr | Description |
NextSeqNum | $0060 | Next sequence number (transparent mode) |
Reserved* | $0061 – $0062 | Reserved for internal use |
UserFlags1 | $0063 | General options |
UserFlags2 | $0064 | Serial port configuration |
SourceLoc | $0065 – $0066 | Location code for radio |
DestLoc | $0067 – $0068 | Location code for destination while in transparent mode |
Groups | $0069 – $006A | Groups to connect in Relay mode |
Attempts | $006B | Transmission attempts on AckData packets |
PreRepeats | $006C – $0071 | Preamble repeats |
NumChans* | $0072 | Number of channels |
HoldOff | $0073 | Post-transmit hold-off timeout |
Loyalty | $0074 | Loyalty timeout |
Stalemate | $0075 – $0076 | Stalemate detection timeout |
QuietTime | $0077 | Quiet time after transmit |
AckTimeout | $0078 | Acknowledgement timeout |
BackOff | $0079 | Retry max back-off |
OnChanTime* | $007A – $007B | Maximum time per channel |
MissSeq | $007C | Sequence timeout |
MinCTSDis | $007D | Minimum CTS de-assert time |
CalOffset* | $007E | ADC calibration offset |
Reserved* | $007F – $085F | Reserved for internal use |
* These memory locations should not be modified by user code. Please use the configuration utility to change these settings.
The CDR XL radio family's EEPROM contains various parameters and some memory space that your application can use. Changes to the user-modifiable parameters (those not marked with an *) will take effect the next time the radio is restarted. Unlike RAM, the EEPROM contents are not lost when power is removed.
Field | Addr | Description |
ChanFreqs* | $0000 – $00FF | Channel frequencies |
JumpTable* | $0100 – $017F | Jump table channel list |
JumpSeed* | $0180 | Jump table seed |
UpdateTS* | $0181 – $0184 | Last update timestamp |
CalTS* | $0185 – $0188 | Last calibration timestamp |
CalInit* | $0189 – $018B | Calibration initials |
CryptSig* | $018C – $018F | Encryption key signature |
CntryCode* | $0190 | Country code |
Reserved* | $0191 – $01FF | Reserved for internal use |
SerNum* | $0200 – $0203 | Serial number |
BaudDiv | $0204 – $0205 | Baud rate divisor |
UserFlags1 | $0206 | General options |
UserFlags2 | $0207 | Serial port configuration |
SourceLoc | $0208 – $0209 | Location code for radio |
DestLoc | $020A – $020B | Location code for destination while in transparent mode |
Groups | $020C – $020D | Groups to connect in Relay mode |
Attempts | $020E | Transmission attempts on AckData packets |
PreRepeats | $020F – $0214 | Preamble repeats |
NumChans* | $0215 | Number of channels |
HoldOff | $0216 | Post-transmit hold-off timeout |
Loyalty | $0217 | Loyalty timeout |
Stalemate | $0218 – $0219 | Stalemate detection timeout |
QuietTime | $021A | Quiet time after transmit |
AckTimeout | $021B | Acknowledgement timeout |
BackOff | $021C | Retry max back-off |
OnChanTime* | $021D – $021E | Maximum time per channel |
MissSeq | $021F | Sequence timeout |
MinCTSDis | $0220 | Minimum CTS de-assert time |
CalOffset* | $0221 | ADC calibration offset |
Reserved* | $0222 – $027F | Reserved for internal use |
UserSpace | $0280 – $03FF | Available for user use |
* These memory locations should not be modified by user code. Please use the configuration utility to change these settings.
Flash memory contains the firmware code and the CDR XL radio family's encryption key. These spaces should not be changed by user code. Please use the configuration utility to update the radio's Flash.
Blocks | Region |
$00 – $B5 | Application code |
$B6 – $D7 | Encryption key |
$D8 – $E7 | Flash update high-level (main) |
$E8 – $F7 | Flash update high-level (alt) |
$F8 – $FB | Flash update low-level (main) |
$FC – $FF | Flash update low-level (alt) |