#include "settings.h" #include #include #include #include "random.h" // BAD PRACTICE: For some extremely strange reason, the Arduino IDE doesn't pick up random.cpp like it does our other source files - so we've got to explicitly include it here. If we had control over the build process (which we don't), we've use a Makefile here that handled this better. #include "random.cpp" #include "gps.h" #include "peripheral.h" #include "storage.h" #include "power.h" #include "transmission.h" void setup() { Serial.begin(BAUD_PC); Serial.println(F("[main] Starting")); random_begin(); Serial.println(freeMemory(), DEC); GPSLocation gps_data = gps_fetch(); Serial.println(freeMemory(), DEC); Serial.print(F("[main] Location ")); Serial.print(gps_data.lat); Serial.print(F(", ")); Serial.println(gps_data.lng); uint32_t id = random_get(); Serial.print(F("[main] Id ")); Serial.println(id); // Activate microSD card breakout board on the SPI bus peripheral_register(PIN_SPI_CS_RFM95); peripheral_register(PIN_SPI_CS_SD); peripheral_unsilence(PIN_SPI_CS_SD); Serial.println(freeMemory(), DEC); store_reading(id, gps_data); Serial.println(freeMemory(), DEC); #ifdef SD_DEBUG_ENABLED store_debug(gps_data.time, 19 - 1); // Don't print the null byte Serial.println(freeMemory(), DEC); #endif // ------------------------------------------------------------------------ // Activate the RFM95 peripheral_switch(PIN_SPI_CS_SD, PIN_SPI_CS_RFM95); uint8_t message[] = "testing"; // transmit_init(); // transmit_send(message, 7); power_off(); // Doesn't return } void loop() { }