diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 index 29349c7..250fb19 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ -.pioenvs -.piolibdeps +.pio .vscode/.browse.c_cpp.db* .vscode/c_cpp_properties.json .vscode/launch.json diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml old mode 100644 new mode 100755 diff --git a/.travis.yml b/.travis.yml old mode 100644 new mode 100755 diff --git a/.vscode/extensions.json b/.vscode/extensions.json old mode 100644 new mode 100755 index 8281e64..272828b --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,7 +1,7 @@ -{ - // See http://go.microsoft.com/fwlink/?LinkId=827846 - // for the documentation about the extensions.json format - "recommendations": [ - "platformio.platformio-ide" - ] +{ + // See http://go.microsoft.com/fwlink/?LinkId=827846 + // for the documentation about the extensions.json format + "recommendations": [ + "platformio.platformio-ide" + ] } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json old mode 100644 new mode 100755 diff --git a/data/example.config.json b/data/example.config.json old mode 100644 new mode 100755 diff --git a/data/mqttConfig.json b/data/mqttConfig.json old mode 100644 new mode 100755 index 02a0388..25827b0 --- a/data/mqttConfig.json +++ b/data/mqttConfig.json @@ -1,6 +1,6 @@ { "mqttClientName" : "bb1", - "mqttBrokerHost" : "192.168.1.2", + "mqttBrokerHost" : "192.168.1.134", "mqttBrokerPort" : 1883, "mqttRootTopic" : "wirelos/bb1" } \ No newline at end of file diff --git a/data/www/favicon.png b/data/www/favicon.png old mode 100644 new mode 100755 diff --git a/data/www/gradients.json b/data/www/gradients.json old mode 100644 new mode 100755 diff --git a/data/www/index.html b/data/www/index.html old mode 100644 new mode 100755 diff --git a/data/www/script.js b/data/www/script.js old mode 100644 new mode 100755 diff --git a/data/www/styles.css b/data/www/styles.css old mode 100644 new mode 100755 diff --git a/data/www/test-controls.html b/data/www/test-controls.html old mode 100644 new mode 100755 diff --git a/include/README b/include/README old mode 100644 new mode 100755 diff --git a/lib/README b/lib/README old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/ESP32/examples/AnalogOut/LEDCSoftwareFade/LEDCSoftwareFade.ino b/lib/esp32_lora_wifi/ESP32/examples/AnalogOut/LEDCSoftwareFade/LEDCSoftwareFade.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/ESP32/examples/AnalogOut/SigmaDelta/SigmaDelta.ino b/lib/esp32_lora_wifi/ESP32/examples/AnalogOut/SigmaDelta/SigmaDelta.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/ESP32/examples/Timer/RepeatTimer/RepeatTimer.ino b/lib/esp32_lora_wifi/ESP32/examples/Timer/RepeatTimer/RepeatTimer.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/ESP32/examples/Touch/TouchInterrupt/TouchInterrupt.ino b/lib/esp32_lora_wifi/ESP32/examples/Touch/TouchInterrupt/TouchInterrupt.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/ESP32/examples/Touch/TouchRead/TouchRead.ino b/lib/esp32_lora_wifi/ESP32/examples/Touch/TouchRead/TouchRead.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/ESP32/library.properties b/lib/esp32_lora_wifi/ESP32/library.properties old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/ESP32/src/dummy.h b/lib/esp32_lora_wifi/ESP32/src/dummy.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/LoRa/.travis.yml b/lib/esp32_lora_wifi/LoRa/.travis.yml old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/LoRa/API.md b/lib/esp32_lora_wifi/LoRa/API.md old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/LoRa/LICENSE b/lib/esp32_lora_wifi/LoRa/LICENSE old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/LoRa/README.md b/lib/esp32_lora_wifi/LoRa/README.md old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/LoRa/examples/LoRaReceiver-OLED/LoRaReceiver-OLED.ino b/lib/esp32_lora_wifi/LoRa/examples/LoRaReceiver-OLED/LoRaReceiver-OLED.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/LoRa/examples/LoRaReceiver/LoRaReceiver.ino b/lib/esp32_lora_wifi/LoRa/examples/LoRaReceiver/LoRaReceiver.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/LoRa/examples/LoRaReceiverCallback/LoRaReceiverCallback.ino b/lib/esp32_lora_wifi/LoRa/examples/LoRaReceiverCallback/LoRaReceiverCallback.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/LoRa/examples/LoRaSender-OLED/LoRaSender-OLED.ino b/lib/esp32_lora_wifi/LoRa/examples/LoRaSender-OLED/LoRaSender-OLED.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/LoRa/examples/LoRaSender/LoRaSender.ino b/lib/esp32_lora_wifi/LoRa/examples/LoRaSender/LoRaSender.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/LoRa/keywords.txt b/lib/esp32_lora_wifi/LoRa/keywords.txt old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/LoRa/library.properties b/lib/esp32_lora_wifi/LoRa/library.properties old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/LoRa/src/LoRa.cpp b/lib/esp32_lora_wifi/LoRa/src/LoRa.cpp old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/LoRa/src/LoRa.h b/lib/esp32_lora_wifi/LoRa/src/LoRa.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/Preferences/examples/StartCounter/StartCounter.ino b/lib/esp32_lora_wifi/Preferences/examples/StartCounter/StartCounter.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/Preferences/keywords.txt b/lib/esp32_lora_wifi/Preferences/keywords.txt old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/Preferences/library.properties b/lib/esp32_lora_wifi/Preferences/library.properties old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/Preferences/src/Preferences.cpp b/lib/esp32_lora_wifi/Preferences/src/Preferences.cpp old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/Preferences/src/Preferences.h b/lib/esp32_lora_wifi/Preferences/src/Preferences.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/SPI/keywords.txt b/lib/esp32_lora_wifi/SPI/keywords.txt old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/SPI/library.properties b/lib/esp32_lora_wifi/SPI/library.properties old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/SPI/src/SPI.cpp b/lib/esp32_lora_wifi/SPI/src/SPI.cpp old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/SPI/src/SPI.h b/lib/esp32_lora_wifi/SPI/src/SPI.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/examples/SimpleWiFiServer/SimpleWiFiServer.ino b/lib/esp32_lora_wifi/WiFi/examples/SimpleWiFiServer/SimpleWiFiServer.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/examples/WiFiClient/WiFiClient.ino b/lib/esp32_lora_wifi/WiFi/examples/WiFiClient/WiFiClient.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/examples/WiFiClientBasic/WiFiClientBasic.ino b/lib/esp32_lora_wifi/WiFi/examples/WiFiClientBasic/WiFiClientBasic.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/examples/WiFiClientEvents/WiFiClientEvents.ino b/lib/esp32_lora_wifi/WiFi/examples/WiFiClientEvents/WiFiClientEvents.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/examples/WiFiIPv6/WiFiIPv6.ino b/lib/esp32_lora_wifi/WiFi/examples/WiFiIPv6/WiFiIPv6.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/examples/WiFiMulti/WiFiMulti.ino b/lib/esp32_lora_wifi/WiFi/examples/WiFiMulti/WiFiMulti.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/examples/WiFiScan/WiFiScan.ino b/lib/esp32_lora_wifi/WiFi/examples/WiFiScan/WiFiScan.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/examples/WiFiScan/images.h b/lib/esp32_lora_wifi/WiFi/examples/WiFiScan/images.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/examples/WiFiSmartConfig/WiFiSmartConfig.ino b/lib/esp32_lora_wifi/WiFi/examples/WiFiSmartConfig/WiFiSmartConfig.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/examples/WiFiUDPClient/WiFiUDPClient.ino b/lib/esp32_lora_wifi/WiFi/examples/WiFiUDPClient/WiFiUDPClient.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/examples/WiFiUDPClient/udp_server.py b/lib/esp32_lora_wifi/WiFi/examples/WiFiUDPClient/udp_server.py old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/examples/WiFiUDPClient/udp_server.rb b/lib/esp32_lora_wifi/WiFi/examples/WiFiUDPClient/udp_server.rb old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/keywords.txt b/lib/esp32_lora_wifi/WiFi/keywords.txt old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/library.properties b/lib/esp32_lora_wifi/WiFi/library.properties old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFi.cpp b/lib/esp32_lora_wifi/WiFi/src/WiFi.cpp old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFi.h b/lib/esp32_lora_wifi/WiFi/src/WiFi.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiAP.cpp b/lib/esp32_lora_wifi/WiFi/src/WiFiAP.cpp old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiAP.h b/lib/esp32_lora_wifi/WiFi/src/WiFiAP.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiClient.cpp b/lib/esp32_lora_wifi/WiFi/src/WiFiClient.cpp old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiClient.h b/lib/esp32_lora_wifi/WiFi/src/WiFiClient.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiGeneric.cpp b/lib/esp32_lora_wifi/WiFi/src/WiFiGeneric.cpp old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiGeneric.h b/lib/esp32_lora_wifi/WiFi/src/WiFiGeneric.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiMulti.cpp b/lib/esp32_lora_wifi/WiFi/src/WiFiMulti.cpp old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiMulti.h b/lib/esp32_lora_wifi/WiFi/src/WiFiMulti.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiSTA.cpp b/lib/esp32_lora_wifi/WiFi/src/WiFiSTA.cpp old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiSTA.h b/lib/esp32_lora_wifi/WiFi/src/WiFiSTA.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiScan.cpp b/lib/esp32_lora_wifi/WiFi/src/WiFiScan.cpp old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiScan.h b/lib/esp32_lora_wifi/WiFi/src/WiFiScan.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiServer.cpp b/lib/esp32_lora_wifi/WiFi/src/WiFiServer.cpp old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiServer.h b/lib/esp32_lora_wifi/WiFi/src/WiFiServer.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiType.h b/lib/esp32_lora_wifi/WiFi/src/WiFiType.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiUdp.cpp b/lib/esp32_lora_wifi/WiFi/src/WiFiUdp.cpp old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFi/src/WiFiUdp.h b/lib/esp32_lora_wifi/WiFi/src/WiFiUdp.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFiClientSecure/examples/WiFiClientSecure/WiFiClientSecure.ino b/lib/esp32_lora_wifi/WiFiClientSecure/examples/WiFiClientSecure/WiFiClientSecure.ino old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFiClientSecure/keywords.txt b/lib/esp32_lora_wifi/WiFiClientSecure/keywords.txt old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFiClientSecure/library.properties b/lib/esp32_lora_wifi/WiFiClientSecure/library.properties old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFiClientSecure/src/WiFiClientSecure.cpp b/lib/esp32_lora_wifi/WiFiClientSecure/src/WiFiClientSecure.cpp old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFiClientSecure/src/WiFiClientSecure.h b/lib/esp32_lora_wifi/WiFiClientSecure/src/WiFiClientSecure.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFiClientSecure/src/ssl_client.cpp b/lib/esp32_lora_wifi/WiFiClientSecure/src/ssl_client.cpp old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/WiFiClientSecure/src/ssl_client.h b/lib/esp32_lora_wifi/WiFiClientSecure/src/ssl_client.h old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/Wire/keywords.txt b/lib/esp32_lora_wifi/Wire/keywords.txt old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/Wire/library.properties b/lib/esp32_lora_wifi/Wire/library.properties old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/Wire/src/Wire.cpp b/lib/esp32_lora_wifi/Wire/src/Wire.cpp old mode 100644 new mode 100755 diff --git a/lib/esp32_lora_wifi/Wire/src/Wire.h b/lib/esp32_lora_wifi/Wire/src/Wire.h old mode 100644 new mode 100755 diff --git a/platformio.ini b/platformio.ini old mode 100644 new mode 100755 index 4adae91..091b652 --- a/platformio.ini +++ b/platformio.ini @@ -8,7 +8,7 @@ lib_deps = Hash TaskScheduler SPIFFS - ArduinoJson + ArduinoJson@5.13.4 Ai Esp32 Rotary Encoder ESP8266_SSD1306 ESPmDNS @@ -20,11 +20,11 @@ lib_deps = PubSubClient Update https://gitlab.com/wirelos/sprocket-lib.git#develop - https://gitlab.com/wirelos/sprocket-network-wifi.git + https://gitlab.com/wirelos/sprocket-network-wifi.git#next https://gitlab.com/wirelos/sprocket-plugin-gpio.git https://gitlab.com/wirelos/sprocket-plugin-display.git - https://gitlab.com/wirelos/sprocket-plugin-web.git - https://gitlab.com/wirelos/sprocket-plugin-mqtt.git + https://gitlab.com/wirelos/sprocket-plugin-web.git#next + https://gitlab.com/wirelos/sprocket-plugin-mqtt.git#next [env:default] platform = ${common.platform} diff --git a/src/RotaryPlugin.cpp b/src/RotaryPlugin.cpp new file mode 100644 index 0000000..1d9e091 --- /dev/null +++ b/src/RotaryPlugin.cpp @@ -0,0 +1,38 @@ +#include "RotaryPlugin.h" + +RotaryPlugin::RotaryPlugin(RotaryConfig cfg) +{ + config = cfg; + rotaryEncoder = new AiEsp32RotaryEncoder(config.pinA, config.pinB, config.pinButton, config.pinVcc); + rotaryEncoder->begin(); + rotaryEncoder->setBoundaries(config.lowerBound, config.upperBound, config.circulateValues); +} +void RotaryPlugin::activate(Scheduler *userScheduler) +{ + + // add update task + inputTask.set(TASK_MILLISECOND * config.updateInterval, TASK_FOREVER, std::bind(&RotaryPlugin::checkInput, this)); + userScheduler->addTask(inputTask); + inputTask.enable(); + + // add dummy subscription + subscribe(config.topic, [](String msg){}); + subscribe(String(config.topic) + "/btn", [](String msg){}); + + PRINT_MSG(Serial, "PLUGIN", "RotaryPlugin activated"); +} + +void RotaryPlugin::checkInput() +{ + rotaryEncoder->enable(); + if (rotaryEncoder->encoderChanged()) + { + int encReading = rotaryEncoder->readEncoder(); + publish(config.topic, String(encReading)); + } + ButtonState newBtnState = rotaryEncoder->currentButtonState(); + if(newBtnState != btnState){ + btnState = newBtnState; + publish(String(config.topic) + String("/btn"), String(btnState)); + } +} diff --git a/src/RotaryPlugin.h b/src/RotaryPlugin.h new file mode 100644 index 0000000..54add89 --- /dev/null +++ b/src/RotaryPlugin.h @@ -0,0 +1,45 @@ +#ifndef __ROTARY_PLUGIN_H__ +#define __ROTARY_PLUGIN_H__ + +#define _TASK_SLEEP_ON_IDLE_RUN +#define _TASK_STD_FUNCTION + +#include +#include +#include +#include +#include +#include +#include +#include "AiEsp32RotaryEncoder.h" + +using namespace std; +using namespace std::placeholders; + +struct RotaryConfig +{ + int pinA; + int pinB; + int pinButton; + int pinVcc; + int updateInterval; + int lowerBound; + int upperBound; + bool circulateValues; + const char* topic; + //const char* topicButton; +}; + +class RotaryPlugin : public Plugin { + public: + Task inputTask; + int currentVal = 0; + ButtonState btnState = BUT_RELEASED; + AiEsp32RotaryEncoder* rotaryEncoder; + RotaryConfig config; + RotaryPlugin(RotaryConfig cfg); + void activate(Scheduler* userScheduler); + void checkInput(); +}; + +#endif diff --git a/src/config.h b/src/config.h old mode 100644 new mode 100755 diff --git a/src/main.cpp b/src/main.cpp old mode 100644 new mode 100755 index f8200bc..b452b33 --- a/src/main.cpp +++ b/src/main.cpp @@ -7,9 +7,9 @@ #include #include #include -#include "inputs/rotary/RotaryPlugin.h" #include "inputs/analog/AnalogInputPlugin.h" #include "inputs/digital/DigitalInputPlugin.h" +#include "RotaryPlugin.h" WiFiNet *network; Sprocket *sprocket; diff --git a/test/README b/test/README old mode 100644 new mode 100755