46 lines
1.2 KiB
C++
46 lines
1.2 KiB
C++
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
#pragma once
|
|
#include "Parser.h"
|
|
|
|
#define DEV_INFO_SIZE 20
|
|
|
|
class DevInfoParser : public Parser {
|
|
public:
|
|
DevInfoParser();
|
|
void clearBufferAll();
|
|
void appendFragmentAll(const uint8_t offset, const uint8_t* payload, const uint8_t len);
|
|
|
|
void clearBufferSimple();
|
|
void appendFragmentSimple(const uint8_t offset, const uint8_t* payload, const uint8_t len);
|
|
|
|
uint32_t getLastUpdateAll() const;
|
|
void setLastUpdateAll(const uint32_t lastUpdate);
|
|
|
|
uint32_t getLastUpdateSimple() const;
|
|
void setLastUpdateSimple(const uint32_t lastUpdate);
|
|
|
|
uint16_t getFwBuildVersion() const;
|
|
time_t getFwBuildDateTime() const;
|
|
uint16_t getFwBootloaderVersion() const;
|
|
|
|
uint32_t getHwPartNumber() const;
|
|
String getHwVersion() const;
|
|
|
|
uint16_t getMaxPower() const;
|
|
String getHwModelName() const;
|
|
|
|
bool containsValidData() const;
|
|
|
|
private:
|
|
static time_t timegm(const struct tm* tm);
|
|
uint8_t getDevIdx() const;
|
|
|
|
uint32_t _lastUpdateAll = 0;
|
|
uint32_t _lastUpdateSimple = 0;
|
|
|
|
uint8_t _payloadDevInfoAll[DEV_INFO_SIZE] = {};
|
|
uint8_t _devInfoAllLength = 0;
|
|
|
|
uint8_t _payloadDevInfoSimple[DEV_INFO_SIZE] = {};
|
|
uint8_t _devInfoSimpleLength = 0;
|
|
}; |