You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
1.6 KiB

#include "settings.h"
#include <Arduino.h>
#include <TinyGPS++.h>
#include <MemoryFree.h>
#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.println(F("[main] Starting"));
Serial.println(freeMemory(), DEC);
GPSLocation gps_data = gps_fetch();
Serial.println(freeMemory(), DEC);
Serial.print(F("[main] Location ")); Serial.print(; Serial.print(F(", ")); Serial.println(gps_data.lng);
uint32_t id = random_get();
Serial.print(F("[main] Id "));
// Activate microSD card breakout board on the SPI bus
Serial.println(freeMemory(), DEC);
store_reading(id, gps_data);
Serial.println(freeMemory(), DEC);
store_debug(gps_data.time, 19 - 1); // Don't print the null byte
Serial.println(freeMemory(), DEC);
// ------------------------------------------------------------------------
// 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() {