#include <ao_exti.h>
#include "ao_ads131a0x.h"
+#define AO_ADS131A0X_SPI_SPEED ao_spi_speed(8000000)
+
#define DEBUG_LOW 1
#define DEBUG_HIGH 2
ao_add_task(&ao_ads131a0x_task, ao_ads131a0x, "ads131a0x");
}
- printf ("ADS131A0X value %8x %8x %8x %8x\n",
+ printf ("ADS131A0X value %8lx %8lx %8lx %8lx\n",
ao_ads131a0x_current.ain[0],
ao_ads131a0x_current.ain[1],
ao_ads131a0x_current.ain[2],
ao_sleep(&ao_log_running);
log_data.type = AO_LOG_FLIGHT;
- log_data.tick = ao_time();
+ log_data.tick = (uint16_t) ao_time();
log_data.u.flight.flight = ao_flight_number;
ao_log_telestatic();
for (;;) {
/* Write samples to EEPROM */
while (ao_log_data_pos != ao_data_head) {
- log_data.tick = ao_data_ring[ao_log_data_pos].tick;
+ log_data.tick = (uint16_t) ao_data_ring[ao_log_data_pos].tick;
log_data.type = AO_LOG_SENSOR;
#if HAS_ADS131A0X
- log_data.u.sensor.pressure = ao_data_ring[ao_log_data_pos].ads131a0x.ain[0];
- log_data.u.sensor.pressure2 = ao_data_ring[ao_log_data_pos].ads131a0x.ain[1];
- log_data.u.sensor.thrust = ao_data_ring[ao_log_data_pos].ads131a0x.ain[2];
- log_data.u.sensor.mass = ao_data_ring[ao_log_data_pos].ads131a0x.ain[3];
+ log_data.u.sensor.pressure = (uint32_t) ao_data_ring[ao_log_data_pos].ads131a0x.ain[0];
+ log_data.u.sensor.pressure2 = (uint32_t) ao_data_ring[ao_log_data_pos].ads131a0x.ain[1];
+ log_data.u.sensor.thrust = (uint32_t) ao_data_ring[ao_log_data_pos].ads131a0x.ain[2];
+ log_data.u.sensor.mass = (uint32_t) ao_data_ring[ao_log_data_pos].ads131a0x.ain[3];
#endif
- log_data.u.sensor.t_low = ao_data_ring[ao_log_data_pos].max6691.sensor[0].t_low;
+#ifdef HAS_MAX6691
+ log_data.u.sensor.t_low = (uint32_t) ao_data_ring[ao_log_data_pos].max6691.sensor[0].t_low;
int i;
for (i = 0; i < 4; i++)
- log_data.u.sensor.t_high[i] = ao_data_ring[ao_log_data_pos].max6691.sensor[i].t_high;
+ log_data.u.sensor.t_high[i] = (uint32_t) ao_data_ring[ao_log_data_pos].max6691.sensor[i].t_high;
+#endif
ao_log_telestatic();
ao_log_data_pos = ao_data_ring_next(ao_log_data_pos);
}
#define AO_ADS131A0X_SPI_CS_PIN 15
#define AO_ADS131A0X_SPI_CS_MASK (1 << AO_ADS131A0X_SPI_CS_PIN)
#define AO_ADS131A0X_SPI_BUS (AO_SPI_1_PE13_PE14_PE15 | AO_SPI_MODE_1)
-#define AO_ADS131A0X_SPI_SPEED AO_SPI_SPEED_8MHz
-
#define AO_ADS131A0X_DRDY_PORT (&stm_gpiob)
#define AO_ADS131A0X_DRDY_PIN 10
};
#define AO_ADC_DUMP(p) \
- printf ("tick: %5u 0: %5d pyro: %5d batt %5d\n", \
+ printf ("tick: %5lu 0: %5d pyro: %5d batt %5d\n", \
(p)->tick, \
(p)->adc.sense[0], \
(p)->adc.pyro, \
#include <ao_exti.h>
#include <ao_radio_cmac_cmd.h>
#include <ao_eeprom.h>
-#include <ao_max6691.h>
-
-static void
-set_logging(void)
-{
- ao_log_running = ao_cmd_hex();
- ao_wakeup(&ao_log_running);
-}
-
-const struct ao_cmds ao_firetwo_cmds[] = {
- { set_logging, "L <0 off, 1 on>\0Log sensors to flash" },
- { 0, NULL },
-};
int
main(void)
ao_dma_init();
ao_exti_init();
- ao_cmd_register(&ao_firetwo_cmds[0]);
ao_cmd_init();
ao_adc_init();
- ao_max6691_init();
-
ao_eeprom_init();
ao_storage_init();
ao_log_init();