From 54940a9e7eccf08a259b6cf25b1f0d682eef6a18 Mon Sep 17 00:00:00 2001 From: livello Date: Sun, 18 Mar 2018 21:31:39 +0300 Subject: [PATCH] extracted MY_CONFIG_SERVER small fixes --- README.md | 15 ++++++++++++++- lighthub/main.cpp | 11 ++++++++--- platformio.ini | 1 + 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 332c980..9a236b5 100644 --- a/README.md +++ b/README.md @@ -77,4 +77,17 @@ First attempt to use platformio toolchain for compiling (work not completed yet) # Due compilation issue "USART0_Handler redefinition" Please, open /variants/arduino_due_x/variant.cpp file, then edit USART0_Handler method definition like this -void USART0_Handler(void) __attribute__((weak)); \ No newline at end of file +void USART0_Handler(void) __attribute__((weak)); + +# Platformio +First of all install platformio framework. http://docs.platformio.org/en/latest/installation.html +git clone https://github.com/anklimov/lighthub.git +pio init --ide clion // prepare CMake build files for Intellij CLion IDE, look list if suppoerted ide here: http://docs.platformio.org/en/latest/ide.html +pio run -e due // this will build firmware for arduino due board +rm -Rf .piolibdeps // this will clean libraries folder. Try it if you have compilation problem +pio run -e megaatmega2560 //build for arduino mega +pio run -e due -t upload //build and upload firmware to arduino due + + +export PLATFORMIO_BUILD_FLAGS="-DMY_CONFIG_SERVER=192.168.1.1 -DWATCH_DOG_TICKER_DISABLE=1" +set ip address for your configuration server and completely disable wdt feature for AVR. diff --git a/lighthub/main.cpp b/lighthub/main.cpp index 993bacb..db4333c 100644 --- a/lighthub/main.cpp +++ b/lighthub/main.cpp @@ -88,7 +88,7 @@ Config webserver #include #endif -#ifdef WATCH_DOG_TICKER_DISABLE +#if defined(WATCH_DOG_TICKER_DISABLE) #define wdt_en() wdt_disable() #define wdt_dis() wdt_disable() #define wdt_res() wdt_disable() @@ -161,7 +161,7 @@ extern Artnet *artnet; #define inprefix "/myhome/in/" const char outprefix[] PROGMEM = "/myhome/s_out/"; -#define subprefix "/myhome/in/#" +const char subprefix[] PROGMEM = "/myhome/in/#"; aJsonObject *root = NULL; aJsonObject *items = NULL; @@ -755,6 +755,11 @@ void saveFlash(short n, char* str) void loadFlash(short n, char* str) {} +#ifndef MY_CONFIG_SERVER +#define CONFIG_SERVER "lazyhome.ru" +#else +#define CONFIG_SERVER QUOTE(MY_CONFIG_SERVER) +#endif int getConfig (int arg_cnt, char **args) //(char *tokens) { @@ -763,7 +768,7 @@ int getConfig (int arg_cnt, char **args) int returnCode =0; char ch; char URI [32]; - char server[32] = "lazyhome.ru"; + char server[sizeof(CONFIG_SERVER)+21] = CONFIG_SERVER; if (arg_cnt>0) { strncpy(server,args[1],sizeof(server)-1); saveFlash(0,server); diff --git a/platformio.ini b/platformio.ini index 6a330ef..c5d2eee 100644 --- a/platformio.ini +++ b/platformio.ini @@ -42,6 +42,7 @@ platform = atmelavr board = megaatmega2560 framework = arduino ;lib_ldf_mode = chain+ +build_flags = !echo -n "-DPIO_SRC_REV="$(git rev-parse --short HEAD) lib_deps = https://github.com/anklimov/Arduino-Temperature-Control-Library.git https://github.com/anklimov/DS2482_OneWire