44#include " configuration.h"
55#include " megahub.h"
66
7+ #include < ArduinoJson.h>
78#include < BLE2902.h>
89#include < BLEDevice.h>
910#include < BLEServer.h>
@@ -46,22 +47,28 @@ struct FragmentBuffer {
4647// BLE Server Klasse
4748class BTRemote : public BLEServerCallbacks , public BLECharacteristicCallbacks {
4849private:
49- BLEServer *pServer ;
50- BLEService *pService ;
51- BLECharacteristic *pRequestChar ;
52- BLECharacteristic *pResponseChar ;
53- BLECharacteristic *pEventChar ;
54- BLECharacteristic *pControlChar ;
50+ BLEServer *pServer_ ;
51+ BLEService *pService_ ;
52+ BLECharacteristic *pRequestChar_ ;
53+ BLECharacteristic *pResponseChar_ ;
54+ BLECharacteristic *pEventChar_ ;
55+ BLECharacteristic *pControlChar_ ;
5556
56- bool deviceConnected;
57- size_t mtu; // Default MTU
57+ SerialLoggingOutput *loggingOutput_;
58+ Configuration *configuration_;
59+ Megahub *hub_;
5860
59- std::map<uint8_t , FragmentBuffer> fragmentBuffers;
60- uint8_t nextMessageId;
61+ TaskHandle_t logforwarderTaskHandle_;
62+
63+ bool deviceConnected_;
64+ size_t mtu_; // Default MTU
65+
66+ std::map<uint8_t , FragmentBuffer> fragmentBuffers_;
67+ uint8_t nextMessageId_;
6168
6269 // Callback-Funktionen
6370 // Callback: (appRequestType, messageId, payload)
64- std::function<void (uint8_t , uint8_t , const std::vector<uint8_t > &)> onRequestCallback ;
71+ std::function<void (uint8_t , uint8_t , const std::vector<uint8_t > &)> onRequestCallback_ ;
6572
6673 // Fragment verarbeiten
6774 void handleFragment (const uint8_t *data, size_t length);
@@ -82,6 +89,26 @@ class BTRemote : public BLEServerCallbacks, public BLECharacteristicCallbacks {
8289 // MTU-Information an Client senden
8390 void sendMTUNotification ();
8491
92+ bool reqStopProgram (const JsonDocument &requestDoc, JsonDocument &responseDoc);
93+ bool reqGetProjectFile (const JsonDocument &requestDoc, JsonDocument &responseDoc);
94+ bool reqPutProjectFile (const JsonDocument &requestDoc, JsonDocument &responseDoc);
95+ bool reqDeleteProject (const JsonDocument &requestDoc, JsonDocument &responseDoc);
96+ bool reqSyntaxCheck (const JsonDocument &requestDoc, JsonDocument &responseDoc);
97+ bool reqRun (const JsonDocument &requestDoc, JsonDocument &responseDoc);
98+ bool reqGetProjects (const JsonDocument &requestDoc, JsonDocument &responseDoc);
99+ bool reqGetAutostart (const JsonDocument &requestDoc, JsonDocument &responseDoc);
100+ bool reqPutAutostart (const JsonDocument &requestDoc, JsonDocument &responseDoc);
101+
102+ // Control Message senden
103+ void sendControlMessage (ControlMessageType type, uint8_t messageId);
104+
105+ // Request Callback registrieren
106+ // Callback-Signatur: void callback(uint8_t appRequestType, uint8_t messageId, const std::vector<uint8_t>& payload)
107+ void onRequest (std::function<void (uint8_t , uint8_t , const std::vector<uint8_t > &)> callback);
108+
109+ // Event senden
110+ bool sendEvent (uint8_t appEventType, const std::vector<uint8_t > &data);
111+
85112public:
86113 BTRemote (FS *fs, Megahub *hub, SerialLoggingOutput *loggingOutput, Configuration *configuragtion);
87114
@@ -95,15 +122,10 @@ class BTRemote : public BLEServerCallbacks, public BLECharacteristicCallbacks {
95122 // Characteristic Callbacks
96123 void onWrite (BLECharacteristic *pCharacteristic) override ;
97124
98- // Event senden
99- bool sendEvent (uint8_t appEventType, const std::vector<uint8_t > &data);
100-
101- // Control Message senden
102- void sendControlMessage (ControlMessageType type, uint8_t messageId);
103-
104- // Request Callback registrieren
105- // Callback-Signatur: void callback(uint8_t appRequestType, uint8_t messageId, const std::vector<uint8_t>& payload)
106- void onRequest (std::function<void (uint8_t , uint8_t , const std::vector<uint8_t > &)> callback);
125+ // Events
126+ void publishLogMessages ();
127+ void publishCommands ();
128+ void publishPortstatus ();
107129
108130 // Timeout-Handler (sollte regelmäßig aufgerufen werden)
109131 void loop ();
@@ -112,4 +134,4 @@ class BTRemote : public BLEServerCallbacks, public BLECharacteristicCallbacks {
112134 size_t getMTU () const ;
113135};
114136
115- #endif // BTREMOTE_H
137+ #endif // BTREMOTE_H
0 commit comments