From bc44c146b980be7971e72baa8bf21fe67442dd74 Mon Sep 17 00:00:00 2001 From: livello Date: Tue, 22 May 2018 18:16:50 +0300 Subject: [PATCH 1/4] esp8266 --- platformio.ini | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/platformio.ini b/platformio.ini index 7782715..d5e0ae6 100644 --- a/platformio.ini +++ b/platformio.ini @@ -11,8 +11,8 @@ src_dir = lighthub env_default = ; megaatmega2560 - due -; esp8266 +; due + esp8266 [env:due] platform = atmelsam framework = arduino @@ -67,6 +67,7 @@ framework = arduino board = nodemcuv2 lib_ldf_mode = chain+ build_flags = !echo -n "-DPIO_SRC_REV="$(git log --pretty=format:%h_%ad -1 --date=short) +pre = test.py lib_deps = https://github.com/anklimov/Arduino-Temperature-Control-Library.git https://github.com/anklimov/DS2482_OneWire @@ -79,3 +80,4 @@ lib_deps = https://github.com/knolleary/pubsubclient.git https://github.com/anklimov/Artnet.git FastLED + WifiManager@0.12 From 2ce453db82ed02cf6aa44e5ce93af1676b5fbb6f Mon Sep 17 00:00:00 2001 From: livello Date: Tue, 22 May 2018 20:45:02 +0300 Subject: [PATCH 2/4] esp8266 esp8266 worked esp8266 basic support, DMX now can be disabled --- README.md | 2 + build_flags_template.sh | 2 + lighthub/dmx.cpp | 2 + lighthub/item.cpp | 117 ++++++++++++++++++++-------------------- lighthub/main.cpp | 56 +++++++++++++++---- lighthub/main.h | 2 +- lighthub/options.h | 10 ++++ platformio.ini | 8 +-- 8 files changed, 125 insertions(+), 74 deletions(-) diff --git a/README.md b/README.md index 18dd9d4..a37d05b 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,8 @@ platformio device monitor -b 115200 * AVR_DMXOUT_PIN=18 // Set Pin for DMXOUT on megaatmega2560 * CONTROLLINO //Change Modbus port, direction pins and Wiznet SS pins to be working on [Controllino](http://controllino.biz/) * LAN_INIT_DELAY=2000 // set lan init delay for Wiznet ethernet shield +* ESP_WIFI_AP=MYAP // esp wifi access point name +* ESP_WIFI_PWD=MYPWD // esp wifi access point password diff --git a/build_flags_template.sh b/build_flags_template.sh index 27ed24f..0ec4b85 100644 --- a/build_flags_template.sh +++ b/build_flags_template.sh @@ -21,6 +21,8 @@ export FLAGS="$FLAGS -DAVR_DMXOUT_PIN=18" export FLAGS="$FLAGS -DLAN_INIT_DELAY=2000" export FLAGS="$FLAGS -DCONTROLLINO" + export FLAGS="$FLAGS -DESP_WIFI_AP=MYAP" + export FLAGS="$FLAGS -DESP_WIFI_PWD=MYPWD" export PLATFORMIO_BUILD_FLAGS="$FLAGS" echo PLATFORMIO_BUILD_FLAGS=$PLATFORMIO_BUILD_FLAGS echo "==============================================Custom build flags END=====================================================" diff --git a/lighthub/dmx.cpp b/lighthub/dmx.cpp index 6b5df64..e9c8280 100644 --- a/lighthub/dmx.cpp +++ b/lighthub/dmx.cpp @@ -29,8 +29,10 @@ e-mail anklimov@gmail.com #endif #if defined(__ESP__) +#ifndef DMX_DISABLE DMXESPSerial dmxout; #endif +#endif uint8_t * DMXin = NULL; int D_State=0; diff --git a/lighthub/item.cpp b/lighthub/item.cpp index 0cd0a4e..0e08002 100644 --- a/lighthub/item.cpp +++ b/lighthub/item.cpp @@ -696,8 +696,11 @@ void Item::mb_fail(short addr, short op, int val, int cmd) { setVal(val); } +#ifndef MODBUS_DISABLE extern ModbusMaster node; + + int Item::VacomSetFan(int8_t val, int8_t cmd) { int addr = getArg(); Serial.print(F("VC#")); @@ -766,63 +769,6 @@ int Item::VacomSetHeat(int addr, int8_t val, int8_t cmd) { modbusBusy = 0; } - -int Item::SendStatus(short cmd, short n, int *Par, boolean deffered) { - -/// ToDo: relative patches, configuration - - if (deffered) { - setCmd(cmd | CMD_REPORT); - Serial.println(F("Status deffered")); - // mqttClient.publish("/push", "1"); - return 0; - // Todo: Parameters? Now expected that parameters already stored by setVal() - } - else { //publush to MQTT - char addrstr[32]; - //char addrbuf[17]; - char valstr[16] = ""; - - strcpy_P(addrstr, outprefix); - strncat(addrstr, itemArr->name, sizeof(addrstr)); - - - switch (cmd) { - case CMD_ON: - strcpy(valstr, "ON"); - break; - case CMD_OFF: - case CMD_HALT: - strcpy(valstr, "OFF"); - break; - // TODO send Par - case 0: - case CMD_SET: - if (Par) - for (short i = 0; i < n; i++) { - char num[4]; - snprintf(num, sizeof(num), "%d", Par[i]); - strncat(valstr, num, sizeof(valstr)); - if (i != n - 1) { - strcpy(num, ","); - strncat(valstr, num, sizeof(valstr)); - } - } - break; - default: - Serial.println(F("Unknown cmd ")); - return -1; - } - Serial.print(F("Pub: ")); - Serial.print(addrstr); - Serial.print(F("->")); - Serial.println(valstr); - mqttClient.publish(addrstr, valstr,true); - return 0; - } -} - - int Item::modbusDimmerSet(int addr, uint16_t _reg, int _mask, uint16_t value) { if (modbusBusy) { @@ -856,7 +802,6 @@ int Item::modbusDimmerSet(int addr, uint16_t _reg, int _mask, uint16_t value) { modbusBusy = 0; } - int Item::checkFM() { if (modbusBusy) return -1; if (checkModbusRetry()) return -2; @@ -1118,3 +1063,59 @@ void Item::sendDelayedStatus(){ setCmd(cmd); } } + +#endif +int Item::SendStatus(short cmd, short n, int *Par, boolean deffered) { + +/// ToDo: relative patches, configuration + + if (deffered) { + setCmd(cmd | CMD_REPORT); + Serial.println(F("Status deffered")); + // mqttClient.publish("/push", "1"); + return 0; + // Todo: Parameters? Now expected that parameters already stored by setVal() + } + else { //publush to MQTT + char addrstr[32]; + //char addrbuf[17]; + char valstr[16] = ""; + + strcpy_P(addrstr, outprefix); + strncat(addrstr, itemArr->name, sizeof(addrstr)); + + + switch (cmd) { + case CMD_ON: + strcpy(valstr, "ON"); + break; + case CMD_OFF: + case CMD_HALT: + strcpy(valstr, "OFF"); + break; + // TODO send Par + case 0: + case CMD_SET: + if (Par) + for (short i = 0; i < n; i++) { + char num[4]; + snprintf(num, sizeof(num), "%d", Par[i]); + strncat(valstr, num, sizeof(valstr)); + if (i != n - 1) { + strcpy(num, ","); + strncat(valstr, num, sizeof(valstr)); + } + } + break; + default: + Serial.println(F("Unknown cmd ")); + return -1; + } + Serial.print(F("Pub: ")); + Serial.print(addrstr); + Serial.print(F("->")); + Serial.println(valstr); + mqttClient.publish(addrstr, valstr,true); + return 0; + } +} diff --git a/lighthub/main.cpp b/lighthub/main.cpp index ca96e80..17c8c23 100644 --- a/lighthub/main.cpp +++ b/lighthub/main.cpp @@ -270,9 +270,13 @@ int lanLoop() { case 0: //Ethernet.begin(mac,ip); { #ifdef __ESP__ - //WiFi.mode(WIFI_STA); -//wifiMulti.addAP("Smartbox", ""); -if((wifiMulti.run() == WL_CONNECTED)) lanStatus=1; + WiFi.mode(WIFI_STA); + Serial.print(F("WIFI AP/Password:")); + Serial.print(QUOTE(ESP_WIFI_AP)); + Serial.print(F("/")); + Serial.println(QUOTE(ESP_WIFI_PWD)); + wifiMulti.addAP(QUOTE(ESP_WIFI_AP), QUOTE(ESP_WIFI_PWD)); + if((wifiMulti.run() == WL_CONNECTED)) lanStatus=1; #else IPAddress ip; IPAddress dns; @@ -858,10 +862,7 @@ return 0; } int getConfig(int arg_cnt, char **args) -//(char *tokens) { - - int responseStatusCode = 0; char ch; char URI[40]; @@ -928,9 +929,8 @@ int getConfig(int arg_cnt, char **args) lanCheck = millis() + 5000; return -11; } - -#else - //Non AVR code +#endif +#if defined(__SAM3X8E__) String response; EthernetClient configEthClient; HttpClient htclient = HttpClient(configEthClient, configServer, 80); @@ -976,9 +976,39 @@ int getConfig(int arg_cnt, char **args) //lanCheck=millis()+15000; return -11; //Load from NVRAM } - - #endif +#if defined(__ESP__) + HTTPClient httpClient; + String fullURI = "http://"; + fullURI+=configServer; + fullURI+=URI; + httpClient.begin(fullURI); + int httpResponseCode = httpClient.GET(); + if (httpResponseCode > 0) { + // HTTP header has been send and Server response header has been handled + Serial.printf("[HTTP] GET... code: %d\n", httpResponseCode); + // file found at server + if (httpResponseCode == HTTP_CODE_OK) { + String response = httpClient.getString(); + Serial.println(response); + aJson.deleteItem(root); + root = aJson.parse((char *) response.c_str()); + if (!root) { + Serial.println(F("Config parsing failed")); + return -11; //Load from NVRAM + } else { + Serial.println(F("Config OK, Applying")); + applyConfig(); + } + } + } else { + Serial.printf("[HTTP] GET... failed, error: %s\n", httpClient.errorToString(httpResponseCode).c_str()); + httpClient.end(); + return -11; //Load from NVRAM + } + httpClient.end(); +#endif + return 2; } @@ -1167,7 +1197,9 @@ void loop_main() { // if (lastpacket && (lastpacket%10==0)) Serial.println(lastpacket); if (items) { + #ifndef MODBUS_DISABLE if (lanStatus != 4) pollingLoop(); + #endif #ifdef _owire thermoLoop(); #endif @@ -1241,6 +1273,7 @@ void inputLoop(void) { } } +#ifndef MODBUS_DISABLE void pollingLoop(void) { boolean done = false; if (millis() > nextPollingCheck) { @@ -1258,6 +1291,7 @@ void pollingLoop(void) { } //while }//if } +#endif //TODO: refactoring diff --git a/lighthub/main.h b/lighthub/main.h index c4f607d..92f154c 100644 --- a/lighthub/main.h +++ b/lighthub/main.h @@ -63,7 +63,7 @@ #include //this needs to be first, or it all crashes and burns... #include "esp.h" #include -#include +#include #endif #ifdef _owire diff --git a/lighthub/options.h b/lighthub/options.h index 3ff36b1..390dfc0 100644 --- a/lighthub/options.h +++ b/lighthub/options.h @@ -109,10 +109,20 @@ #if defined(__ESP__) #undef _dmxin #undef _modbus +#ifndef DMX_DISABLE #define _espdmx +#endif #define modbusSerial Serial1 #endif #ifndef _dmxout #undef _artnet #endif + +#ifndef ESP_WIFI_AP +#define ESP_WIFI_AP mywifiap +#endif + +#ifndef ESP_WIFI_PWD +#define ESP_WIFI_PWD mywifipass +#endif \ No newline at end of file diff --git a/platformio.ini b/platformio.ini index d5e0ae6..91dbbb8 100644 --- a/platformio.ini +++ b/platformio.ini @@ -18,6 +18,7 @@ platform = atmelsam framework = arduino board = due lib_ldf_mode = chain+ +extra_scripts = pre:my_build_flags.py build_flags = !echo -n "-DPIO_SRC_REV="$(git log --pretty=format:%h_%ad -1 --date=short) lib_deps = https://github.com/sebnil/DueFlashStorage @@ -67,17 +68,16 @@ framework = arduino board = nodemcuv2 lib_ldf_mode = chain+ build_flags = !echo -n "-DPIO_SRC_REV="$(git log --pretty=format:%h_%ad -1 --date=short) -pre = test.py +extra_scripts = pre:my_build_flags.py lib_deps = https://github.com/anklimov/Arduino-Temperature-Control-Library.git https://github.com/anklimov/DS2482_OneWire https://github.com/anklimov/ESP-Dmx - https://github.com/arduino-libraries/ArduinoHttpClient + ESP8266HTTPClient https://github.com/anklimov/aJson https://github.com/anklimov/CmdArduino https://github.com/anklimov/ModbusMaster - https://github.com/anklimov/DMXSerial https://github.com/knolleary/pubsubclient.git https://github.com/anklimov/Artnet.git FastLED - WifiManager@0.12 + WifiManager From 119c1082c2a091a907105e4524e5a98e4dfc6834 Mon Sep 17 00:00:00 2001 From: livello Date: Tue, 22 May 2018 23:52:00 +0300 Subject: [PATCH 3/4] dht support in progress --- lighthub/main.cpp | 27 +++++++++++++++------------ my_build_flags.py | 32 ++++++++++++++++++++++++++++++++ platformio.ini | 6 +++--- 3 files changed, 50 insertions(+), 15 deletions(-) create mode 100644 my_build_flags.py diff --git a/lighthub/main.cpp b/lighthub/main.cpp index 17c8c23..f0ff577 100644 --- a/lighthub/main.cpp +++ b/lighthub/main.cpp @@ -91,6 +91,7 @@ aJsonObject *mqttArr = NULL; aJsonObject *modbusArr = NULL; aJsonObject *owArr = NULL; aJsonObject *dmxArr = NULL; +aJsonObject *dhtArr = NULL; unsigned long nextPollingCheck = 0; unsigned long nextInputCheck = 0; @@ -595,15 +596,18 @@ void cmdFunctionKill(int arg_cnt, char **args) { void applyConfig() { if (!root) return; - #ifdef _dmxin - int itemsCount; - dmxArr = aJson.getObjectItem(root, "dmxin"); - if (dmxArr && (itemsCount = aJson.getArraySize(dmxArr))) { - DMXinSetup(itemsCount * 4); - Serial.print(F("DMX in started. Channels:")); - Serial.println(itemsCount * 4); - } - #endif +#ifdef DHT_ENABLE + dhtArr = aJson.getObjectItem(root, "dht"); +#endif +#ifdef _dmxin + int itemsCount; + dmxArr = aJson.getObjectItem(root, "dmxin"); + if (dmxArr && (itemsCount = aJson.getArraySize(dmxArr))) { + DMXinSetup(itemsCount * 4); + Serial.print(F("DMX in started. Channels:")); + Serial.println(itemsCount * 4); + } +#endif #ifdef _dmxout int maxChannels; aJsonObject *dmxoutArr = aJson.getObjectItem(root, "dmx"); @@ -620,9 +624,6 @@ void applyConfig() { #ifdef _owire owArr = aJson.getObjectItem(root, "ow"); -#endif - -#ifdef _owire if (owArr && !owReady) { aJsonObject *item = owArr->child; owReady = owSetup(&Changed); @@ -687,6 +688,8 @@ void printConfigSummary() { printBool(mqttArr); Serial.print(F("1-wire ")); printBool(owArr); + Serial.print(F("dht ")); + printBool(dhtArr); } void cmdFunctionLoad(int arg_cnt, char **args) { diff --git a/my_build_flags.py b/my_build_flags.py new file mode 100644 index 0000000..43992c8 --- /dev/null +++ b/my_build_flags.py @@ -0,0 +1,32 @@ +# from time import time +# +# from SCons.Script import DefaultEnvironment +# +# print("==============================================Custom build flags are:=====================================================") +# #FLAGS="-MY_CONFIG_SERVER=192.168.10.110" +# #FLAGS+=" -WATCH_DOG_TICKER_DISABLE" +# #FLAGS+=" -USE_1W_PIN=12" +# #FLAGS+=" -SD_CARD_INSERTED" +# #FLAGS+=" -SERIAL_BAUD=115200" +# #FLAGS+=" -Wiz5500" +# #FLAGS+=" -DISABLE_FREERAM_PRINT" +# #FLAGS+=" -CUSTOM_FIRMWARE_MAC=C4:3E:1f:03:1B:1B" +# #FLAGS+=" -DMX_DISABLE" +# FLAGS="MODBUS_DISABLE" +# #FLAGS+=" -OWIRE_DISABLE" +# #FLAGS+=" -ARTNET_ENABLE" +# #FLAGS+=" -CONTROLLINO" +# #FLAGS+=" -AVR_DMXOUT_PIN=18" +# +# print(FLAGS) +# print("==============================================Custom build flags END=====================================================") +# +# env = DefaultEnvironment() +# env.Append(CPPDEFINES=['MODBUS_DISABLE=1']) + +from time import time + +from SCons.Script import DefaultEnvironment + +env = DefaultEnvironment() +env.Append(CPPDEFINES=['BUILD_TIMESTAMP=%d' % time()]) diff --git a/platformio.ini b/platformio.ini index 91dbbb8..3b44b58 100644 --- a/platformio.ini +++ b/platformio.ini @@ -11,8 +11,8 @@ src_dir = lighthub env_default = ; megaatmega2560 -; due - esp8266 + due +; esp8266 [env:due] platform = atmelsam framework = arduino @@ -68,7 +68,7 @@ framework = arduino board = nodemcuv2 lib_ldf_mode = chain+ build_flags = !echo -n "-DPIO_SRC_REV="$(git log --pretty=format:%h_%ad -1 --date=short) -extra_scripts = pre:my_build_flags.py +;extra_scripts = pre:my_build_flags.py lib_deps = https://github.com/anklimov/Arduino-Temperature-Control-Library.git https://github.com/anklimov/DS2482_OneWire From 4c6acda58a9d625dfafb09f87dfd8b1b8c042663 Mon Sep 17 00:00:00 2001 From: livello Date: Thu, 31 May 2018 23:57:34 +0300 Subject: [PATCH 4/4] return targets back (controllino, *-5500) --- platformio.ini | 167 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 123 insertions(+), 44 deletions(-) diff --git a/platformio.ini b/platformio.ini index 3b44b58..7b87a41 100644 --- a/platformio.ini +++ b/platformio.ini @@ -10,9 +10,13 @@ [platformio] src_dir = lighthub env_default = -; megaatmega2560 - due -; esp8266 +; megaatmega2560 +; due +; esp8266 + megaatmega2560-5500 +; due-5500 +; controllino + [env:due] platform = atmelsam framework = arduino @@ -21,21 +25,21 @@ lib_ldf_mode = chain+ extra_scripts = pre:my_build_flags.py build_flags = !echo -n "-DPIO_SRC_REV="$(git log --pretty=format:%h_%ad -1 --date=short) lib_deps = - https://github.com/sebnil/DueFlashStorage - https://github.com/anklimov/Arduino-Temperature-Control-Library.git - https://github.com/anklimov/DS2482_OneWire - https://github.com/anklimov/DmxDue - https://github.com/anklimov/ArduinoHttpClient - https://github.com/anklimov/aJson - https://github.com/anklimov/CmdArduino - https://github.com/anklimov/ModbusMaster - https://github.com/anklimov/Ethernet - https://github.com/anklimov/Ethernet2 - https://github.com/knolleary/pubsubclient.git - https://github.com/anklimov/Artnet.git - FastLED - SD - SdFat + https://github.com/sebnil/DueFlashStorage + https://github.com/anklimov/Arduino-Temperature-Control-Library.git + https://github.com/anklimov/DS2482_OneWire + https://github.com/anklimov/DmxDue + https://github.com/anklimov/ArduinoHttpClient + https://github.com/anklimov/aJson + https://github.com/anklimov/CmdArduino + https://github.com/anklimov/ModbusMaster + https://github.com/anklimov/Ethernet + https://github.com/anklimov/Ethernet2 + https://github.com/knolleary/pubsubclient.git + https://github.com/anklimov/Artnet.git + FastLED + SD + SdFat [env:megaatmega2560] @@ -45,21 +49,21 @@ framework = arduino ;lib_ldf_mode = chain+ build_flags = !echo -n "-DPIO_SRC_REV="$(git log --pretty=format:%h_%ad -1 --date=short) lib_deps = - https://github.com/anklimov/Arduino-Temperature-Control-Library.git - https://github.com/anklimov/DS2482_OneWire - https://github.com/anklimov/DmxSimple - https://github.com/anklimov/httpClient - https://github.com/anklimov/aJson - https://github.com/anklimov/CmdArduino - https://github.com/anklimov/ModbusMaster - https://github.com/anklimov/DMXSerial - https://github.com/anklimov/Ethernet - https://github.com/anklimov/Ethernet2 - https://github.com/PaulStoffregen/SPI.git - https://github.com/knolleary/pubsubclient.git - https://github.com/anklimov/Artnet.git - FastLED - EEPROM + https://github.com/anklimov/Arduino-Temperature-Control-Library.git + https://github.com/anklimov/DS2482_OneWire + https://github.com/anklimov/DmxSimple + https://github.com/anklimov/httpClient + https://github.com/anklimov/aJson + https://github.com/anklimov/CmdArduino + https://github.com/anklimov/ModbusMaster + https://github.com/anklimov/DMXSerial + https://github.com/anklimov/Ethernet + https://github.com/anklimov/Ethernet2 + https://github.com/PaulStoffregen/SPI.git + https://github.com/knolleary/pubsubclient.git + https://github.com/anklimov/Artnet.git + FastLED + EEPROM [env:esp8266] @@ -70,14 +74,89 @@ lib_ldf_mode = chain+ build_flags = !echo -n "-DPIO_SRC_REV="$(git log --pretty=format:%h_%ad -1 --date=short) ;extra_scripts = pre:my_build_flags.py lib_deps = - https://github.com/anklimov/Arduino-Temperature-Control-Library.git - https://github.com/anklimov/DS2482_OneWire - https://github.com/anklimov/ESP-Dmx - ESP8266HTTPClient - https://github.com/anklimov/aJson - https://github.com/anklimov/CmdArduino - https://github.com/anklimov/ModbusMaster - https://github.com/knolleary/pubsubclient.git - https://github.com/anklimov/Artnet.git - FastLED - WifiManager + https://github.com/anklimov/Arduino-Temperature-Control-Library.git + https://github.com/anklimov/DS2482_OneWire + https://github.com/anklimov/ESP-Dmx + ESP8266HTTPClient + https://github.com/anklimov/aJson + https://github.com/anklimov/CmdArduino + https://github.com/anklimov/ModbusMaster + https://github.com/knolleary/pubsubclient.git + https://github.com/anklimov/Artnet.git + FastLED + WifiManager + +[env:megaatmega2560-5500] +platform = atmelavr +board = megaatmega2560 +framework = arduino +;lib_ldf_mode = chain+ +build_flags = !echo -n "-DPIO_SRC_REV="$(git log --pretty=format:%h_%ad -1 --date=short) +build_flags = -D Wiz5500 -D AVR_DMXOUT_PIN=18 +lib_deps = + https://github.com/anklimov/Arduino-Temperature-Control-Library.git + https://github.com/anklimov/DS2482_OneWire + https://github.com/anklimov/DmxSimple + https://github.com/anklimov/httpClient + https://github.com/anklimov/aJson + https://github.com/anklimov/CmdArduino + https://github.com/anklimov/ModbusMaster + https://github.com/anklimov/DMXSerial + https://github.com/anklimov/Ethernet + https://github.com/anklimov/Ethernet2 + https://github.com/PaulStoffregen/SPI.git + https://github.com/knolleary/pubsubclient.git + https://github.com/anklimov/Artnet.git + FastLED + EEPROM + +[env:due-5500] +platform = atmelsam +framework = arduino +board = due +lib_ldf_mode = chain+ +extra_scripts = pre:my_build_flags.py +build_flags = !echo -n "-DPIO_SRC_REV="$(git log --pretty=format:%h_%ad -1 --date=short) +build_flags = -D Wiz5500 -D ARTNET_ENABLE +lib_deps = + https://github.com/sebnil/DueFlashStorage + https://github.com/anklimov/Arduino-Temperature-Control-Library.git + https://github.com/anklimov/DS2482_OneWire + https://github.com/anklimov/DmxDue + https://github.com/anklimov/ArduinoHttpClient + https://github.com/anklimov/aJson + https://github.com/anklimov/CmdArduino + https://github.com/anklimov/ModbusMaster + https://github.com/anklimov/Ethernet + https://github.com/anklimov/Ethernet2 + https://github.com/knolleary/pubsubclient.git + https://github.com/anklimov/Artnet.git + FastLED + SD + SdFat + + +[env:controllino] +platform = atmelavr +board = megaatmega2560 +framework = arduino +;lib_ldf_mode = chain+ +build_flags = !echo -n "-DPIO_SRC_REV="$(git log --pretty=format:%h_%ad -1 --date=short) +build_flags = -D CONTROLLINO -D CUSTOM_FIRMWARE_MAC=de:ad:be:ef:fe:07 +lib_deps = + https://github.com/anklimov/Arduino-Temperature-Control-Library.git + https://github.com/anklimov/DS2482_OneWire + https://github.com/anklimov/DmxSimple + https://github.com/anklimov/httpClient + https://github.com/anklimov/aJson + https://github.com/anklimov/CmdArduino + https://github.com/anklimov/ModbusMaster + https://github.com/anklimov/DMXSerial + https://github.com/anklimov/Ethernet + https://github.com/anklimov/Ethernet2 + https://github.com/PaulStoffregen/SPI.git + https://github.com/knolleary/pubsubclient.git + https://github.com/anklimov/Artnet.git + FastLED + EEPROM +