knx/src/knx_facade.h

43 lines
1.1 KiB
C
Raw Normal View History

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-03-20 23:56:42 +01:00
class KnxFacade
{
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();
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-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-03-20 23:56:42 +01:00
};
extern KnxFacade knx;