Доработка, исправление предупреждений.

This commit is contained in:
kkira
2026-06-18 20:01:28 +03:00
parent b8e49e2911
commit fbfb86bfae
10 changed files with 139 additions and 1 deletions

View File

@@ -0,0 +1,4 @@
#include "queues.hpp"
QueueHandle_t g_sdQueue;
QueueHandle_t g_canQueue;

View File

@@ -0,0 +1,6 @@
#pragma once
#include "FreeRTOS.h"
#include "queue.h"
extern QueueHandle_t g_sdQueue;
extern QueueHandle_t g_canQueue;

View File

@@ -0,0 +1,9 @@
#pragma once
#include <cstdint>
struct CO2Data
{
uint32_t timestamp;
uint16_t ppm;
};

View File

@@ -0,0 +1,26 @@
#include "co2_task.hpp"
#include "mhz19c.hpp"
#include "queues.hpp"
#include "co2_data.hpp"
extern MHZ19C sensor;
void CO2Task_Run() {
uint16_t ppm;
while (1) {
sensor.requestCO2();
HAL_Delay(100);
if (sensor.readCO2(ppm)) {
CO2Data data;
data.ppm = ppm;
data.timestamp = HAL_GetTick();
xQueueSend(g_sdQueue, &data, 0);
xQueueSend(g_canQueue, &data, 0);
}
osDelay(1000);
}
}

View File

@@ -0,0 +1,3 @@
#pragma once
void CO2Task_RunOnce();

View File

@@ -0,0 +1,17 @@
#include "sd_task.hpp"
#include "sdcard.hpp"
#include "queues.hpp"
extern SDCardLogger sd;
void SDTask_Run() {
CO2Data data;
while (1) {
if (xQueueReceive(g_sdQueue, &data, portMAX_DELAY)) {
char line[64];
sprintf(line, "CO2:%d t:%lu", data.ppm, data.timestamp);
sd.write(line);
}
}
}

View File

@@ -0,0 +1,13 @@
#pragma once
#include "fatfs.h"
#include <string>
class SDCardLogger {
public:
bool init();
bool write(const std::string &line);
private:
FIL file;
FATFS fs;
};