Better routing
This commit is contained in:
@@ -1,19 +1,28 @@
|
||||
#include "FlightController.hpp"
|
||||
#include "GSON.h"
|
||||
#include "RF/BluetoothDispatcher.hpp"
|
||||
#include <map>
|
||||
|
||||
class FlightDispatcher {
|
||||
/* Deserialize state and update it in FlightController. */
|
||||
/* Deserialize state and update it in FlightController. */
|
||||
public:
|
||||
FlightDispatcher(BluetoothDispatcher *bluetoothDispatcher,
|
||||
FlightController *flightController, bool loop_on_fail = true);
|
||||
~FlightDispatcher();
|
||||
void tick();
|
||||
private:
|
||||
void _onNewDeviceConnected(BTAddress device);
|
||||
void _onNewMessageReceived(char *package);
|
||||
/* Telemetry flow */
|
||||
void _sendTelemetry();
|
||||
|
||||
/* Events handlers */
|
||||
void _onNewDeviceConnected(BTAddress device);
|
||||
void _onNewMessageReceived(char *package);
|
||||
|
||||
/* Requests handlers */
|
||||
void _changeStatus(const DeviceStatus &newStatus);
|
||||
void _pidSettingsOpened();
|
||||
|
||||
/* Compile time settings */
|
||||
static constexpr const char *_tag = "FlightDispatcher";
|
||||
static constexpr const int _telemetryTimeIntervalMS = 200;
|
||||
static constexpr const uint8_t _jsonMaxDepth = 5;
|
||||
@@ -21,4 +30,6 @@ class FlightDispatcher {
|
||||
uint32_t _telemetryTimer = millis();
|
||||
BluetoothDispatcher *_bluetoothDispatcher;
|
||||
FlightController *_flightController;
|
||||
|
||||
std::map<size_t, std::function<void(gson::Entry)>> _routes;
|
||||
};
|
||||
Reference in New Issue
Block a user