altos/cc1200: Adjust bit-sync configuration
[fw/altos] / src / drivers / ao_science_slave.c
index e902318fe7349929f96ecbaf0d4c20c0eb9f65b3..996e98d9a6e5f6832023a2975a9979e50817fa8e 100644 (file)
@@ -17,6 +17,8 @@
 
 #include "ao.h"
 #include "ao_product.h"
+#include "ao_flight.h"
+#include "ao_companion.h"
 
 struct ao_companion_command    ao_companion_command;
 
@@ -29,19 +31,19 @@ static const struct ao_companion_setup      ao_telescience_setup = {
 
 void ao_spi_slave(void)
 {
-       if (!ao_spi_read((uint8_t *) &ao_companion_command,
-                        sizeof (ao_companion_command)))
+       if (!ao_spi_slave_recv((uint8_t *) &ao_companion_command,
+                              sizeof (ao_companion_command)))
                return;
 
        /* Figure out the outbound data */
        switch (ao_companion_command.command) {
        case AO_COMPANION_SETUP:
-               ao_spi_write((uint8_t *) &ao_telescience_setup,
-                            sizeof (ao_telescience_setup));
+               ao_spi_slave_send((uint8_t *) &ao_telescience_setup,
+                                 sizeof (ao_telescience_setup));
                break;
        case AO_COMPANION_FETCH:
-               ao_spi_write((uint8_t *) &ao_adc_ring[ao_adc_ring_prev(ao_adc_head)].adc,
-                            AO_LOG_TELESCIENCE_NUM_ADC * sizeof (uint16_t));
+               ao_spi_slave_send((uint8_t *) &ao_data_ring[ao_data_ring_prev(ao_data_head)].adc,
+                                 AO_LOG_TELESCIENCE_NUM_ADC * sizeof (uint16_t));
                break;
        case AO_COMPANION_NOTIFY:
                break;
@@ -49,6 +51,7 @@ void ao_spi_slave(void)
                return;
        }
 
+#if HAS_LOG
        ao_log_single_write_data.telescience.tm_tick = ao_companion_command.tick;
        if (ao_log_single_write_data.telescience.tm_state != ao_companion_command.flight_state) {
                ao_log_single_write_data.telescience.tm_state = ao_companion_command.flight_state;
@@ -59,4 +62,5 @@ void ao_spi_slave(void)
                                ao_log_single_stop();
                }
        }
+#endif
 }