Merge pull request #6 from livello/pio-1

extracted MY_CONFIG_SERVER, edit README.md, small fixes
This commit is contained in:
2018-03-18 22:29:46 +03:00
committed by GitHub
3 changed files with 35 additions and 4 deletions

View File

@@ -77,4 +77,29 @@ First attempt to use platformio toolchain for compiling (work not completed yet)
# Due compilation issue "USART0_Handler redefinition" # Due compilation issue "USART0_Handler redefinition"
Please, open /variants/arduino_due_x/variant.cpp file, then edit USART0_Handler method definition like this Please, open /variants/arduino_due_x/variant.cpp file, then edit USART0_Handler method definition like this
void USART0_Handler(void) __attribute__((weak)); void USART0_Handler(void) __attribute__((weak));
# Platformio command line build instructions
First of all install platformio framework. http://docs.platformio.org/en/latest/installation.html
https://geektimes.ru/post/273852/ // Good tutorial for fast start in RUSSIAN
In linux you can open terminal, navigate to your programming directory, then
* git clone https://github.com/anklimov/lighthub.git
* cd lighthub
* pio init --ide clion // use your IDE, others here: http://docs.platformio.org/en/latest/ide.html
* export PLATFORMIO_BUILD_FLAGS="-DMY_CONFIG_SERVER=192.168.1.1 -DWATCH_DOG_TICKER_DISABLE=1"
set ip address of your configuration server and disable wdt feature in case bootloader of your mega2560 is stock
* 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

View File

@@ -88,7 +88,7 @@ Config webserver
#include <ArduinoHttpClient.h> #include <ArduinoHttpClient.h>
#endif #endif
#ifdef WATCH_DOG_TICKER_DISABLE #if defined(WATCH_DOG_TICKER_DISABLE)
#define wdt_en() wdt_disable() #define wdt_en() wdt_disable()
#define wdt_dis() wdt_disable() #define wdt_dis() wdt_disable()
#define wdt_res() wdt_disable() #define wdt_res() wdt_disable()
@@ -161,7 +161,7 @@ extern Artnet *artnet;
#define inprefix "/myhome/in/" #define inprefix "/myhome/in/"
const char outprefix[] PROGMEM = "/myhome/s_out/"; const char outprefix[] PROGMEM = "/myhome/s_out/";
#define subprefix "/myhome/in/#" const char subprefix[] PROGMEM = "/myhome/in/#";
aJsonObject *root = NULL; aJsonObject *root = NULL;
aJsonObject *items = NULL; aJsonObject *items = NULL;
@@ -755,6 +755,11 @@ void saveFlash(short n, char* str)
void loadFlash(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) int getConfig (int arg_cnt, char **args)
//(char *tokens) //(char *tokens)
{ {
@@ -763,7 +768,7 @@ int getConfig (int arg_cnt, char **args)
int returnCode =0; int returnCode =0;
char ch; char ch;
char URI [32]; char URI [32];
char server[32] = "lazyhome.ru"; char server[sizeof(CONFIG_SERVER)+21] = CONFIG_SERVER;
if (arg_cnt>0) { if (arg_cnt>0) {
strncpy(server,args[1],sizeof(server)-1); strncpy(server,args[1],sizeof(server)-1);
saveFlash(0,server); saveFlash(0,server);

View File

@@ -42,6 +42,7 @@ platform = atmelavr
board = megaatmega2560 board = megaatmega2560
framework = arduino framework = arduino
;lib_ldf_mode = chain+ ;lib_ldf_mode = chain+
build_flags = !echo -n "-DPIO_SRC_REV="$(git rev-parse --short HEAD)
lib_deps = lib_deps =
https://github.com/anklimov/Arduino-Temperature-Control-Library.git https://github.com/anklimov/Arduino-Temperature-Control-Library.git
https://github.com/anklimov/DS2482_OneWire https://github.com/anklimov/DS2482_OneWire