Advanced, XL Family

Memory

The CDR XL family radios have three kinds of memory:

  • Flash, non-volatile memory used to store the firmware and encryption table
  • EEPROM, non-volatile memory used to store settings and configuration
  • RAM, volatile memory used to store the radio's current settings and data

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.

Memory Map

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.

RAM

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.

EEPROM

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

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)