From 0287456f1e415552ad5dda8b8969a6392d7fca7f Mon Sep 17 00:00:00 2001 From: Jens True Date: Fri, 29 Nov 2019 10:14:03 +0100 Subject: [PATCH 1/2] Version numbers done via tags --- .drone.yml | 4 ++++ include/config.h | 5 ++++- platformio.ini | 21 +-------------------- src/main.cpp | 24 ++++++++++++++++++++---- 4 files changed, 29 insertions(+), 25 deletions(-) diff --git a/.drone.yml b/.drone.yml index 63226e9..93b6c47 100644 --- a/.drone.yml +++ b/.drone.yml @@ -14,6 +14,8 @@ steps: - make otaupload when: event: tag + branch: + - master - name: release image: plugins/gitea-release settings: @@ -24,3 +26,5 @@ steps: - .pio/build/nodemcu/firmware.bin when: event: tag + branch: + - master diff --git a/include/config.h b/include/config.h index c21a748..dde0dac 100644 --- a/include/config.h +++ b/include/config.h @@ -1,7 +1,10 @@ #ifndef CONFIG_H - #define CONFIG_H +#ifndef CONFIG_VERSION +#define CONFIG_VERSION "v0.4.4-Dev" +#endif + #define CONFIG_SERIAL_BAUDRATE 115200 #define CONFIG_IO_RELAY D1 diff --git a/platformio.ini b/platformio.ini index 9eadb6a..ab2b817 100644 --- a/platformio.ini +++ b/platformio.ini @@ -1,29 +1,10 @@ -# -# Project Configuration File -# -# A detailed documentation with the EXAMPLES is located here: -# http://docs.platformio.org/en/latest/projectconf.html -# - -# A sign `#` at the beginning of the line indicates a comment -# Comment lines are ignored. - -# Simple and base environment -# [env:mybaseenv] -# platform = %INSTALLED_PLATFORM_NAME_HERE% -# framework = -# board = -# -# Automatic targets - enable auto-uploading -# targets = upload - [env] platform = espressif8266 framework = arduino upload_speed=921600 -build_flags = -D PIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY +build_flags = -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY -DCONFIG_VERSION=${sysenv.DRONE_TAG} lib_deps = https://github.com/homieiot/homie-esp8266.git#develop-v3, DHT sensor library for ESPx [env:nodemcu] diff --git a/src/main.cpp b/src/main.cpp index 5363f7a..b48bb9a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,7 +5,6 @@ DHTesp dht; - #define OUTPUT_SET(x) digitalWrite(CONFIG_IO_RELAY, x ? LOW : HIGH) unsigned int timer = 0; unsigned int next_timer_update = 0; @@ -14,10 +13,14 @@ HomieNode temperatureNode("temperature", "Temperature", "temperature"); bool powerStateHandler(const HomieRange& range, const String& value) { - if (value != "on" && value != "off") return false; + if (value != "on" && value != "off") + { + return false; + } powerNode.setProperty("state").send(value); powerNode.setProperty("timer").send("0"); timer = 0; + if(value == "on") { OUTPUT_SET(true); @@ -50,6 +53,7 @@ bool powerTimerHandler(const HomieRange& range, const String& value) void setupHandler() { + pinMode(CONFIG_IO_RELAY, OUTPUT); OUTPUT_SET(false); powerNode.setProperty("state").send("off"); @@ -58,7 +62,7 @@ void setupHandler() dht.setup(CONFIG_IO_DHT11, DHTesp::DHT11); // Connect DHT sensor to GPIO 17 } -void loopHandler() +void loopHandleTimer() { if(timer) { @@ -78,7 +82,10 @@ void loopHandler() powerNode.setProperty("timer").send(String(min_left)); } } +} +void loopHandleTemperature() +{ static unsigned long lastTemperatureSent = 0; if (millis() - lastTemperatureSent >= CONFIG_TEMPERATURE_SEND_INTERVAL * 1000UL || lastTemperatureSent == 0) { @@ -92,16 +99,25 @@ void loopHandler() } } +void loopHandler() +{ + loopHandleTimer(); + loopHandleTemperature(); +} + void setup() { Serial.begin(CONFIG_SERIAL_BAUDRATE); - Homie_setFirmware("deskcontrol", "0.4.2"); + Homie_setFirmware("deskcontrol", CONFIG_VERSION); Homie.disableResetTrigger(); + + //Power powerNode.advertise("state").settable(powerStateHandler); powerNode.advertise("timer").settable(powerTimerHandler); + //Temperature temperatureNode.advertise("humidity"); temperatureNode.advertise("temperature"); From b5498b7173baf1d7417c02953cd0b299e0f96d38 Mon Sep 17 00:00:00 2001 From: Jens True Date: Fri, 29 Nov 2019 10:53:44 +0100 Subject: [PATCH 2/2] Touchups --- .drone.yml | 7 +++++++ include/config.h | 5 +++-- platformio.ini | 2 +- src/main.cpp | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.drone.yml b/.drone.yml index 93b6c47..c6c7109 100644 --- a/.drone.yml +++ b/.drone.yml @@ -24,6 +24,13 @@ steps: base_url: https://code.jcktrue.dk files: - .pio/build/nodemcu/firmware.bin + checksum: + - md5 + - sha1 + - sha256 + - sha512 + - adler32 + - crc32 when: event: tag branch: diff --git a/include/config.h b/include/config.h index dde0dac..c2f0114 100644 --- a/include/config.h +++ b/include/config.h @@ -1,8 +1,9 @@ #ifndef CONFIG_H #define CONFIG_H -#ifndef CONFIG_VERSION -#define CONFIG_VERSION "v0.4.4-Dev" +#ifndef VERSION +//SEMVER style version +#define VERSION "0.4.5-Dev" #endif #define CONFIG_SERIAL_BAUDRATE 115200 diff --git a/platformio.ini b/platformio.ini index ab2b817..d61d1c9 100644 --- a/platformio.ini +++ b/platformio.ini @@ -4,7 +4,7 @@ framework = arduino upload_speed=921600 -build_flags = -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY -DCONFIG_VERSION=${sysenv.DRONE_TAG} +build_flags = -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY -DVERSION=${sysenv.DRONE_SEMVER} lib_deps = https://github.com/homieiot/homie-esp8266.git#develop-v3, DHT sensor library for ESPx [env:nodemcu] diff --git a/src/main.cpp b/src/main.cpp index b48bb9a..e792758 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -20,7 +20,7 @@ bool powerStateHandler(const HomieRange& range, const String& value) powerNode.setProperty("state").send(value); powerNode.setProperty("timer").send("0"); timer = 0; - + if(value == "on") { OUTPUT_SET(true); @@ -109,7 +109,7 @@ void setup() { Serial.begin(CONFIG_SERIAL_BAUDRATE); - Homie_setFirmware("deskcontrol", CONFIG_VERSION); + Homie_setFirmware("deskcontrol", VERSION); Homie.disableResetTrigger();