document everything except InternalDisplay and IoT

This commit is contained in:
Siwat Sirichai 2024-01-01 02:39:51 +07:00
parent 4031b7555a
commit 789afc04dc
8 changed files with 398 additions and 74 deletions

View file

@ -3,6 +3,11 @@
#include <ExpansionCard.hpp>
#include <DigitalOutputCard.hpp>
/**
* @brief The DigitalOutputIoT class is a class interfacing with the Digital Output Card through MQTT.
*
* @warning You should not instantiate this class directly, instead use ESPMegaIO's registerCard function.
*/
class DigitalOutputIoT : public IoTComponent {
public:
DigitalOutputIoT();
@ -15,8 +20,6 @@ class DigitalOutputIoT : public IoTComponent {
void publishDigitalOutputValue(uint8_t pin);
void setDigitalOutputsPublishEnabled(bool enabled);
void handleValueChange(uint8_t pin, bool state, uint16_t value);
void registerChangeCallback(std::function<void(uint8_t, bool, uint16_t)> callback);
void unregisterChangeCallback();
void publishReport();
void subscribe();
void loop();
@ -26,7 +29,6 @@ class DigitalOutputIoT : public IoTComponent {
bool processSetStateMessage(char *topic, char *payload, uint8_t topic_length);
bool processSetValueMessage(char *topic, char *payload, uint8_t topic_length);
bool processRequestStateMessage(char *topic, char *payload, uint8_t topic_length);
std::function<void(uint8_t, bool, uint16_t)> value_change_callback;
DigitalOutputCard *card;
char *state_report_topic;
char *value_report_topic;