#if HAS_ADC
+#if HAS_ACCEL
#ifndef HAS_ACCEL_REF
#error Please define HAS_ACCEL_REF
#endif
+#else
+#define HAS_ACCEL_REF 0
+#endif
/*
* ao_adc.c
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;
+
+#ifndef HAS_USB
+#error Please define HAS_USB
+#endif
+
+#if HAS_USB
extern __code __at (0x00aa) uint8_t ao_usb_descriptors [];
+#endif
/*
* ao_usb.c
void
ao_usb_flush(void);
+#if HAS_USB
/* USB interrupt handler */
void
ao_usb_isr(void) __interrupt 6;
+#endif
/* Enable the USB controller */
void
ao_match_word(__code char *word);
struct ao_cmds {
- char cmd;
void (*func)(void);
const char *help;
};
#define ao_radio_put() ao_mutex_put(&ao_radio_mutex)
void
-ao_radio_set_telemetry(void);
+ao_radio_set_fixed_pkt(size_t size);
-void
-ao_radio_set_packet(void);
+#define ao_radio_set_telemetry() \
+ ao_radio_set_fixed_pkt(sizeof (struct ao_telemetry))
-void
-ao_radio_set_rdf(void);
+#define ao_radio_set_packet() \
+ ao_radio_set_fixed_pkt(sizeof (struct ao_packet))
void
ao_radio_send(__xdata void *data, uint8_t size) __reentrant;
* each instance of a product
*/
-extern __code __at(0x00aa) uint8_t ao_usb_descriptors [];
extern const char ao_version[];
extern const char ao_manufacturer[];
extern const char ao_product[];