Download this file
#ifndef PROTOCOL_H
#define PROTOCOL_H
#include
#include
#include "ui.h"
#include "heater_controller_master.h"
#include "speaker.h"
#include "Scheduler.h"
class Speaker;
class UI; // forward declaration, needed because UI and Protocol
// refer to each other
class Protocol: public TimedTask {
public:
Protocol(Speaker* speaker);
bool canRun(uint32_t now);
void run(uint32_t now);
void set_ui(UI* ui);
void handle(uint8_t * buffer, uint8_t buffer_len);
void status_request();
void relay_close_request();
void relay_open_request();
void got_ack();
void got_nack();
protected:
void process_status_reply(uint8_t * buffer, uint8_t buffer_len);
private:
Speaker* speaker;
UI* ui;
bool timer_armed;
};
#endif
// vim:ft=arduino