blob: ac5d839088ea279fdb44d9ff056687eaaa54f94d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#ifndef __MODE_H__
#define __MODE_H__
#include "DOGS102.h"
#include "ButtonHandler.h"
#include "GPSPARSER.h"
class Mode {
public:
typedef enum {
single = 0,
sweep
} DataType;
typedef struct {
DataType type;
int32_t index;
bool status;
int32_t lock;
GPSPARSER::longitude gps_longitude;
GPSPARSER::latitude gps_latitude;
int16_t gps_altitude;
struct tm gps_time;
int16_t rssi_up;
int16_t snr_up;
int16_t rssi_down;
int16_t snr_down;
uint8_t data_rate;
uint8_t power;
} DataItem;
Mode(DOGS102* lcd, ButtonHandler* buttons);
~Mode();
virtual bool start() = 0;
protected:
bool deleteDataFile();
bool appendDataFile(const DataItem& data);
DOGS102* _lcd;
ButtonHandler* _buttons;
uint32_t _index;
osThreadId _main_id;
static const char* _file_name;
};
#endif
|