Table of contents
The EEPROM stores the individual configuration for the RFzero programs. You can use the EEPROM just as you like and you may overwrite the RFzero default EEPROM addresses, but, the RFzero programs may have to be reconfigured before they become usable again or stall completely. You can also replace the default EEPROM with a new one for your own programs. Again it is all up to you.
EEPROM map for the programs
The RFzero programs have one common EEPROM map even if not all of the values are used in every program. The RFzero libraries expect to have exclusive rights to EEPROM addresses 0 to 63. Below is the RFzero default EEPROM map. But please note that it is subject to change.
Section | Addr | Bytes | Description | Mnemonic |
---|---|---|---|---|
Hardware | 16 | 4 | Reference start frequency | HW_RefStartFreq |
16-31 | 20 | 1 | Has the ref. start frequency ever been written to the EEPROM | HW_RefStartFreqWritten |
21 | 1 | T1 configuration | HW_T1 |
|
22 | 1 | Display mode | HW_DisplayMode | |
23 | 1 | Attenuator mode | HW_AttenuatorMode |
|
24 | 1 | Warm up before RF | HW_WarmUp |
|
25 | 1 | SX1509 I2C address | HW_SX1509addr | |
26 | 1 | MCP23017 I2C address | HW_MCP23017addr | |
27 | 1 | Rotary encoder type | HW_RotEncType | |
28 | 1 | PCF8574, all variants, I2C address | HW_PCF8574addr | |
29 | 1 | Si5351A current levels | HW_CurLevels | |
GPS | 32 | 1 | Leap seconds | GPS_LeapSeconds |
32-47 | 33 | 1 | Wait for GPS to be valid | GPS_Wait |
34 | 1 | Echo the GPS data to USB | GPS_Echo | |
35 | 1 | Local time hours relative to UTC | GPS_LocalHoursOffset | |
36 | 1 | Local time minutes relative to UTC | GPS_LocalMinutesOffset | |
37 | 1 | Daylight saving time | GPS_LocalDST | |
38 | 1 | Local AM/PM time | GPS_LocalAMPM | |
Filters | 48 | 1 | Filter, 125 kHz | Filter0 |
48-63 | 49 | 1 | Filter, 250 kHz | |
50 | 1 | Filter, 500 kHz | ||
51 | 1 | Filter, 1 MHz | ||
52 | 1 | Filter, 2 MHz | ||
53 | 1 | Filter, 3 MHz | ||
54 | 1 | Filter, 5 MHz | ||
55 | 1 | Filter, 8 MHz | ||
56 | 1 | Filter, 13 MHz | ||
57 | 1 | Filter, 21 MHz | ||
58 | 1 | Filter, 35 MHz | ||
59 | 1 | Filter, 58 MHz | ||
60 | 1 | Filter, 90 MHz | ||
61 | 1 | Filter, 160 MHz | ||
62 | 1 | Filter, 268 MHz | ||
63 | 1 | Filter, above 268 MHz | ||
Common | 64 | 21 | Name | COMMON_Name |
64-127 | 85 | 16 | Call sign | COMMON_Call |
101 | 9 | Locator | COMMON_Locator | |
Beacon | 128 | 8 | Nominal beacon frequency | BEACON_Frequency |
127-255 | 136 | 1 | Multiplier | BEACON_Multiplier |
137 | 1 | Calibration interval | BEACON_CalibInterval | |
138 | 1 | Keying style | BEACON_KeyingStyle | |
139 | 1 | CW speed, dot duration | BEACON_CWSpeed | |
140 | 16 | Call sign | BEACON_Call | |
156 | 16 | MGM message | BEACON_MGMMsg | |
172 | 1 | MGM extra message | BEACON_MGMMsgExtra | |
173 | 1 | MGM message type | BEACON_MGMMsgType | |
192 | 1 | IBP start minute | BEACON_IBPMinute | |
193 | 1 | IBP start second | BEACON_IBPSecond | |
194 | 1 | Power level | BEACON_PowerLevel | |
195 | 1 | SBP mixed mode | BEACON_SBPMode | |
196 | 1 | SBP transmission bit mask | BEACON_SBPMask | |
197 | 8 | SBP frequency | BEACON_SBPFrequency | |
205 | 16 | SBP call sign | BEACON_SBPCall | |
221 | 16 | SBP MGM message | BEACON_SBPMGMMsg | |
237 | 1 | FST4W mode | BEACON_FST4Wmode | |
238 | 1 | FST4 mode | BEACON_FST4mode | |
WSPRTX | 256 | 1 | Transmission mode | WSPRTX_TXMode |
FST4WTX | 257 | 1 | Filter mode | WSPRTX_FilterBits |
256-383 | 258 | 1 | Automatically update the locator | WSPRTX_AutoLocator |
259 | 1 | Send type 3 message | WSPRTX_Type3Message | |
260 | 1 | Number of timeslots used | WSPRTX_Timeslots | |
261 | 1 | Time slot 0 (MSN sequence 1, LSN sequence 0) | WSPRTX_Sequence0 | |
262 | 1 | Time slot 1 (MSN sequence 1, LSN sequence 0) | ||
263 | 1 | Time slot 2 (MSN sequence 1, LSN sequence 0) | ||
264 | 1 | Time slot 3 (MSN sequence 1, LSN sequence 0) | ||
265 | 1 | Time slot 4 (MSN sequence 1, LSN sequence 0) | ||
266 | 1 | Time slot 5 (MSN sequence 1, LSN sequence 0) | ||
267 | 1 | Time slot 6 (MSN sequence 1, LSN sequence 0) | ||
268 | 1 | Time slot 7 (MSN sequence 1, LSN sequence 0) | ||
269 | 1 | Time slot 8 (MSN sequence 1, LSN sequence 0) | ||
270 | 1 | Time slot 9 (MSN sequence 1, LSN sequence 0) | ||
271 | 1 | Time slot 10 (MSN sequence 1, LSN sequence 0) | ||
272 | 1 | Time slot 11 (MSN sequence 1, LSN sequence 0) | ||
273 | 1 | Time slot 12 (MSN sequence 1, LSN sequence 0) | ||
274 | 1 | Time slot 13 (MSN sequence 1, LSN sequence 0) | ||
275 | 1 | Time slot 14 (MSN sequence 1, LSN sequence 0) | ||
276 | 4 | Frequency for index 0 | WSPRTX_Freq0 | |
280 | 4 | Frequency for index 1 | ||
284 | 4 | Frequency for index 2 | ||
288 | 4 | Frequency for index 3 | ||
292 | 4 | Frequency for index 4 | ||
296 | 4 | Frequency for index 5 | ||
300 | 4 | Frequency for index 6 | ||
304 | 4 | Frequency for index 7 | ||
308 | 4 | Frequency for index 8 | ||
312 | 4 | Frequency for index 9 | ||
316 | 4 | Frequency for index 10 | ||
320 | 4 | Frequency for index 11 | ||
324 | 4 | Frequency for index 12 | ||
328 | 4 | Frequency for index 13 | ||
332 | 4 | Frequency for index 14 | ||
336 | 1 | Control bits for index 0 | WSPRTX_Control0 | |
337 | 1 | Control bits for index 1 | ||
338 | 1 | Control bits for index 2 | ||
339 | 1 | Control bits for index 3 | ||
340 | 1 | Control bits for index 4 | ||
341 | 1 | Control bits for index 5 | ||
342 | 1 | Control bits for index 6 | ||
343 | 1 | Control bits for index 7 | ||
344 | 1 | Control bits for index 8 | ||
345 | 1 | Control bits for index 9 | ||
346 | 1 | Control bits for index 10 | ||
347 | 1 | Control bits for index 11 | ||
348 | 1 | Control bits for index 12 | ||
349 | 1 | Control bits for index 13 | ||
350 | 1 | Control bits for index 14 | ||
351 | 1 | Power for index 0 | WSPRTX_Power0 | |
352 | 1 | Power for index 1 | ||
353 | 1 | Power for index 2 | ||
354 | 1 | Power for index 3 | ||
355 | 1 | Power for index 4 | ||
356 | 1 | Power for index 5 | ||
357 | 1 | Power for index 6 | ||
358 | 1 | Power for index 7 | ||
359 | 1 | Power for index 8 | ||
360 | 1 | Power for index 9 | ||
361 | 1 | Power for index 10 | ||
362 | 1 | Power for index 11 | ||
363 | 1 | Power for index 12 | ||
364 | 1 | Power for index 13 | ||
365 | 1 | Power for index 14 | ||
QO100 | 384 | 8 | The fixed f0 frequency | QO100_F0 |
384-432 | 392 | 1 | The f0 multiplication factor | QO100_F0Multi |
393 | 8 | The f1 receiver frequency | QO100_F1RX | |
401 | 1 | The f1 receiver multiplication factor | QO100_F1RXMulti | |
402 | 8 | The f1 transmitter frequency | QO100_F1TX | |
410 | 1 | The f1 transmitter multiplication factor | QO100_F1TXMulti | |
GPSDO | 432 | 8 | The frequency | GPSDO_Freq |
Counter | 464 | 1 | The number of averages | COUNTER_Averages |
464-479 | 465 | 1 | The gate time | COUNTER_GateTime |
Multi LO | 480 | 8 | The freq0 frequency | MULTILO_Freq0 |
488-543 | 488 | 8 | The freq1 frequency | |
496 | 8 | The freq2 frequency | ||
504 | 8 | The freq3 frequency | ||
512 | 8 | The freq4 frequency | ||
520 | 1 | The freq0 multiplier | MULTILO_Multi0 | |
521 | 1 | The freq1 multiplier | ||
522 | 1 | The freq2 multiplier | ||
523 | 1 | The freq3 multiplier | ||
524 | 1 | The freq4 multiplier | ||
Signal generator | 544 | 1 | Power, 100 kHz | SIGGEN_Power0 |
544-697 | 545 | 1 | Power, 300 kHz | |
546 | 1 | Power, 1 MHz | ||
547 | 1 | Power, 3 MHz | ||
548 | 1 | Power, 10 MHz | ||
549 | 1 | Power, 30 MHz | ||
550 | 1 | Power, 100 MHz | ||
551 | 1 | Power, 200 MHz | ||
552 | 1 | Power, 280 MHz | ||
553 | 1 | Power, 290 MHz | ||
554 | 1 | Reserved | ||
555 | 1 | Reserved | ||
556 | 12 | Memory 0 | SIGGEN_Memory0 | |
568 | 12 | Memory 1 | ||
580 | 12 | Memory 2 | ||
592 | 12 | Memory 3 | ||
604 | 12 | Memory 4 | ||
616 | 12 | Memory 5 | ||
628 | 12 | Memory 6 | ||
640 | 12 | Memory 7 | ||
652 | 12 | Memory 8 | ||
664 | 12 | Memory 9 | ||
VFO | 698 | 1 | Filter mode | VFO_FilterMode |
698-899 | 699 | 1 | Output mode | VFO_OutputMode |
700 | 1 | Band in use | VFO_Band | |
701 | 1 | Frequency steps mask | VFO_Steps | |
702 | 1 | CW pitch | VFO_CWpitch | |
703 | 1 | Reserved | ||
704 | 12 | Band data for index 0 | VFO_BandData0 | |
716 | 12 | Band data for index 1 | ||
728 | 12 | Band data for index 2 | ||
740 | 12 | Band data for index 3 | ||
752 | 12 | Band data for index 4 | ||
764 | 12 | Band 0 settings | VFO_Band0 | |
776 | 12 | Band 1 settings | ||
788 | 12 | Band 2 settings | ||
788 | 12 | Band 3 settings | ||
812 | 12 | Band 4 settings | ||
824 | 12 | Memory 0 | VFO_Memory0 | |
836 | 12 | Memory 1 | ||
848 | 12 | Memory 2 | ||
860 | 12 | Memory 3 | ||
872 | 12 | Memory 4 |
All the address mnemonics must have the EEPROM_ prefix added, e.g. EEPROM_HW_RefStartFreq.
RFzero uses little endianness.
Qualified EEPROMs
The RFzero has been tested with the below EEPROMs.
Device | RFzero name | ID | Size [kB] | I2C address | Page size [Bytes] | Pages |
---|---|---|---|---|---|---|
24AA08 | EEPROM_TYPE_24AA08 | 1 | 1 | 0x50 | 16 | 64 |
24FC128 | EEPROM_TYPE_24FC128 | 6 | 16 | 0x50 | 64 | 256 |
24LC08B (default) | EEPROM_TYPE_24LC08B | 1 | 1 | 0x50 | 16 | 64 |
24LC64 | EEPROM_TYPE_24LC64 | 4 | 8 | 0x50 | 32 | 256 |
24LC1025 | EEPROM_TYPE_24LC1025 | 5 | 128 | 0x50 | 128 | 1024 |
AT24C16 | EEPROM_TYPE_AT24C16 | 3 | 2 | 0x50 | 16 | 128 |
AT24C256 | EEPROM_TYPE_AT24C256 | 2 | 32 | 0x50 | 64 | 512 |
M24128 | EEPROM_TYPE_M24128 | 6 | 16 | 0x50 | 64 | 256 |
M24C32 | EEPROM_TYPE_M24C32 | 7 | 4 | 0x50 | 32 | 128 |