aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test_fw/include/log.h2
-rw-r--r--test_fw/src/sd.cpp17
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)
{