sensecraft/include/SDThread.h

39 lines
995 B
C++

#ifndef __SDTHREAD_H__
#define __SDTHREAD_H__
#include "DateTime.h"
#include "RTC_SAMD51.h"
#include "SD/Seeed_SD.h"
#include "SysConfig.h"
#include "utils.h"
#include <CSV_Parser.h>
#include <SPI.h>
#include <Seeed_Arduino_ooFreeRTOS.h>
#include <Seeed_FS.h>
#include <vector>
using namespace cpp_freertos;
class SDThread : public Thread {
public:
SDThread(SysConfig &config);
void SDPushData(std::vector<sensor_data *> d);
protected:
virtual void Run();
uint8_t status();
void saveData(String sensorName, int32_t *sensorData, int len);
void Readdata(String sensorName);
private:
SysConfig &cfg;
private:
std::vector<sensor_data> sd_data;
bool sd_data_ready = true;
RTC_SAMD51 rtc;
File myFile;
bool is_connected = false;
SemaphoreHandle_t wait_sd_data = NULL;
};
#endif // __SDTHREAD_H__