* ao_timer.c
*/
+extern volatile __data uint16_t ao_tick_count;
+
/* Our timer runs at 100Hz */
#define AO_HERTZ 100
#define AO_MS_TO_TICKS(ms) ((ms) / (1000 / AO_HERTZ))
uint8_t status;
};
+/* Unfortunately, we've exposed the CC1111 rssi units as the 'usual' method
+ * for reporting RSSI. So, now we use these values everywhere
+ */
+#define AO_RSSI_FROM_RADIO(radio) ((int16_t) ((int8_t) (radio) >> 1) - 74)
+#define AO_RADIO_FROM_RSSI(rssi) (((int8_t) (rssi) + 74) << 1)
+
/*
* ao_radio_recv tacks on rssi and status bytes
*/
* ao_config.c
*/
+#if AO_PYRO_NUM
+#include <ao_pyro.h>
+#endif
+
+#if HAS_FORCE_FREQ
+/*
+ * Set this to force the frequency to 434.550MHz
+ */
+extern __xdata uint8_t ao_force_freq;
+#endif
+
#define AO_CONFIG_MAJOR 1
-#define AO_CONFIG_MINOR 11
+#define AO_CONFIG_MINOR 12
#define AO_AES_LEN 16
uint8_t aes_key[AO_AES_LEN]; /* minor version 9 */
uint32_t frequency; /* minor version 10 */
uint16_t apogee_lockout; /* minor version 11 */
+#if AO_PYRO_NUM
+ struct ao_pyro pyro[AO_PYRO_NUM]; /* minor version 12 */
+#endif
};
#define AO_IGNITE_MODE_DUAL 0
#define AO_CONFIG_MAX_SIZE 128
+void
+_ao_config_edit_start(void);
+
+void
+_ao_config_edit_finish(void);
+
void
ao_config_get(void);