summaryrefslogtreecommitdiff
path: root/src/ao.h
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2010-08-23 22:03:36 -0700
committerKeith Packard <keithp@keithp.com>2010-08-23 22:03:36 -0700
commit56b906f535ac2f86bcab71addbbcd376d74f6a73 (patch)
tree09b5f0aea253752da6ea87df0fabf335c11aa31a /src/ao.h
parent4c0c099716197ef7539be0cf55bbb164f6804958 (diff)
altos: Place rom config variables in fixed location
The device serial number and radio calibration values are stored in flash, mostly so that TeleDongle gets them saved. Placing them in well-known locations (starting at 0xa0) makes it possible to find the previous configuration and to re-write it easily, without requiring the .map file. altosui doesn't have the .map file parsing code, so it relies upon this new technique. As a benefit, it reads the old values from the device before reprogramming it. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/ao.h')
-rw-r--r--src/ao.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/ao.h b/src/ao.h
index 5f2b8339..9c418db2 100644
--- a/src/ao.h
+++ b/src/ao.h
@@ -290,6 +290,17 @@ void
ao_led_init(uint8_t enable);
/*
+ * ao_romconfig.c
+ */
+
+#define AO_ROMCONFIG_VERSION 1
+
+extern __code __at (0x00a0) uint16_t ao_romconfig_version;
+extern __code __at (0x00a2) uint16_t ao_romconfig_check;
+extern __code __at (0x00a4) uint16_t ao_serial_number;
+extern __code __at (0x00a6) uint32_t ao_radio_cal;
+
+/*
* ao_usb.c
*/
@@ -998,7 +1009,6 @@ ao_rssi_init(uint8_t rssi_led);
*/
extern const uint8_t ao_usb_descriptors [];
-extern const uint16_t ao_serial_number;
extern const char ao_version[];
extern const char ao_manufacturer[];
extern const char ao_product[];