From 0a3119d426eee9b35acb88b7b4f200a40e7d95f4 Mon Sep 17 00:00:00 2001 From: Patrick Balsiger Date: Tue, 12 Jun 2018 22:04:46 +0200 Subject: [PATCH] externalize example configs --- src/examples/basic/basic.cpp | 9 ++------- src/examples/mesh/MeshApp.h | 2 +- src/examples/mesh/config.h | 23 +++++++++++++++++++++++ src/examples/mesh/mesh.cpp | 23 ++++++++--------------- src/examples/mqttBridge/bridge.cpp | 27 ++------------------------- src/examples/mqttBridge/config.h | 29 +++++++++++++++++++++++++++++ 6 files changed, 65 insertions(+), 48 deletions(-) create mode 100644 src/examples/mesh/config.h create mode 100644 src/examples/mqttBridge/config.h diff --git a/src/examples/basic/basic.cpp b/src/examples/basic/basic.cpp index 8b5f2b1..8e814f1 100644 --- a/src/examples/basic/basic.cpp +++ b/src/examples/basic/basic.cpp @@ -1,21 +1,16 @@ #define _TASK_SLEEP_ON_IDLE_RUN #define _TASK_STD_FUNCTION -#include +#include "TaskScheduler.h" #include "ExampleApp.h" #define SERIAL_BAUD_RATE 115200 #define STARTUP_DELAY 3000 -SprocketConfig config = { STARTUP_DELAY, SERIAL_BAUD_RATE }; - ExampleApp sprocket; void setup() { - - delay(STARTUP_DELAY); - - sprocket.init(config); + sprocket.init({ STARTUP_DELAY, SERIAL_BAUD_RATE }); sprocket.activate(); } diff --git a/src/examples/mesh/MeshApp.h b/src/examples/mesh/MeshApp.h index ecdc851..b7930ed 100644 --- a/src/examples/mesh/MeshApp.h +++ b/src/examples/mesh/MeshApp.h @@ -12,7 +12,7 @@ class MeshApp : public Sprocket { public: Task someTask; MeshNet* net; - + MeshApp(SprocketConfig cfg) : Sprocket(cfg) {} Sprocket* activate(Scheduler* scheduler, Network* network) { net = static_cast(network); net->mesh.onReceive(bind(&MeshApp::receivedCallback,this, _1, _2)); diff --git a/src/examples/mesh/config.h b/src/examples/mesh/config.h new file mode 100644 index 0000000..45de96e --- /dev/null +++ b/src/examples/mesh/config.h @@ -0,0 +1,23 @@ +#ifndef __MESH_CONFIG__ +#define __MESH_CONFIG__ + +// Scheduler config +#define _TASK_SLEEP_ON_IDLE_RUN +#define _TASK_STD_FUNCTION + +// Chip config +#define SERIAL_BAUD_RATE 115200 +#define STARTUP_DELAY 3000 + +// Mesh config +#define STATION_MODE 1 +#define WIFI_CHANNEL 11 +#define MESH_PORT 5555 +#define MESH_PREFIX "whateverYouLike" +#define MESH_PASSWORD "somethingSneaky" +#define STATION_SSID "Th1ngs4P" +#define STATION_PASSWORD "th3r31sn0sp00n" +#define HOSTNAME "mqtt-mesh-bridge" +#define MESH_DEBUG_TYPES ERROR | STARTUP | CONNECTION + +#endif \ No newline at end of file diff --git a/src/examples/mesh/mesh.cpp b/src/examples/mesh/mesh.cpp index 05fa00e..828b07c 100644 --- a/src/examples/mesh/mesh.cpp +++ b/src/examples/mesh/mesh.cpp @@ -1,26 +1,19 @@ -#define _TASK_SLEEP_ON_IDLE_RUN -#define _TASK_STD_FUNCTION - +#include "config.h" #include "Network.h" #include "MeshNet.h" #include "Sprocket.h" #include "MeshApp.h" -#define SERIAL_BAUD_RATE 115200 -#define STARTUP_DELAY 3000 - -SprocketConfig config = { STARTUP_DELAY, SERIAL_BAUD_RATE }; - -MeshNet net; -MeshApp sprocket; +MeshNet net({ + STATION_MODE, WIFI_CHANNEL, + MESH_PORT, MESH_PREFIX, MESH_PASSWORD, + STATION_SSID, STATION_PASSWORD, HOSTNAME, + MESH_DEBUG_TYPES +}); +MeshApp sprocket({ STARTUP_DELAY, SERIAL_BAUD_RATE }); void setup() { - - delay(STARTUP_DELAY); - - sprocket.init(config); sprocket.join(net); - } void loop() { diff --git a/src/examples/mqttBridge/bridge.cpp b/src/examples/mqttBridge/bridge.cpp index 8d6ea77..ed1776a 100644 --- a/src/examples/mqttBridge/bridge.cpp +++ b/src/examples/mqttBridge/bridge.cpp @@ -1,30 +1,7 @@ -#define _TASK_SLEEP_ON_IDLE_RUN -#define _TASK_STD_FUNCTION - -#include +#include "config.h" +#include "MeshNet.h" #include "MqttMeshBridge.h" -// Chip config -#define SERIAL_BAUD_RATE 115200 -#define STARTUP_DELAY 3000 - -// Mesh config -#define STATION_MODE 1 -#define WIFI_CHANNEL 11 -#define MESH_PORT 5555 -#define MESH_PREFIX "whateverYouLike" -#define MESH_PASSWORD "somethingSneaky" -#define STATION_SSID "Th1ngs4P" -#define STATION_PASSWORD "th3r31sn0sp00n" -#define HOSTNAME "mqtt-mesh-bridge" -#define MESH_DEBUG_TYPES ERROR | STARTUP | CONNECTION - -// Bridge config -#define MQTT_CLIENT_NAME HOSTNAME -#define MQTT_BROKER "iot.eclipse.org" -#define MQTT_PORT 1883 -#define MQTT_TOPIC_ROOT "mesh/" - MeshNet net({ STATION_MODE, WIFI_CHANNEL, MESH_PORT, MESH_PREFIX, MESH_PASSWORD, diff --git a/src/examples/mqttBridge/config.h b/src/examples/mqttBridge/config.h new file mode 100644 index 0000000..05ede02 --- /dev/null +++ b/src/examples/mqttBridge/config.h @@ -0,0 +1,29 @@ +#ifndef __BRIDGE_CONFIG__ +#define __BRIDGE_CONFIG__ + +// Scheduler config +#define _TASK_SLEEP_ON_IDLE_RUN +#define _TASK_STD_FUNCTION + +// Chip config +#define SERIAL_BAUD_RATE 115200 +#define STARTUP_DELAY 3000 + +// Mesh config +#define STATION_MODE 1 +#define WIFI_CHANNEL 11 +#define MESH_PORT 5555 +#define MESH_PREFIX "whateverYouLike" +#define MESH_PASSWORD "somethingSneaky" +#define STATION_SSID "Th1ngs4P" +#define STATION_PASSWORD "th3r31sn0sp00n" +#define HOSTNAME "mqtt-mesh-bridge" +#define MESH_DEBUG_TYPES ERROR | STARTUP | CONNECTION + +// Bridge config +#define MQTT_CLIENT_NAME HOSTNAME +#define MQTT_BROKER "iot.eclipse.org" +#define MQTT_PORT 1883 +#define MQTT_TOPIC_ROOT "mesh/" + +#endif \ No newline at end of file