Avionics
Core avionics package for CURE flight computers
Loading...
Searching...
No Matches
DataSaver.h
Go to the documentation of this file.
1#ifndef DATA_SAVER_H
2#define DATA_SAVER_H
3
5#include <cstdint>
6
7
14 public:
15 virtual ~IDataSaver() = default;
16
25 virtual int saveDataPoint(const DataPoint& dp, uint8_t name) = 0;
26
35 virtual int saveDataPoint(float data, uint32_t timestamp_ms, uint8_t name) final {
36 return saveDataPoint(DataPoint(timestamp_ms, data), name);
37 }
38
44 virtual bool begin() {
45 return true;
46 }
47
54 virtual void launchDetected(uint32_t launchTimestamp_ms){
55 // Default implementation does nothing
56 (void)launchTimestamp_ms;
57 }
58
59 // default method that does nothing, can be overridden
60 virtual void clearPostLaunchMode(){
61 // default implementation does nothing
62 }
63
64};
65
66
67
68#endif
Timestamped float measurement container.
Definition DataPoint.h:11
Abstract interface for persisting timestamped data points.
Definition DataSaver.h:13
virtual ~IDataSaver()=default
virtual int saveDataPoint(float data, uint32_t timestamp_ms, uint8_t name) final
Convenience overload to construct and save a data point.
Definition DataSaver.h:35
virtual void clearPostLaunchMode()
Definition DataSaver.h:60
virtual void launchDetected(uint32_t launchTimestamp_ms)
Notification that launch has been detected.
Definition DataSaver.h:54
virtual bool begin()
Optional hook for initialization.
Definition DataSaver.h:44
virtual int saveDataPoint(const DataPoint &dp, uint8_t name)=0
Persist a data point with a source identifier.