1 #pragma once
2 
3 #include "ASyncSerial.h"
4 #include "KMTronicBase.h"
5 
6 class KMTronic433 : public AsyncSerial, public KMTronicBase
7 {
8 public:
9 	KMTronic433(const int ID, const std::string& devname);
10 	~KMTronic433();
11 private:
12 	bool StartHardware() override;
13 	bool StopHardware() override;
14 
15 	void GetRelayStates();
16 	int m_iQueryState;
17 	bool m_bHaveReceived;
18 
19 	std::shared_ptr<std::thread> m_thread;
20 	int m_retrycntr;
21 	void Do_Work();
22 	bool OpenSerialDevice();
23 
24 	/**
25 	* Read callback, stores data in the buffer
26 	*/
27 	void readCallback(const char *data, size_t len);
28 	bool WriteInt(const unsigned char *data, const size_t len, const bool bWaitForReturn) override;
29 };
30 
31