2018-03-20 23:56:42 +01:00
|
|
|
#pragma once
|
2018-04-09 23:58:35 +02:00
|
|
|
#include <Ticker.h>
|
2018-03-20 23:56:42 +01:00
|
|
|
#include "esp_platform.h"
|
2018-04-09 22:46:21 +02:00
|
|
|
#include "knx/bau57B0.h"
|
2018-03-20 23:56:42 +01:00
|
|
|
|
2018-04-09 23:58:35 +02:00
|
|
|
class RunningState;
|
|
|
|
|
2018-09-04 21:12:50 +02:00
|
|
|
typedef uint8_t* (*saveRestoreCallback)(uint8_t* buffer);
|
|
|
|
|
|
|
|
class KnxFacade : private SaveRestore
|
2018-03-20 23:56:42 +01:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
KnxFacade();
|
|
|
|
bool enabled();
|
|
|
|
void enabled(bool value);
|
|
|
|
bool progMode();
|
|
|
|
void progMode(bool value);
|
|
|
|
bool configured();
|
2018-04-09 23:58:35 +02:00
|
|
|
uint32_t ledPin();
|
|
|
|
void ledPin(uint32_t value);
|
|
|
|
uint32_t buttonPin();
|
|
|
|
void buttonPin(uint32_t value);
|
2018-03-20 23:56:42 +01:00
|
|
|
void readMemory();
|
2018-09-15 00:22:30 +02:00
|
|
|
void writeMemory();
|
2018-03-20 23:56:42 +01:00
|
|
|
void loop();
|
2018-04-09 23:58:35 +02:00
|
|
|
void knxLoop();
|
2018-03-20 23:56:42 +01:00
|
|
|
void registerGroupObjects(GroupObject* groupObjects, uint16_t count);
|
|
|
|
void manufacturerId(uint16_t value);
|
|
|
|
void bauNumber(uint32_t value);
|
|
|
|
void orderNumber(const char* value);
|
|
|
|
void hardwareType(uint8_t* value);
|
|
|
|
void version(uint16_t value);
|
2018-04-09 23:58:35 +02:00
|
|
|
void start();
|
2018-09-04 21:12:50 +02:00
|
|
|
void setSaveCallback(saveRestoreCallback func);
|
|
|
|
void setRestoreCallback(saveRestoreCallback func);
|
2018-03-20 23:56:42 +01:00
|
|
|
uint8_t* paramData(uint32_t addr);
|
|
|
|
uint8_t paramByte(uint32_t addr);
|
|
|
|
uint16_t paramWord(uint32_t addr);
|
|
|
|
uint32_t paramInt(uint32_t addr);
|
|
|
|
private:
|
|
|
|
EspPlatform _platform;
|
|
|
|
Bau57B0 _bau;
|
2018-04-09 23:58:35 +02:00
|
|
|
uint32_t _ledPin = 16;
|
|
|
|
uint32_t _buttonPin = 0;
|
|
|
|
Ticker _ticker;
|
2018-09-04 21:12:50 +02:00
|
|
|
saveRestoreCallback _saveCallback = 0;
|
|
|
|
saveRestoreCallback _restoreCallback = 0;
|
|
|
|
|
|
|
|
uint8_t* save(uint8_t* buffer);
|
|
|
|
uint8_t* restore(uint8_t* buffer);
|
2018-03-20 23:56:42 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
extern KnxFacade knx;
|