EC600U_esp32_iap_uart/EC600U_lvgl/inc/ui/fs_function.h

42 lines
1.3 KiB
C
Raw Normal View History

2024-02-05 17:39:56 +08:00
#include "../../EC600U_lvgl_lib/lvgl/lvgl.h"
#include "time.h"
#include "ql_fs.h"
#define FILE_LETTER 'SD' //盘符
#define CHAR_READ_LENGTH 80 //每次读取文件的长度
struct Device_Data
{
int id; //设备桩点号
int start_hour;
int start_min;
int start_second;
int end_hour;
int end_min;
int end_second;
float max_depth; //设备所处的深度
float max_V; //设备当前喷浆量
float average_I; //设备在两次记录之间的平均电流
int count; //该id出现的次数
int offset; //该id第一次出现时的字节偏移量
};
struct Return_Data {
int id_count;
struct Device_Data dataArr[64]; // 假设数组长度为10
};
#define SAME_ID_MAX_NUM 20
struct ChartData{
float depth[SAME_ID_MAX_NUM];
float V[SAME_ID_MAX_NUM];
float I[SAME_ID_MAX_NUM];
char time[SAME_ID_MAX_NUM][10];
int same_id_count;
};
int8_t findDataFile(uint16_t year,uint8_t month,uint8_t day);
void dealdata(char*buffer,int last_file,int last_i,struct Return_Data *newStruct);
void readDataFromFile(QFILE fd, struct Return_Data * data);
void setDataToTables(struct Return_Data* dataArray,int page,int page_count);
void setDataToChart(QFILE fd, int offset ,int current_id,struct ChartData* chart_data);