2023-12-27 20:09:41 +00:00
|
|
|
#pragma once
|
2023-12-28 05:46:39 +00:00
|
|
|
#include <IoTComponent.hpp>
|
2023-12-27 20:09:41 +00:00
|
|
|
#include <AnalogCard.hpp>
|
2023-12-28 05:46:39 +00:00
|
|
|
class AnalogIoT : public IoTComponent {
|
2023-12-27 20:09:41 +00:00
|
|
|
public:
|
2023-12-28 06:14:18 +00:00
|
|
|
AnalogIoT();
|
|
|
|
~AnalogIoT();
|
2023-12-27 20:09:41 +00:00
|
|
|
bool begin(AnalogCard *card);
|
|
|
|
void handleMqttMessage(char *topic, char *payload);
|
|
|
|
void publishADCs();
|
|
|
|
void setADCsPublishInterval(uint32_t interval);
|
|
|
|
void setADCsPublishEnabled(bool enabled);
|
2023-12-28 06:14:18 +00:00
|
|
|
void publishReport();
|
|
|
|
uint8_t getType();
|
2023-12-27 20:09:41 +00:00
|
|
|
private:
|
|
|
|
char *adc_topic;
|
|
|
|
char *dac_topic;
|
|
|
|
uint32_t adc_publish_interval = 1000;
|
|
|
|
uint32_t last_adc_publish = 0;
|
|
|
|
bool adc_publish_enabled = false;
|
|
|
|
AnalogCard *card;
|
|
|
|
};
|