Bump to 1.0.9.3
[fw/altos] / src / core / ao.h
index a541d8acad0f73b822034db9c179063d9f68d05f..94526bc3f87bd8c28283a604cdf50fd380844170 100644 (file)
@@ -974,12 +974,23 @@ ao_spi_init(void);
  * ao_spi_slave.c
  */
 
+uint8_t
+ao_spi_slave_recv(uint8_t *buf, uint8_t len);
+
 void
-ao_spi_slave_debug(void);
+ao_spi_slave_send(uint8_t *buf, uint8_t len);
 
 void
 ao_spi_slave_init(void);
 
+/* This must be defined by the product; it will get called when chip
+ * select goes low, at which point it should use ao_spi_read and
+ * ao_spi_write to deal with the request
+ */
+
+void
+ao_spi_slave(void);
+
 /*
  * ao_telemetry.c
  */
@@ -1330,8 +1341,18 @@ ao_radio_recv(__xdata void *data, uint8_t size) __reentrant;
 void
 ao_radio_recv_abort(void);
 
+/*
+ * Compute the packet length as follows:
+ *
+ * 2000 bps (for a 1kHz tone)
+ * so, for 'ms' milliseconds, we need
+ * 2 * ms bits, or ms / 4 bytes
+ */
+
+#define AO_MS_TO_RDF_LEN(ms) ((ms) > 255 * 4 ? 255 : ((ms) >> 2))
+
 void
-ao_radio_rdf(int ms);
+ao_radio_rdf(uint8_t pkt_len);
 
 void
 ao_radio_rdf_abort(void);
@@ -1790,4 +1811,16 @@ ao_log_single_init(void);
 void
 ao_log_single(void);
 
+/*
+ * ao_pyro_slave.c
+ */
+
+#define AO_TELEPYRO_NUM_ADC    9
+
+#ifndef ao_xmemcpy
+#define ao_xmemcpy(d,s,c) memcpy(d,s,c)
+#define ao_xmemset(d,v,c) memset(d,v,c)
+#define ao_xmemcmp(d,s,c) memcmp(d,s,c)
+#endif
+
 #endif /* _AO_H_ */