diff options
| author | Nathan Perry <np@nathanperry.dev> | 2024-12-12 21:36:41 -0500 |
|---|---|---|
| committer | Nathan Perry <np@nathanperry.dev> | 2024-12-12 21:36:41 -0500 |
| commit | 02dc8a901d9432a8c19eac038afa1863711eb458 (patch) | |
| tree | 6373015d0ff6efb0161e7402fa136da5159a86b9 | |
| parent | 9bb37f327e607a90eb1881563da5139f7ae5276a (diff) | |
basic function works
| -rw-r--r-- | test_fw/include/log.h | 2 | ||||
| -rw-r--r-- | test_fw/src/sd.cpp | 17 |
2 files changed, 15 insertions, 4 deletions
diff --git a/test_fw/include/log.h b/test_fw/include/log.h index 18efa7a..b1aab96 100644 --- a/test_fw/include/log.h +++ b/test_fw/include/log.h @@ -1,6 +1,6 @@ #pragma once -#define USE_RTT 1 +#define USE_RTT 0 #define LOGGER Serial diff --git a/test_fw/src/sd.cpp b/test_fw/src/sd.cpp index 486c347..4a1f3ee 100644 --- a/test_fw/src/sd.cpp +++ b/test_fw/src/sd.cpp @@ -1,11 +1,12 @@ #include <Arduino.h> #include <etl/vector.h> +#include <optional> #include "channel.h" #include "log.h" #include "board.h" -#define ENABLE_SD 0 +#define ENABLE_SD 1 #if ENABLE_SD #define SDCARD_SPI SD_SPI @@ -19,6 +20,8 @@ void setup1() { { delay(5); } + + LOGGER.println("recorder core ready"); } inline const char* name_for_meas(Measurement meas) @@ -62,8 +65,9 @@ inline const char* name_for_meas(Measurement meas) void loop1() { static etl::vector<Message, 128> chunk; + chunk.clear(); - while (chunk.available() > chunk.capacity() / 2) + while (!chunk.full()) { Message read; if (!xQueueReceive(MEAS_CHANNEL, &read, portMAX_DELAY)) @@ -104,7 +108,8 @@ void loop1() { static unsigned int sd_last_connect = 0; static bool sd_connected = false; - if (!digitalRead(CARD_DETECT)) + // Pin is negated + if (digitalRead(CARD_DETECT)) { sd_connected = false; analogWrite(LED_CAPTURING, 0); @@ -120,6 +125,7 @@ void loop1() { LOGGER.println("failed connection to sd card"); sd_connected = false; analogWrite(LED_CAPTURING, 0); + return; } @@ -127,6 +133,11 @@ void loop1() { analogWrite(LED_CAPTURING, 24); } + if (!sd_connected) + { + return; + } + auto data = sd.open("data.csv", O_CREAT | O_WRITE | O_APPEND); if (data.size() == 0) { |
