Compare commits
38 Commits
Author | SHA1 | Date | |
---|---|---|---|
068095ad6f
|
|||
97e7be156d
|
|||
04b3ac934d
|
|||
577a27f991
|
|||
7571b8067f
|
|||
8a1df057d0
|
|||
f7ba556ee4
|
|||
77187d0d46
|
|||
dad092c087
|
|||
fbcc6f74c4
|
|||
d84f426432
|
|||
aa63589e81
|
|||
e79cda7c5e
|
|||
dc8f1dfc13
|
|||
030311bb33
|
|||
93fa192874
|
|||
11c40ceba2
|
|||
0ba1232307
|
|||
9a81f29e5b
|
|||
aae4d97130
|
|||
b54d2bce6e
|
|||
44cb3b75f3
|
|||
7b28802780
|
|||
d9426bdb45
|
|||
ed707fd7e7
|
|||
4935163fbd
|
|||
c3d1b3224f
|
|||
0f21b68845
|
|||
13a6dac7c5
|
|||
edd56596ce
|
|||
4c8d955c9f
|
|||
debbfb6e3c
|
|||
86c8551368
|
|||
6e840379d4
|
|||
5cc1dc8d61
|
|||
9997a9f715
|
|||
7e58659a32
|
|||
50647fd4ae
|
91
.cproject
91
.cproject
@ -1,91 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="io.sloeber.core.toolChain.release.1704841599">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="io.sloeber.core.toolChain.release.1704841599" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="io.sloeber.core.toolChain.release.1704841599" name="Release" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="io.sloeber.core.toolChain.release.1704841599.673187831" name="/" resourcePath="">
|
||||
<toolChain id="io.sloeber.core.toolChain.release.633523815" name="Arduino Toolchain (Sloeber edition)" superClass="io.sloeber.core.toolChain.release">
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="io.sloeber.targetplatform.1503202054" name="Arduino Target" osList="all" superClass="io.sloeber.targetplatform"/>
|
||||
<builder buildPath="${workspace_loc:/rgbled}/Release" id="io.sloeber.sketch.builder.24567202" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Arduino sketch builder" superClass="io.sloeber.sketch.builder"/>
|
||||
<tool id="io.sloeber.tool.sketch.compiler.cpp.872032613" name="Arduino C++ Compiler" superClass="io.sloeber.tool.sketch.compiler.cpp">
|
||||
<option id="io.sloeber.compiler.cpp.sketch.option.incpath.291247391" name="Include Paths (-I)" superClass="io.sloeber.compiler.cpp.sketch.option.incpath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/core/core}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/core/variant}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/Adafruit_NeoPixel}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/EEPROM}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/ESP8266WebServer}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/ESP8266WebServer/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/ESP8266WiFi}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/ESP8266WiFi/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/pubsubclient}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/esp8266boilerplate}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/esp8266mqttboilerplate}""/>
|
||||
</option>
|
||||
<inputType id="io.sloeber.compiler.cpp.sketch.input.454285658" name="CPP source files" superClass="io.sloeber.compiler.cpp.sketch.input"/>
|
||||
</tool>
|
||||
<tool id="io.sloeber.tool.compiler.c.1078511554" name="Arduino C Compiler" superClass="io.sloeber.tool.compiler.c">
|
||||
<option id="io.sloeber.compiler.c.sketch.option.incpath.1836263605" name="Include Paths (-I)" superClass="io.sloeber.compiler.c.sketch.option.incpath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/core/core}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/core/variant}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/Adafruit_NeoPixel}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/EEPROM}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/ESP8266WebServer}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/ESP8266WebServer/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/ESP8266WiFi}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/ESP8266WiFi/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/pubsubclient}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/esp8266boilerplate}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/esp8266mqttboilerplate}""/>
|
||||
</option>
|
||||
<inputType id="io.sloeber.compiler.c.sketch.input.1857532110" name="C Source Files" superClass="io.sloeber.compiler.c.sketch.input"/>
|
||||
</tool>
|
||||
<tool id="io.sloeber.tool.sketch.compiler.s.1507960549" name="Arduino Assembler" superClass="io.sloeber.tool.sketch.compiler.s">
|
||||
<option id="io.sloeber.compiler.asm.sketch.option.incpath.1158181252" name="Include Paths (-I)" superClass="io.sloeber.compiler.asm.sketch.option.incpath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/core/core}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/core/variant}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/Adafruit_NeoPixel}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/EEPROM}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/ESP8266WebServer}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/ESP8266WebServer/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/ESP8266WiFi}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/libraries/ESP8266WiFi/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/pubsubclient}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/esp8266boilerplate}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/rgbled/esp8266mqttboilerplate}""/>
|
||||
</option>
|
||||
<inputType id="io.sloeber.compiler.S.sketch.input.2089597409" name="Assembly source files" superClass="io.sloeber.compiler.S.sketch.input"/>
|
||||
</tool>
|
||||
<tool id="io.sloeber.tool.ar.42953225" name="Arduino archiver" superClass="io.sloeber.tool.ar"/>
|
||||
<tool id="io.sloeber.tool.combine.1276413068" name="Arduino combiner" superClass="io.sloeber.tool.combine"/>
|
||||
<tool id="io.sloeber.tool.objcopy.eep.1194930385" name="Arduino tool Create eeprom" superClass="io.sloeber.tool.objcopy.eep"/>
|
||||
<tool id="io.sloeber.tool.size.569233132" name="Arduino tool Print Size" superClass="io.sloeber.tool.size"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry excluding="libraries/?*/**/?xamples/**|libraries/?*/**/?xtras/**|libraries/?*/**/test*/**|libraries/?*/**/third-party/**|libraries/**/._*|libraries/?*/utility/*/*" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name=""/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="rgbled.null.408725950" name="rgbled"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
||||
<storageModule moduleId="refreshScope"/>
|
||||
</cproject>
|
8
.gitignore
vendored
8
.gitignore
vendored
@ -1,7 +1,7 @@
|
||||
/Release/
|
||||
.vscode/
|
||||
~*
|
||||
*~
|
||||
libraries/includes/configuration.cpp
|
||||
libraries/includes/configuration.h
|
||||
sketch.esp8266.esp8266.nodemcu.bin
|
||||
sketch.esp8266.esp8266.nodemcu.elf
|
||||
sketch/sketch.esp8266.esp8266.nodemcu.bin
|
||||
sketch/sketch.esp8266.esp8266.nodemcu.elf
|
||||
|
||||
|
@ -4,7 +4,7 @@ stages:
|
||||
|
||||
build:
|
||||
stage: build
|
||||
image: registry.gitlab.com/wolutator/build-env-arduino:latest
|
||||
image: registry.hottis.de/dockerized/build-env-arduino:latest
|
||||
tags:
|
||||
- hottis
|
||||
- linux
|
||||
@ -15,28 +15,30 @@ build:
|
||||
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
|
||||
paths:
|
||||
- sketch.esp8266.esp8266.nodemcu.bin
|
||||
- sketch.esp8266.esp8266.nodemcu.elf
|
||||
except:
|
||||
- tags
|
||||
script:
|
||||
- pushd $CI_PROJECT_DIR/libraries/esp8266boilerplate/ConfigGenerator && ./configGen.sh && popd
|
||||
- env ARDUINO_SKETCHBOOK_DIR=$CI_PROJECT_DIR arduino-cli compile --fqbn=esp8266:esp8266:nodemcu $CI_PROJECT_DIR/sketch
|
||||
- cp sketch/sketch.esp8266.esp8266.nodemcu.* .
|
||||
|
||||
|
||||
release:
|
||||
stage: release
|
||||
image: registry.gitlab.com/wolutator/base-build-env
|
||||
image: registry.hottis.de/dockerized/base-build-env
|
||||
tags:
|
||||
- hottis
|
||||
- linux
|
||||
- docker
|
||||
dependencies:
|
||||
- build
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
only:
|
||||
refs:
|
||||
- release
|
||||
script:
|
||||
- echo curl --request POST
|
||||
--header "PRIVATE-TOKEN:$PRIVATE_TOKEN"
|
||||
--header "Content-Type:application/json"
|
||||
--data-raw '{ "name":"New release", "tag_name":"tag-'$CI_COMMIT_SHORT_SHA'", "ref":"'$CI_COMMIT_SHA'", "description":"Super nice release","assets":{ "links":[ { "name":"hoge", "url":"https://google.com" } ] } }'
|
||||
"https://gitlab.com/api/v4/projects/10877064/releases"
|
||||
|
||||
- gitlabreleaseuploader.py -p $PRIVATE_TOKEN
|
||||
-i $CI_PROJECT_ID -u $CI_PROJECT_URL
|
||||
-f sketch.esp8266.esp8266.nodemcu.bin
|
||||
-F releaseInfo.json -T $CI_COMMIT_REF_NAME
|
||||
-I $CI_SERVER_URL
|
||||
|
||||
|
71
.project
71
.project
@ -1,71 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>rgbled</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.python.pydev.PyDevBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>io.sloeber.core.inoToCpp</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||
<triggers>clean,full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||
<triggers>full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<nature>org.eclipse.cdt.core.ccnature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
<nature>io.sloeber.arduinonature</nature>
|
||||
<nature>org.python.pydev.pythonNature</nature>
|
||||
</natures>
|
||||
<linkedResources>
|
||||
<link>
|
||||
<name>core/core</name>
|
||||
<type>2</type>
|
||||
<locationURI>ECLIPSE_HOME/arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>core/variant</name>
|
||||
<type>2</type>
|
||||
<locationURI>ECLIPSE_HOME/arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/variants/nodemcu</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>libraries/Adafruit_NeoPixel</name>
|
||||
<type>2</type>
|
||||
<locationURI>ECLIPSE_HOME/arduinoPlugin/libraries/Adafruit_NeoPixel/1.1.3</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>libraries/EEPROM</name>
|
||||
<type>2</type>
|
||||
<locationURI>ECLIPSE_HOME/arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/libraries/EEPROM</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>libraries/ESP8266WebServer</name>
|
||||
<type>2</type>
|
||||
<locationURI>ECLIPSE_HOME/arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WebServer</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>libraries/ESP8266WiFi</name>
|
||||
<type>2</type>
|
||||
<locationURI>ECLIPSE_HOME/arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi</locationURI>
|
||||
</link>
|
||||
</linkedResources>
|
||||
</projectDescription>
|
@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?eclipse-pydev version="1.0"?><pydev_project>
|
||||
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
|
||||
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python interpreter</pydev_property>
|
||||
</pydev_project>
|
@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project>
|
||||
<configuration id="io.sloeber.core.toolChain.release.1704841599" name="Release">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider class="io.sloeber.core.toolchain.ArduinoLanguageProvider" console="false" env-hash="-20260262726398667" id="io.sloeber.languageSettingsProvider" keep-relative-paths="false" name="Arduino Compiler Settings" parameter="${COMMAND} -E -P -v -dD -D__IN_ECLIPSE__ "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
</extension>
|
||||
</configuration>
|
||||
</project>
|
@ -1,528 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.ALT_SIZE_COMMAND/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.ALT_SIZE_COMMAND/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.ALT_SIZE_COMMAND/value="${A.COMPILER.PATH}${A.COMPILER.SIZE.CMD}" --format\=avr --mcu\=${A.BUILD.MCU} "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf"
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.ARCHIVE_FILE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.ARCHIVE_FILE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.ARCHIVE_FILE/value=arduino.ar
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.ARCHIVE_FILE_PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.ARCHIVE_FILE_PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.ARCHIVE_FILE_PATH/value=${A.BUILD.PATH}/${A.ARCHIVE_FILE}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.ARCH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.ARCH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.ARCH/value=ESP8266
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.BOARD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.BOARD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.BOARD/value=ESP8266_NODEMCU
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.CORE.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.CORE.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.CORE.PATH/value=${A.RUNTIME.PLATFORM.PATH}/cores/${A.BUILD.CORE}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.CORE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.CORE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.CORE/value=esp8266
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.DEBUG_LEVEL/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.DEBUG_LEVEL/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.DEBUG_LEVEL/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.DEBUG_PORT/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.DEBUG_PORT/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.DEBUG_PORT/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.EXTRA_FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.EXTRA_FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.EXTRA_FLAGS/value=-DESP8266
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.FLASH_FREQ/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.FLASH_FREQ/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.FLASH_FREQ/value=40
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.FLASH_LD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.FLASH_LD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.FLASH_LD/value=eagle.flash.4m1m.ld
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.FLASH_MODE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.FLASH_MODE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.FLASH_MODE/value=dio
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.FLASH_SIZE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.FLASH_SIZE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.FLASH_SIZE/value=4M
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.F_CPU/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.F_CPU/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.F_CPU/value=80000000L
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.LWIP_FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.LWIP_FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.LWIP_FLAGS/value=-DLWIP_OPEN_SRC
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.LWIP_LIB/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.LWIP_LIB/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.LWIP_LIB/value=-llwip_gcc
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.MCU/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.MCU/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.MCU/value=esp8266
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.PATH/value=${ProjDirPath}/${ConfigName}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.PROJECT_NAME/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.PROJECT_NAME/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.PROJECT_NAME/value=${ProjName}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.SPIFFS_BLOCKSIZE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.SPIFFS_BLOCKSIZE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.SPIFFS_BLOCKSIZE/value=8192
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.SPIFFS_END/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.SPIFFS_END/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.SPIFFS_END/value=0x3FB000
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.SPIFFS_PAGESIZE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.SPIFFS_PAGESIZE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.SPIFFS_PAGESIZE/value=256
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.SPIFFS_START/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.SPIFFS_START/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.SPIFFS_START/value=0x300000
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.SYSTEM.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.SYSTEM.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.SYSTEM.PATH/value=${A.RUNTIME.PLATFORM.PATH}/system
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.VARIANT.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.VARIANT.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.VARIANT.PATH/value=${eclipse_home}/arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/variants/nodemcu
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.VARIANT/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.VARIANT/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.BUILD.VARIANT/value=nodemcu
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.AR.CMD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.AR.CMD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.AR.CMD/value=xtensa-lx106-elf-ar
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.AR.EXTRA_FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.AR.EXTRA_FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.AR.EXTRA_FLAGS/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.AR.FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.AR.FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.AR.FLAGS/value=cru
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.AS.CMD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.AS.CMD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.AS.CMD/value=xtensa-lx106-elf-as
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.CMD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.CMD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.CMD/value=xtensa-lx106-elf-gcc
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.ELF.CMD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.ELF.CMD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.ELF.CMD/value=xtensa-lx106-elf-gcc
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.ELF.EXTRA_FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.ELF.EXTRA_FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.ELF.EXTRA_FLAGS/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.ELF.FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.ELF.FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.ELF.FLAGS/value=-g ${A.COMPILER.WARNING_FLAGS} -Os -nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static "-L${A.COMPILER.SDK.PATH}/lib" "-L${A.COMPILER.SDK.PATH}/ld" "-T${A.BUILD.FLASH_LD}" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,register_chipv6_phy
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.ELF.LIBS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.ELF.LIBS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.ELF.LIBS/value=-lm -lgcc -lhal -lphy -lpp -lnet80211 -lwpa -lcrypto -lmain -lwps -laxtls -lsmartconfig -lmesh -lwpa2 ${A.BUILD.LWIP_LIB} -lstdc++
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.EXTRA_FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.EXTRA_FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.EXTRA_FLAGS/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.C.FLAGS/value=-c ${A.COMPILER.WARNING_FLAGS} -Os -g -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions\=4 -MMD -std\=gnu99 -ffunction-sections -fdata-sections
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.CPP.CMD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.CPP.CMD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.CPP.CMD/value=xtensa-lx106-elf-g++
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.CPP.EXTRA_FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.CPP.EXTRA_FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.CPP.EXTRA_FLAGS/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.CPP.FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.CPP.FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.CPP.FLAGS/value=-c ${A.COMPILER.WARNING_FLAGS} -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions\=4 -std\=c++11 -MMD -ffunction-sections -fdata-sections
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.CPREPROCESSOR.FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.CPREPROCESSOR.FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.CPREPROCESSOR.FLAGS/value=-D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I${A.COMPILER.SDK.PATH}/include" "-I${A.COMPILER.SDK.PATH}/lwip/include" "-I${A.BUILD.PATH}/core"
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.ELF2HEX.CMD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.ELF2HEX.CMD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.ELF2HEX.CMD/value=esptool
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.ELF2HEX.EXTRA_FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.ELF2HEX.EXTRA_FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.ELF2HEX.EXTRA_FLAGS/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.ELF2HEX.FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.ELF2HEX.FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.ELF2HEX.FLAGS/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.ESPTOOL.CMD.WINDOWS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.ESPTOOL.CMD.WINDOWS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.ESPTOOL.CMD.WINDOWS/value=esptool.exe
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.ESPTOOL.CMD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.ESPTOOL.CMD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.ESPTOOL.CMD/value=esptool
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.OBJCOPY.EEP.EXTRA_FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.OBJCOPY.EEP.EXTRA_FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.OBJCOPY.EEP.EXTRA_FLAGS/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.PATH/value=${A.RUNTIME.TOOLS.XTENSA-LX106-ELF-GCC.PATH}/bin/
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.S.CMD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.S.CMD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.S.CMD/value=xtensa-lx106-elf-gcc
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.S.EXTRA_FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.S.EXTRA_FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.S.EXTRA_FLAGS/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.S.FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.S.FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.S.FLAGS/value=-c -g -x assembler-with-cpp -MMD -mlongcalls
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.SDK.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.SDK.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.SDK.PATH/value=${A.RUNTIME.PLATFORM.PATH}/tools/sdk
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.SIZE.CMD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.SIZE.CMD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.SIZE.CMD/value=xtensa-lx106-elf-size
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.WARNING_FLAGS.ALL/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.WARNING_FLAGS.ALL/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.WARNING_FLAGS.ALL/value=-Wall -Wextra
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.WARNING_FLAGS.DEFAULT/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.WARNING_FLAGS.DEFAULT/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.WARNING_FLAGS.DEFAULT/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.WARNING_FLAGS.MORE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.WARNING_FLAGS.MORE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.WARNING_FLAGS.MORE/value=-Wall
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.WARNING_FLAGS.NONE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.WARNING_FLAGS.NONE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.WARNING_FLAGS.NONE/value=-w
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.WARNING_FLAGS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.WARNING_FLAGS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.COMPILER.WARNING_FLAGS/value=${A.COMPILER.WARNING_FLAGS.ALL}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.ESP8266.NETWORK.UPLOAD.TOOL/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.ESP8266.NETWORK.UPLOAD.TOOL/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.ESP8266.NETWORK.UPLOAD.TOOL/value=esp8266OTA
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.EXTRA.TIME.DTS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.EXTRA.TIME.DTS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.EXTRA.TIME.DTS/value=3600
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.EXTRA.TIME.LOCAL/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.EXTRA.TIME.LOCAL/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.EXTRA.TIME.LOCAL/value=1556278652
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.EXTRA.TIME.UTC/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.EXTRA.TIME.UTC/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.EXTRA.TIME.UTC/value=1556271452
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.EXTRA.TIME.ZONE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.EXTRA.TIME.ZONE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.EXTRA.TIME.ZONE/value=3600
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.JANTJE.CORE.REFERENCED.PLATFORM/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.JANTJE.CORE.REFERENCED.PLATFORM/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.JANTJE.CORE.REFERENCED.PLATFORM/value=${JANTJE.SELECTED.PLATFORM}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.JANTJE.USED.BOARDS_FILE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.JANTJE.USED.BOARDS_FILE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.JANTJE.USED.BOARDS_FILE/value=${JANTJE.BOARDS_FILE}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.JANTJE.VARIANT.REFERENCED.PLATFORM/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.JANTJE.VARIANT.REFERENCED.PLATFORM/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.JANTJE.VARIANT.REFERENCED.PLATFORM/value=${JANTJE.SELECTED.PLATFORM}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.NAME/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.NAME/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.NAME/value=NodeMCU 1.0 (ESP-12E Module)
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.PACKAGES/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.PACKAGES/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.PACKAGES/value=${eclipse_home}/arduinoPlugin/packages
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.AR.PATTERN.1/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.AR.PATTERN.1/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.AR.PATTERN.1/value="/opt/eclipse/sloeber//arduinoPlugin/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-ar" cru "/home/wn/workspace-sloeber/rgbled/Release/arduino.ar"
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.AR.PATTERN.2/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.AR.PATTERN.2/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.AR.PATTERN.2/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.AR.PATTERN/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.AR.PATTERN/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.AR.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.AR.CMD}" ${A.COMPILER.AR.FLAGS} ${A.COMPILER.AR.EXTRA_FLAGS} "${A.BUILD.PATH}/arduino.ar" "${A.OBJECT_FILE}"
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.COMBINE.PATTERN.1/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.COMBINE.PATTERN.1/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.COMBINE.PATTERN.1/value="/opt/eclipse/sloeber//arduinoPlugin/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-gcc" -g -Wall -Wextra -Os -nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static "-L/opt/eclipse/sloeber//arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/lib" "-L/opt/eclipse/sloeber//arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/ld" "-Teagle.flash.4m1m.ld" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,register_chipv6_phy -o "/home/wn/workspace-sloeber/rgbled/Release/rgbled.elf" -Wl,--start-group
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.COMBINE.PATTERN.2/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.COMBINE.PATTERN.2/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.COMBINE.PATTERN.2/value=\ "/home/wn/workspace-sloeber/rgbled/Release/arduino.ar" -lm -lgcc -lhal -lphy -lpp -lnet80211 -lwpa -lcrypto -lmain -lwps -laxtls -lsmartconfig -lmesh -lwpa2 -llwip_gcc -lstdc++ -Wl,--end-group "-L/home/wn/workspace-sloeber/rgbled/Release"
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.COMBINE.PATTERN/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.COMBINE.PATTERN/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.COMBINE.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.C.ELF.CMD}" ${A.COMPILER.C.ELF.FLAGS} ${A.COMPILER.C.ELF.EXTRA_FLAGS} -o "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" -Wl,--start-group ${A.OBJECT_FILES} "${A.BUILD.PATH}/arduino.ar" ${A.COMPILER.C.ELF.LIBS} -Wl,--end-group "-L${A.BUILD.PATH}"
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.O.PATTERN.1/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.O.PATTERN.1/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.O.PATTERN.1/value="/opt/eclipse/sloeber//arduinoPlugin/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-gcc" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/opt/eclipse/sloeber//arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/include" "-I/opt/eclipse/sloeber//arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/lwip/include" "-I/home/wn/workspace-sloeber/rgbled/Release/core" -c -Wall -Wextra -Os -g -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions\=4 -std\=gnu99 -ffunction-sections -fdata-sections -DF_CPU\=80000000L -DLWIP_OPEN_SRC -DARDUINO\=10802 -DARDUINO_ESP8266_NODEMCU -DARDUINO_ARCH_ESP8266 '-DARDUINO_BOARD\="ESP8266_NODEMCU"' -DESP8266
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.O.PATTERN.2/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.O.PATTERN.2/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.O.PATTERN.2/value=\ -o
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.O.PATTERN.3/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.O.PATTERN.3/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.O.PATTERN.3/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.O.PATTERN/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.O.PATTERN/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.C.O.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.C.CMD}" ${A.COMPILER.CPREPROCESSOR.FLAGS} ${A.COMPILER.C.FLAGS} -DF_CPU\=${A.BUILD.F_CPU} ${A.BUILD.LWIP_FLAGS} ${A.BUILD.DEBUG_PORT} ${A.BUILD.DEBUG_LEVEL} -DARDUINO\=${A.RUNTIME.IDE.VERSION} -DARDUINO_${A.BUILD.BOARD} -DARDUINO_ARCH_${A.BUILD.ARCH} '-DARDUINO_BOARD\="${A.BUILD.BOARD}"' ${A.COMPILER.C.EXTRA_FLAGS} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES} "${A.SOURCE_FILE}" -o "${A.OBJECT_FILE}"
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.CPP.O.PATTERN.1/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.CPP.O.PATTERN.1/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.CPP.O.PATTERN.1/value="/opt/eclipse/sloeber//arduinoPlugin/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/opt/eclipse/sloeber//arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/include" "-I/opt/eclipse/sloeber//arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/lwip/include" "-I/home/wn/workspace-sloeber/rgbled/Release/core" -c -Wall -Wextra -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions\=4 -std\=c++11 -ffunction-sections -fdata-sections -DF_CPU\=80000000L -DLWIP_OPEN_SRC -DARDUINO\=10802 -DARDUINO_ESP8266_NODEMCU -DARDUINO_ARCH_ESP8266 '-DARDUINO_BOARD\="ESP8266_NODEMCU"' -DESP8266
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.CPP.O.PATTERN.2/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.CPP.O.PATTERN.2/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.CPP.O.PATTERN.2/value=\ -o
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.CPP.O.PATTERN.3/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.CPP.O.PATTERN.3/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.CPP.O.PATTERN.3/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.CPP.O.PATTERN/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.CPP.O.PATTERN/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.CPP.O.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.CPP.CMD}" ${A.COMPILER.CPREPROCESSOR.FLAGS} ${A.COMPILER.CPP.FLAGS} -DF_CPU\=${A.BUILD.F_CPU} ${A.BUILD.LWIP_FLAGS} ${A.BUILD.DEBUG_PORT} ${A.BUILD.DEBUG_LEVEL} -DARDUINO\=${A.RUNTIME.IDE.VERSION} -DARDUINO_${A.BUILD.BOARD} -DARDUINO_ARCH_${A.BUILD.ARCH} '-DARDUINO_BOARD\="${A.BUILD.BOARD}"' ${A.COMPILER.CPP.EXTRA_FLAGS} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES} "${A.SOURCE_FILE}" -o "${A.OBJECT_FILE}"
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OBJCOPY.EEP.PATTERN.1/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OBJCOPY.EEP.PATTERN.1/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OBJCOPY.EEP.PATTERN.1/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OBJCOPY.EEP.PATTERN/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OBJCOPY.EEP.PATTERN/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OBJCOPY.EEP.PATTERN/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OBJCOPY.HEX.PATTERN.1/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OBJCOPY.HEX.PATTERN.1/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OBJCOPY.HEX.PATTERN.1/value="/opt/eclipse/sloeber//arduinoPlugin/packages/esp8266/tools/esptool/0.4.9/esptool" -eo "/opt/eclipse/sloeber//arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/bootloaders/eboot/eboot.elf" -bo "/home/wn/workspace-sloeber/rgbled/Release/rgbled.bin" -bm dio -bf 40 -bz 4M -bs .text -bp 4096 -ec -eo "/home/wn/workspace-sloeber/rgbled/Release/rgbled.elf" -bs .irom0.text -bs .text -bs .data -bs .rodata -bc -ec
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OBJCOPY.HEX.PATTERN/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OBJCOPY.HEX.PATTERN/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OBJCOPY.HEX.PATTERN/value="${A.RUNTIME.TOOLS.ESPTOOL.PATH}/${A.COMPILER.ESPTOOL.CMD}" -eo "${A.RUNTIME.PLATFORM.PATH}/bootloaders/eboot/eboot.elf" -bo "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.bin" -bm ${A.BUILD.FLASH_MODE} -bf ${A.BUILD.FLASH_FREQ} -bz ${A.BUILD.FLASH_SIZE} -bs .text -bp 4096 -ec -eo "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" -bs .irom0.text -bs .text -bs .data -bs .rodata -bc -ec
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OUTPUT.SAVE_FILE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OUTPUT.SAVE_FILE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OUTPUT.SAVE_FILE/value=${A.BUILD.PROJECT_NAME}.${A.BUILD.VARIANT}.bin
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OUTPUT.TMP_FILE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OUTPUT.TMP_FILE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.OUTPUT.TMP_FILE/value=${A.BUILD.PROJECT_NAME}.bin
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.S.O.PATTERN.1/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.S.O.PATTERN.1/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.S.O.PATTERN.1/value="/opt/eclipse/sloeber//arduinoPlugin/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-gcc" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/opt/eclipse/sloeber//arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/include" "-I/opt/eclipse/sloeber//arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/lwip/include" "-I/home/wn/workspace-sloeber/rgbled/Release/core" -c -g -x assembler-with-cpp -mlongcalls -DF_CPU\=80000000L -DLWIP_OPEN_SRC -DARDUINO\=10802 -DARDUINO_ESP8266_NODEMCU -DARDUINO_ARCH_ESP8266 '-DARDUINO_BOARD\="ESP8266_NODEMCU"' -DESP8266
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.S.O.PATTERN.2/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.S.O.PATTERN.2/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.S.O.PATTERN.2/value=\ -o
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.S.O.PATTERN.3/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.S.O.PATTERN.3/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.S.O.PATTERN.3/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.S.O.PATTERN/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.S.O.PATTERN/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.S.O.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.C.CMD}" ${A.COMPILER.CPREPROCESSOR.FLAGS} ${A.COMPILER.S.FLAGS} -DF_CPU\=${A.BUILD.F_CPU} ${A.BUILD.LWIP_FLAGS} ${A.BUILD.DEBUG_PORT} ${A.BUILD.DEBUG_LEVEL} -DARDUINO\=${A.RUNTIME.IDE.VERSION} -DARDUINO_${A.BUILD.BOARD} -DARDUINO_ARCH_${A.BUILD.ARCH} '-DARDUINO_BOARD\="${A.BUILD.BOARD}"' ${A.COMPILER.C.EXTRA_FLAGS} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES} "${A.SOURCE_FILE}" -o "${A.OBJECT_FILE}"
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.SIZE.PATTERN.1/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.SIZE.PATTERN.1/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.SIZE.PATTERN.1/value="/opt/eclipse/sloeber//arduinoPlugin/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-size" -A "/home/wn/workspace-sloeber/rgbled/Release/rgbled.elf"
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.SIZE.PATTERN/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.SIZE.PATTERN/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.SIZE.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.SIZE.CMD}" -A "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf"
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.SIZE.REGEX.DATA/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.SIZE.REGEX.DATA/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.SIZE.REGEX.DATA/value=^(?\:\\.data|\\.rodata|\\.bss)\\s+([0-9]+).*
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.SIZE.REGEX/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.SIZE.REGEX/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RECIPE.SIZE.REGEX/value=^(?\:\\.irom0\\.text|\\.text|\\.data|\\.rodata|)\\s+([0-9]+).*
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.HARDWARE.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.HARDWARE.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.HARDWARE.PATH/value=${eclipse_home}/arduinoPlugin/packages/esp8266/hardware/esp8266
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.IDE.VERSION/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.IDE.VERSION/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.IDE.VERSION/value=10802
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.PLATFORM.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.PLATFORM.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.PLATFORM.PATH/value=${eclipse_home}/arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.REFERENCED.PLATFORM.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.REFERENCED.PLATFORM.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.REFERENCED.PLATFORM.PATH/value=${eclipse_home}/arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ARDUINOOTA-1.1.1.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ARDUINOOTA-1.1.1.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ARDUINOOTA-1.1.1.PATH/value=${eclipse_home}/arduinoPlugin/packages/arduino/tools/arduinoOTA/1.1.1
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ARDUINOOTA.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ARDUINOOTA.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ARDUINOOTA.PATH/value=${eclipse_home}/arduinoPlugin/packages/arduino/tools/arduinoOTA/1.1.1
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ARDUINOOTA1.1.1.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ARDUINOOTA1.1.1.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ARDUINOOTA1.1.1.PATH/value=${eclipse_home}/arduinoPlugin/packages/arduino/tools/arduinoOTA/1.1.1
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVR-GCC-4.9.2-ATMEL3.5.4-ARDUINO2.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVR-GCC-4.9.2-ATMEL3.5.4-ARDUINO2.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVR-GCC-4.9.2-ATMEL3.5.4-ARDUINO2.PATH/value=${eclipse_home}/arduinoPlugin/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVR-GCC.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVR-GCC.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVR-GCC.PATH/value=${eclipse_home}/arduinoPlugin/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVR-GCC4.9.2-ATMEL3.5.4-ARDUINO2.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVR-GCC4.9.2-ATMEL3.5.4-ARDUINO2.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVR-GCC4.9.2-ATMEL3.5.4-ARDUINO2.PATH/value=${eclipse_home}/arduinoPlugin/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVRDUDE-6.3.0-ARDUINO9.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVRDUDE-6.3.0-ARDUINO9.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVRDUDE-6.3.0-ARDUINO9.PATH/value=${eclipse_home}/arduinoPlugin/packages/arduino/tools/avrdude/6.3.0-arduino9
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVRDUDE.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVRDUDE.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVRDUDE.PATH/value=${eclipse_home}/arduinoPlugin/packages/arduino/tools/avrdude/6.3.0-arduino9
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVRDUDE6.3.0-ARDUINO9.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVRDUDE6.3.0-ARDUINO9.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.AVRDUDE6.3.0-ARDUINO9.PATH/value=${eclipse_home}/arduinoPlugin/packages/arduino/tools/avrdude/6.3.0-arduino9
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ESPTOOL-0.4.9.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ESPTOOL-0.4.9.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ESPTOOL-0.4.9.PATH/value=${eclipse_home}/arduinoPlugin/packages/esp8266/tools/esptool/0.4.9
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ESPTOOL.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ESPTOOL.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ESPTOOL.PATH/value=${eclipse_home}/arduinoPlugin/packages/esp8266/tools/esptool/0.4.9
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ESPTOOL0.4.9.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ESPTOOL0.4.9.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.ESPTOOL0.4.9.PATH/value=${eclipse_home}/arduinoPlugin/packages/esp8266/tools/esptool/0.4.9
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.MKSPIFFS-0.1.2.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.MKSPIFFS-0.1.2.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.MKSPIFFS-0.1.2.PATH/value=${eclipse_home}/arduinoPlugin/packages/esp8266/tools/mkspiffs/0.1.2
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.MKSPIFFS.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.MKSPIFFS.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.MKSPIFFS.PATH/value=${eclipse_home}/arduinoPlugin/packages/esp8266/tools/mkspiffs/0.1.2
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.MKSPIFFS0.1.2.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.MKSPIFFS0.1.2.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.MKSPIFFS0.1.2.PATH/value=${eclipse_home}/arduinoPlugin/packages/esp8266/tools/mkspiffs/0.1.2
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.XTENSA-LX106-ELF-GCC-1.20.0-26-GB404FB9-2.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.XTENSA-LX106-ELF-GCC-1.20.0-26-GB404FB9-2.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.XTENSA-LX106-ELF-GCC-1.20.0-26-GB404FB9-2.PATH/value=${eclipse_home}/arduinoPlugin/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.XTENSA-LX106-ELF-GCC.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.XTENSA-LX106-ELF-GCC.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.XTENSA-LX106-ELF-GCC.PATH/value=${eclipse_home}/arduinoPlugin/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.XTENSA-LX106-ELF-GCC1.20.0-26-GB404FB9-2.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.XTENSA-LX106-ELF-GCC1.20.0-26-GB404FB9-2.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.RUNTIME.TOOLS.XTENSA-LX106-ELF-GCC1.20.0-26-GB404FB9-2.PATH/value=${eclipse_home}/arduinoPlugin/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.SERIAL.DISABLEDTR/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.SERIAL.DISABLEDTR/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.SERIAL.DISABLEDTR/value=true
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.SERIAL.DISABLERTS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.SERIAL.DISABLERTS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.SERIAL.DISABLERTS/value=true
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.SERIAL.PORT.FILE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.SERIAL.PORT.FILE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.SERIAL.PORT.FILE/value=${A.SERIAL.PORT}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.SERIAL.PORT/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.SERIAL.PORT/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.SERIAL.PORT/value=${JANTJE.COM_PORT}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.SOFTWARE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.SOFTWARE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.SOFTWARE/value=ARDUINO
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.AVRDUDE_REMOTE.UPLOAD.VERBOSE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.AVRDUDE_REMOTE.UPLOAD.VERBOSE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.AVRDUDE_REMOTE.UPLOAD.VERBOSE/value=-v
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESP8266OTA.UPLOAD.PATTERN/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESP8266OTA.UPLOAD.PATTERN/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESP8266OTA.UPLOAD.PATTERN/value=${A.TOOLS.ESPTOOL.UPLOAD.NETWORK_PATTERN}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESP8266OTA/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESP8266OTA/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESP8266OTA/value=${A.TOOLS.ESPTOOL.NETWORK_CMD}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.CMD.WINDOWS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.CMD.WINDOWS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.CMD.WINDOWS/value=esptool.exe
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.CMD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.CMD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.CMD/value=esptool
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.NETWORK.PASSWORD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.NETWORK.PASSWORD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.NETWORK.PASSWORD/value=${A.TOOLS.ESPTOOL.NETWORK.AUTH}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.NETWORK_CMD.WINDOWS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.NETWORK_CMD.WINDOWS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.NETWORK_CMD.WINDOWS/value=python.exe
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.NETWORK_CMD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.NETWORK_CMD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.NETWORK_CMD/value=python
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.PATH/value=${A.RUNTIME.TOOLS.ESPTOOL.PATH}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.UPLOAD.NETWORK_PATTERN/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.UPLOAD.NETWORK_PATTERN/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.UPLOAD.NETWORK_PATTERN/value="${A.TOOLS.ESPTOOL.NETWORK_CMD}" "${A.RUNTIME.PLATFORM.PATH}/tools/espota.py" -i "${A.SERIAL.PORT}" -p "${A.TOOLS.ESPTOOL.NETWORK.PORT}" "--auth\=${A.TOOLS.ESPTOOL.NETWORK.PASSWORD}" -f "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.bin"
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.UPLOAD.PARAMS.QUIET/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.UPLOAD.PARAMS.QUIET/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.UPLOAD.PARAMS.QUIET/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.UPLOAD.PARAMS.VERBOSE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.UPLOAD.PARAMS.VERBOSE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.UPLOAD.PARAMS.VERBOSE/value=-vv
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.UPLOAD.PATTERN/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.UPLOAD.PATTERN/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.UPLOAD.PATTERN/value="${A.TOOLS.ESPTOOL.PATH}/${A.TOOLS.ESPTOOL.CMD}" ${A.TOOLS.ESPTOOL.UPLOAD.VERBOSE} -cd ${A.UPLOAD.RESETMETHOD} -cb ${A.UPLOAD.SPEED} -cp "${A.SERIAL.PORT}" -ca 0x00000 -cf "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.bin"
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.UPLOAD.PROTOCOL/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.UPLOAD.PROTOCOL/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.ESPTOOL.UPLOAD.PROTOCOL/value=esp
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.MKSPIFFS.CMD.WINDOWS/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.MKSPIFFS.CMD.WINDOWS/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.MKSPIFFS.CMD.WINDOWS/value=mkspiffs.exe
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.MKSPIFFS.CMD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.MKSPIFFS.CMD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.MKSPIFFS.CMD/value=mkspiffs
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.MKSPIFFS.PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.MKSPIFFS.PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.TOOLS.MKSPIFFS.PATH/value=${A.RUNTIME.TOOLS.MKSPIFFS.PATH}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.ALTID/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.ALTID/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.ALTID/value=no_altID
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.MAXIMUM_DATA_SIZE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.MAXIMUM_DATA_SIZE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.MAXIMUM_DATA_SIZE/value=81920
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.MAXIMUM_SIZE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.MAXIMUM_SIZE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.MAXIMUM_SIZE/value=1044464
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.PROTOCOL/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.PROTOCOL/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.PROTOCOL/value=stk500v1
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.RESETMETHOD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.RESETMETHOD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.RESETMETHOD/value=nodemcu
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.SPEED/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.SPEED/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.SPEED/value=115200
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.TOOL/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.TOOL/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.TOOL/value=esptool
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.USBID/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.USBID/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.USBID/value=no_altID
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.WAIT_FOR_UPLOAD_PORT/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.WAIT_FOR_UPLOAD_PORT/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.UPLOAD.WAIT_FOR_UPLOAD_PORT/value=true
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.VERSION/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.VERSION/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/A.VERSION/value=2.2.0
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.ARCHITECTURE_ID/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.ARCHITECTURE_ID/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.ARCHITECTURE_ID/value=esp8266
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.BOARDS_FILE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.BOARDS_FILE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.BOARDS_FILE/value=${eclipse_home}/arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/boards.txt
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.BOARD_ID/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.BOARD_ID/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.BOARD_ID/value=nodemcuv2
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.BOARD_NAME/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.BOARD_NAME/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.BOARD_NAME/value=NodeMCU 1.0 (ESP-12E Module)
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.COM_PORT/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.COM_PORT/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.COM_PORT/value=/dev/ttyUSB0
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.ECLIPSE_LOCATION/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.ECLIPSE_LOCATION/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.ECLIPSE_LOCATION/value=${eclipse_home}/////
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.ALL/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.ALL/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.ALL/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.ARCHIVE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.ARCHIVE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.ARCHIVE/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.ASSEMBLY/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.ASSEMBLY/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.ASSEMBLY/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.C.COMPILE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.C.COMPILE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.C.COMPILE/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.COMPILE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.COMPILE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.COMPILE/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.CPP.COMPILE/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.CPP.COMPILE/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.CPP.COMPILE/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.LINK/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.LINK/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.EXTRA.LINK/value=
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.MENU/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.MENU/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.MENU/value=CpuFrequency\=80\nFlashSize\=4M1M\nUploadSpeed\=115200
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.OBJCOPY/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.OBJCOPY/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.OBJCOPY/value=${A.RECIPE.OBJCOPY.HEX.PATTERN}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.OS_NAME/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.OS_NAME/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.OS_NAME/value=linux
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.PACKAGE_ID/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.PACKAGE_ID/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.PACKAGE_ID/value=esp8266
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.PROJECT_NAME/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.PROJECT_NAME/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.PROJECT_NAME/value=rgbled
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.SELECTED.PLATFORM/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.SELECTED.PLATFORM/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.SELECTED.PLATFORM/value=${eclipse_home}/arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.SIZE.SWITCH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.SIZE.SWITCH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.SIZE.SWITCH/value=${A.RECIPE.SIZE.PATTERN}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.UPLOAD/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.UPLOAD/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.UPLOAD/value=Default
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.WARNING_LEVEL/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.WARNING_LEVEL/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.WARNING_LEVEL/value=true
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.WORKSPACE_LOCATION/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.WORKSPACE_LOCATION/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/JANTJE.WORKSPACE_LOCATION/value=/home/wn/workspace-sloeber
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/PATH/delimiter=\:
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/PATH/operation=replace
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/PATH/value=${A.COMPILER.PATH}${PathDelimiter}${A.BUILD.GENERIC.PATH}${PathDelimiter}${PATH}
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/append=true
|
||||
environment/project/io.sloeber.core.toolChain.release.1704841599/appendContributed=true
|
36
build.sh
Executable file
36
build.sh
Executable file
@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$1" == "" ]; then
|
||||
echo "Give one of the targets: build, clean, upload"
|
||||
echo "If you want to use a project directory different"
|
||||
echo "than the current directory, give it as a second"
|
||||
echo "argument."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$2" != "" ]; then
|
||||
PROJECT_DIR=$2
|
||||
else
|
||||
PROJECT_DIR=$PWD
|
||||
fi
|
||||
|
||||
|
||||
if [ "$1" == "build" ]; then
|
||||
pushd $PROJECT_DIR/libraries/esp8266boilerplate/ConfigGenerator && ./configGen.sh && popd
|
||||
env ARDUINO_SKETCHBOOK_DIR=$PROJECT_DIR arduino-cli compile --fqbn=esp8266:esp8266:nodemcu $PROJECT_DIR/sketch
|
||||
cp sketch/sketch.esp8266.esp8266.nodemcu.* .
|
||||
elif [ "$1" == "clean" ]; then
|
||||
for D in libraries/includes/configuration.h libraries/includes/configuration.cpp sketch/sketch.esp8266.esp8266.nodemcu.bin sketch/sketch.esp8266.esp8266.nodemcu.elf sketch.esp8266.esp8266.nodemcu.bin sketch.esp8266.esp8266.nodemcu.elf; do
|
||||
echo -n "About to delete $D ... "
|
||||
rm $PROJECT_DIR/$D && echo "done"
|
||||
done
|
||||
elif [ "$1" == "upload" ]; then
|
||||
echo "About to upload to device"
|
||||
esptool.py --port /dev/ttyUSB1 write_flash 0 sketch.esp8266.esp8266.nodemcu.bin
|
||||
else
|
||||
echo "Unknown subcommand '$1'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
Submodule libraries/esp8266boilerplate updated: 8a0585887c...4a4b8ee788
Submodule libraries/esp8266mqttboilerplate updated: 8f07319494...50a1c84f30
@ -1,389 +0,0 @@
|
||||
#include <Arduino.h>
|
||||
|
||||
#include <ESP8266WiFi.h>
|
||||
#include <ESP8266WebServer.h>
|
||||
#include <EEPROM.h>
|
||||
|
||||
#include "defines.h"
|
||||
#include "configuration.h"
|
||||
|
||||
|
||||
tConfigBlock configBlock;
|
||||
const uint32_t MAGIC = 3235774470;
|
||||
const char* CONFIG_SSID = "espconfig";
|
||||
extern ESP8266WebServer webServer;
|
||||
|
||||
bool configSaved = false;
|
||||
|
||||
|
||||
static bool checkAuthentication() {
|
||||
Serial.print("User: "); Serial.println(configBlock.confUser);
|
||||
Serial.print("Pass: "); Serial.println(configBlock.confPasswd);
|
||||
return webServer.authenticate(configBlock.confUser, configBlock.confPasswd);
|
||||
}
|
||||
|
||||
void configServeIndex() {
|
||||
bool configValid = (configBlock.magic == MAGIC);
|
||||
|
||||
if (! configValid) {
|
||||
configBlock.magic = MAGIC;
|
||||
strcpy(configBlock.confUser, "admin");
|
||||
strcpy(configBlock.confPasswd, "geheim123");
|
||||
strcpy(configBlock.wifiSsid, "test");
|
||||
strcpy(configBlock.wifiKey, "geheim");
|
||||
strcpy(configBlock.mqttBroker, "broker.hottis.de");
|
||||
strcpy(configBlock.mqttUser, "RgbLed1");
|
||||
strcpy(configBlock.mqttPass, "geheim123");
|
||||
strcpy(configBlock.mqttClientId, "RgbLed1");
|
||||
configBlock.mqttPort = 8883;
|
||||
strcpy(configBlock.mqttTopicColorCommand, "IoT/RgbLed1/ColorCommand");
|
||||
strcpy(configBlock.mqttTopicCommand, "IoT/RgbLed1/Command");
|
||||
strcpy(configBlock.mqttDebugTopic, "IoT/RgbLed1/Debug");
|
||||
configBlock.debugMode = 0;
|
||||
}
|
||||
|
||||
if (! checkAuthentication()) {
|
||||
return webServer.requestAuthentication();
|
||||
}
|
||||
|
||||
|
||||
String buffer =
|
||||
"<!doctype html"
|
||||
"<html lang=\"en\">"
|
||||
" <head>"
|
||||
" <title>ESP8266 based RGB-LED-Light</title>"
|
||||
" </head>"
|
||||
" <body>"
|
||||
" <h1>ESP8266 based RGB-LED-Light - ESP8266 Configuration Page</h1>";
|
||||
|
||||
if (configSaved) {
|
||||
configSaved = false;
|
||||
buffer += "<h2>Configuration saved</h2>";
|
||||
}
|
||||
|
||||
buffer +=
|
||||
" <form action=\"/config\" method=\"GET\">"
|
||||
" <table>"
|
||||
" <tr>"
|
||||
" <td>"
|
||||
" <label for\"confUser\">Config Username</label>"
|
||||
" </td><td>"
|
||||
" <input type=\"text\" name=\"confUser\" id=\"confUser\" ";
|
||||
|
||||
buffer += " size=\"16\" ";
|
||||
buffer += " value=\"";
|
||||
buffer += configBlock.confUser;
|
||||
buffer += "\"";
|
||||
|
||||
buffer +=
|
||||
" />"
|
||||
" </td>"
|
||||
" </tr>"
|
||||
" <tr>"
|
||||
" <td>"
|
||||
" <label for\"confPasswd\">Config Password</label>"
|
||||
" </td><td>"
|
||||
" <input type=\"text\" name=\"confPasswd\" id=\"confPasswd\" ";
|
||||
|
||||
buffer += " size=\"16\" ";
|
||||
buffer += " value=\"";
|
||||
buffer += configBlock.confPasswd;
|
||||
buffer += "\"";
|
||||
|
||||
buffer +=
|
||||
" />"
|
||||
" </td>"
|
||||
" </tr>"
|
||||
" <tr>"
|
||||
" <td>"
|
||||
" <label for\"wifiSsid\">Wifi SSID</label>"
|
||||
" </td><td>"
|
||||
" <input type=\"text\" name=\"wifiSsid\" id=\"wifiSsid\" ";
|
||||
|
||||
buffer += " size=\"32\" ";
|
||||
buffer += " value=\"";
|
||||
buffer += configBlock.wifiSsid;
|
||||
buffer += "\"";
|
||||
|
||||
buffer +=
|
||||
" />"
|
||||
" </td>"
|
||||
" </tr>"
|
||||
" <tr>"
|
||||
" <td>"
|
||||
" <label for\"wifiKey\">Wifi Key</label>"
|
||||
" </td><td>"
|
||||
" <input type=\"text\" name=\"wifiKey\" id=\"wifiKey\" ";
|
||||
|
||||
buffer += " size=\"64\" ";
|
||||
buffer += " value=\"";
|
||||
buffer += configBlock.wifiKey;
|
||||
buffer += "\"";
|
||||
|
||||
buffer +=
|
||||
" />"
|
||||
" </td>"
|
||||
" </tr>"
|
||||
" <tr>"
|
||||
" <td>"
|
||||
" <label for\"mqttBroker\">MQTT Broker</label>"
|
||||
" </td><td>"
|
||||
" <input type=\"text\" name=\"mqttBroker\" id=\"mqttBroker\" ";
|
||||
|
||||
buffer += " size=\"32\" ";
|
||||
buffer += " value=\"";
|
||||
buffer += configBlock.mqttBroker;
|
||||
buffer += "\"";
|
||||
|
||||
buffer +=
|
||||
" />"
|
||||
" </td>"
|
||||
" </tr>"
|
||||
" <tr>"
|
||||
" <td>"
|
||||
" <label for\"mqttUser\">MQTT Username</label>"
|
||||
" </td><td>"
|
||||
" <input type=\"text\" name=\"mqttUser\" id=\"mqttUser\" ";
|
||||
|
||||
buffer += " size=\"32\" ";
|
||||
buffer += " value=\"";
|
||||
buffer += configBlock.mqttUser;
|
||||
buffer += "\"";
|
||||
|
||||
buffer +=
|
||||
" />"
|
||||
" </td>"
|
||||
" </tr>"
|
||||
" <tr>"
|
||||
" <td>"
|
||||
" <label for\"mqttPass\">MQTT Password</label>"
|
||||
" </td><td>"
|
||||
" <input type=\"text\" name=\"mqttPass\" id=\"mqttPass\" ";
|
||||
|
||||
buffer += " size=\"32\" ";
|
||||
buffer += " value=\"";
|
||||
buffer += configBlock.mqttPass;
|
||||
buffer += "\"";
|
||||
|
||||
buffer +=
|
||||
" />"
|
||||
" </td>"
|
||||
" </tr>"
|
||||
" <tr>"
|
||||
" <td>"
|
||||
" <label for\"mqttClientId\">MQTT ClientId</label>"
|
||||
" </td><td>"
|
||||
" <input type=\"text\" name=\"mqttClientId\" id=\"mqttClientId\" ";
|
||||
|
||||
buffer += " size=\"32\" ";
|
||||
buffer += " value=\"";
|
||||
buffer += configBlock.mqttClientId;
|
||||
buffer += "\"";
|
||||
|
||||
buffer +=
|
||||
" />"
|
||||
" </td>"
|
||||
" </tr>"
|
||||
" <tr>"
|
||||
" <td>"
|
||||
" <label for\"mqttPort\">MQTT Port</label>"
|
||||
" </td><td>"
|
||||
" <input type=\"text\" name=\"mqttPort\" id=\"mqttPort\" ";
|
||||
|
||||
buffer += " value=\"";
|
||||
buffer += configBlock.mqttPort;
|
||||
buffer += "\"";
|
||||
|
||||
buffer +=
|
||||
" />"
|
||||
" </td>"
|
||||
" </tr>"
|
||||
" <tr>"
|
||||
" <td>"
|
||||
" <label for\"mqttTopicColorCommand\">MQTT Topic Color Command</label>"
|
||||
" </td><td>"
|
||||
" <input type=\"text\" name=\"mqttTopicColorCommand\" id=\"mqttTopicColorCommand\" ";
|
||||
|
||||
buffer += " size=\"64\" ";
|
||||
buffer += " value=\"";
|
||||
buffer += configBlock.mqttTopicColorCommand;
|
||||
buffer += "\"";
|
||||
|
||||
buffer +=
|
||||
" />"
|
||||
" </td>"
|
||||
" </tr>"
|
||||
" <tr>"
|
||||
" <td>"
|
||||
" <label for\"mqttTopicCommand\">MQTT Topic Command</label>"
|
||||
" </td><td>"
|
||||
" <input type=\"text\" name=\"mqttTopicCommand\" id=\"mqttTopicCommand\" ";
|
||||
|
||||
buffer += " size=\"64\" ";
|
||||
buffer += " value=\"";
|
||||
buffer += configBlock.mqttTopicCommand;
|
||||
buffer += "\"";
|
||||
|
||||
buffer +=
|
||||
" />"
|
||||
" </td>"
|
||||
" </tr>"
|
||||
" <tr>"
|
||||
" <td>"
|
||||
" <label for\"mqttDebugTopic\">MQTT DebugTopic</label>"
|
||||
" </td><td>"
|
||||
" <input type=\"text\" name=\"mqttDebugTopic\" id=\"mqttDebugTopic\" ";
|
||||
|
||||
buffer += " size=\"64\" ";
|
||||
buffer += " value=\"";
|
||||
buffer += configBlock.mqttDebugTopic;
|
||||
buffer += "\"";
|
||||
|
||||
buffer +=
|
||||
" />"
|
||||
" </td>"
|
||||
" </tr>"
|
||||
" <tr>"
|
||||
" <td>"
|
||||
" <label for\"debugMode\">DebugMode</label>"
|
||||
" </td><td>"
|
||||
" <input type=\"text\" name=\"debugMode\" id=\"debugMode\" ";
|
||||
|
||||
buffer += " value=\"";
|
||||
buffer += configBlock.debugMode;
|
||||
buffer += "\"";
|
||||
|
||||
buffer +=
|
||||
" />"
|
||||
" </td>"
|
||||
" </tr>"
|
||||
" <tr>"
|
||||
" <td colspan=\"2\">"
|
||||
" <button type=\"submit\">Save</button>"
|
||||
" </td>"
|
||||
" </tr>"
|
||||
" </table>"
|
||||
" </form>"
|
||||
" </body>"
|
||||
"</html>";
|
||||
|
||||
webServer.send(200, "text/html", buffer);
|
||||
|
||||
|
||||
#ifdef DEBUG
|
||||
Serial.println("indexHtml request served");
|
||||
#endif
|
||||
}
|
||||
|
||||
void configServeGetConfiguration() {
|
||||
if (! checkAuthentication()) {
|
||||
return webServer.requestAuthentication();
|
||||
}
|
||||
|
||||
String arg;
|
||||
|
||||
arg = webServer.arg("confUser");
|
||||
strcpy(configBlock.confUser, arg.c_str());
|
||||
arg = webServer.arg("confPasswd");
|
||||
strcpy(configBlock.confPasswd, arg.c_str());
|
||||
arg = webServer.arg("wifiSsid");
|
||||
strcpy(configBlock.wifiSsid, arg.c_str());
|
||||
arg = webServer.arg("wifiKey");
|
||||
strcpy(configBlock.wifiKey, arg.c_str());
|
||||
arg = webServer.arg("mqttBroker");
|
||||
strcpy(configBlock.mqttBroker, arg.c_str());
|
||||
arg = webServer.arg("mqttUser");
|
||||
strcpy(configBlock.mqttUser, arg.c_str());
|
||||
arg = webServer.arg("mqttPass");
|
||||
strcpy(configBlock.mqttPass, arg.c_str());
|
||||
arg = webServer.arg("mqttClientId");
|
||||
strcpy(configBlock.mqttClientId, arg.c_str());
|
||||
arg = webServer.arg("mqttPort");
|
||||
configBlock.mqttPort = atoi(arg.c_str());
|
||||
arg = webServer.arg("mqttTopicColorCommand");
|
||||
strcpy(configBlock.mqttTopicColorCommand, arg.c_str());
|
||||
arg = webServer.arg("mqttTopicCommand");
|
||||
strcpy(configBlock.mqttTopicCommand, arg.c_str());
|
||||
arg = webServer.arg("mqttDebugTopic");
|
||||
strcpy(configBlock.mqttDebugTopic, arg.c_str());
|
||||
arg = webServer.arg("debugMode");
|
||||
configBlock.debugMode = atoi(arg.c_str());
|
||||
|
||||
configBlock.magic = MAGIC;
|
||||
|
||||
showConfiguration();
|
||||
|
||||
EEPROM.begin(512);
|
||||
EEPROM.put(EEPROM_ADDR, configBlock);
|
||||
EEPROM.commit();
|
||||
|
||||
Serial.println("EEPROM saved");
|
||||
|
||||
configSaved = true;
|
||||
webServer.sendHeader("Location", String("/"), true);
|
||||
webServer.send(302, "text/plain", "");
|
||||
//webServer.send(200, "text/html", "configuration saved");
|
||||
}
|
||||
|
||||
void showConfiguration() {
|
||||
Serial.println("Configuration is");
|
||||
|
||||
Serial.print("magic = <");
|
||||
Serial.print(configBlock.magic);
|
||||
Serial.println(">");
|
||||
|
||||
Serial.print("confUser = <");
|
||||
Serial.print(configBlock.confUser);
|
||||
Serial.println(">");
|
||||
|
||||
Serial.print("confPasswd = <");
|
||||
Serial.print(configBlock.confPasswd);
|
||||
Serial.println(">");
|
||||
|
||||
Serial.print("wifiSsid = <");
|
||||
Serial.print(configBlock.wifiSsid);
|
||||
Serial.println(">");
|
||||
|
||||
Serial.print("wifiKey = <");
|
||||
Serial.print(configBlock.wifiKey);
|
||||
Serial.println(">");
|
||||
|
||||
Serial.print("mqttBroker = <");
|
||||
Serial.print(configBlock.mqttBroker);
|
||||
Serial.println(">");
|
||||
|
||||
Serial.print("mqttUser = <");
|
||||
Serial.print(configBlock.mqttUser);
|
||||
Serial.println(">");
|
||||
|
||||
Serial.print("mqttPass = <");
|
||||
Serial.print(configBlock.mqttPass);
|
||||
Serial.println(">");
|
||||
|
||||
Serial.print("mqttClientId = <");
|
||||
Serial.print(configBlock.mqttClientId);
|
||||
Serial.println(">");
|
||||
|
||||
Serial.print("mqttPort = <");
|
||||
Serial.print(configBlock.mqttPort);
|
||||
Serial.println(">");
|
||||
|
||||
Serial.print("mqttTopicColorCommand = <");
|
||||
Serial.print(configBlock.mqttTopicColorCommand);
|
||||
Serial.println(">");
|
||||
|
||||
Serial.print("mqttTopicCommand = <");
|
||||
Serial.print(configBlock.mqttTopicCommand);
|
||||
Serial.println(">");
|
||||
|
||||
Serial.print("mqttDebugTopic = <");
|
||||
Serial.print(configBlock.mqttDebugTopic);
|
||||
Serial.println(">");
|
||||
|
||||
Serial.print("debugMode = <");
|
||||
Serial.print(configBlock.debugMode);
|
||||
Serial.println(">");
|
||||
|
||||
|
||||
Serial.println("---");
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
typedef struct {
|
||||
uint32_t magic;
|
||||
char confUser[16];
|
||||
char confPasswd[16];
|
||||
char wifiSsid[32];
|
||||
char wifiKey[64];
|
||||
char mqttBroker[32];
|
||||
char mqttUser[32];
|
||||
char mqttPass[32];
|
||||
char mqttClientId[32];
|
||||
uint32_t mqttPort;
|
||||
char mqttTopicColorCommand[64];
|
||||
char mqttTopicCommand[64];
|
||||
char mqttDebugTopic[64];
|
||||
uint32_t debugMode;
|
||||
} tConfigBlock;
|
||||
|
||||
extern const uint32_t MAGIC;
|
||||
extern tConfigBlock configBlock;
|
||||
extern const char* CONFIG_SSID;
|
||||
|
||||
void configServeIndex();
|
||||
void configServeGetConfiguration();
|
||||
void showConfiguration();
|
@ -8,7 +8,7 @@
|
||||
#ifndef DEFINES_H_
|
||||
#define DEFINES_H_
|
||||
|
||||
#define DEBUG
|
||||
// #define DEBUG
|
||||
|
||||
|
||||
|
||||
@ -41,7 +41,7 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define NUM_OF_LEDs 16
|
||||
#define NUM_OF_LEDs 300
|
||||
|
||||
|
||||
#endif /* DEFINES_H_ */
|
||||
|
@ -1,670 +0,0 @@
|
||||
/*
|
||||
PubSubClient.cpp - A simple client for MQTT.
|
||||
Nick O'Leary
|
||||
http://knolleary.net
|
||||
*/
|
||||
|
||||
#include "PubSubClient.h"
|
||||
#include "Arduino.h"
|
||||
|
||||
#ifdef ESP8266
|
||||
#define INIT_FINGERPRINT() this->fingerprint = NULL;
|
||||
#else
|
||||
#define INIT_FINGERPRINT()
|
||||
#endif
|
||||
|
||||
PubSubClient::PubSubClient() {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
this->_client = NULL;
|
||||
this->stream = NULL;
|
||||
setCallback(NULL);
|
||||
this->_available = 0;
|
||||
INIT_FINGERPRINT()
|
||||
}
|
||||
|
||||
PubSubClient::PubSubClient(Client& client) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setClient(client);
|
||||
this->stream = NULL;
|
||||
this->_available = 0;
|
||||
INIT_FINGERPRINT()
|
||||
}
|
||||
|
||||
#ifdef ESP8266
|
||||
PubSubClient::PubSubClient(WiFiClientSecure& client, const char* fingerprint) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setClient(client);
|
||||
this->stream = NULL;
|
||||
this->_available = 0;
|
||||
this->fingerprint = fingerprint;
|
||||
}
|
||||
#endif
|
||||
|
||||
PubSubClient::PubSubClient(IPAddress addr, uint16_t port, Client& client) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(addr, port);
|
||||
setClient(client);
|
||||
this->stream = NULL;
|
||||
this->_available = 0;
|
||||
INIT_FINGERPRINT()
|
||||
}
|
||||
PubSubClient::PubSubClient(IPAddress addr, uint16_t port, Client& client, Stream& stream) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(addr,port);
|
||||
setClient(client);
|
||||
setStream(stream);
|
||||
this->_available = 0;
|
||||
INIT_FINGERPRINT()
|
||||
}
|
||||
PubSubClient::PubSubClient(IPAddress addr, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(addr, port);
|
||||
setCallback(callback);
|
||||
setClient(client);
|
||||
this->stream = NULL;
|
||||
this->_available = 0;
|
||||
INIT_FINGERPRINT()
|
||||
}
|
||||
PubSubClient::PubSubClient(IPAddress addr, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client, Stream& stream) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(addr,port);
|
||||
setCallback(callback);
|
||||
setClient(client);
|
||||
setStream(stream);
|
||||
this->_available = 0;
|
||||
INIT_FINGERPRINT()
|
||||
}
|
||||
|
||||
PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, Client& client) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(ip, port);
|
||||
setClient(client);
|
||||
this->stream = NULL;
|
||||
this->_available = 0;
|
||||
INIT_FINGERPRINT()
|
||||
}
|
||||
PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, Client& client, Stream& stream) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(ip,port);
|
||||
setClient(client);
|
||||
setStream(stream);
|
||||
this->_available = 0;
|
||||
INIT_FINGERPRINT()
|
||||
}
|
||||
PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(ip, port);
|
||||
setCallback(callback);
|
||||
setClient(client);
|
||||
this->stream = NULL;
|
||||
this->_available = 0;
|
||||
INIT_FINGERPRINT()
|
||||
}
|
||||
PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client, Stream& stream) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(ip,port);
|
||||
setCallback(callback);
|
||||
setClient(client);
|
||||
setStream(stream);
|
||||
this->_available = 0;
|
||||
INIT_FINGERPRINT()
|
||||
}
|
||||
|
||||
PubSubClient::PubSubClient(const char* domain, uint16_t port, Client& client) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(domain,port);
|
||||
setClient(client);
|
||||
this->stream = NULL;
|
||||
this->_available = 0;
|
||||
INIT_FINGERPRINT()
|
||||
}
|
||||
PubSubClient::PubSubClient(const char* domain, uint16_t port, Client& client, Stream& stream) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(domain,port);
|
||||
setClient(client);
|
||||
setStream(stream);
|
||||
this->_available = 0;
|
||||
INIT_FINGERPRINT()
|
||||
}
|
||||
PubSubClient::PubSubClient(const char* domain, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(domain,port);
|
||||
setCallback(callback);
|
||||
setClient(client);
|
||||
this->stream = NULL;
|
||||
this->_available = 0;
|
||||
INIT_FINGERPRINT()
|
||||
}
|
||||
PubSubClient::PubSubClient(const char* domain, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client, Stream& stream) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(domain,port);
|
||||
setCallback(callback);
|
||||
setClient(client);
|
||||
setStream(stream);
|
||||
this->_available = 0;
|
||||
INIT_FINGERPRINT()
|
||||
}
|
||||
|
||||
boolean PubSubClient::connect(const char *id) {
|
||||
return connect(id,NULL,NULL,0,0,0,0);
|
||||
}
|
||||
|
||||
boolean PubSubClient::connect(const char *id, const char *user, const char *pass) {
|
||||
return connect(id,user,pass,0,0,0,0);
|
||||
}
|
||||
|
||||
boolean PubSubClient::connect(const char *id, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage) {
|
||||
return connect(id,NULL,NULL,willTopic,willQos,willRetain,willMessage);
|
||||
}
|
||||
|
||||
boolean PubSubClient::connect(const char *id, const char *user, const char *pass, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage) {
|
||||
if (!connected()) {
|
||||
int result = 0;
|
||||
|
||||
if (domain != NULL) {
|
||||
result = _client->connect(this->domain, this->port);
|
||||
} else {
|
||||
result = _client->connect(this->ip, this->port);
|
||||
}
|
||||
|
||||
#ifdef ESP8266
|
||||
if (fingerprint != NULL) {
|
||||
if (domain != NULL) {
|
||||
// there's only one way to set fingerprint: using the WiFiClientSecure-based constructor, so this cast is safe
|
||||
if (!static_cast<WiFiClientSecure*>(_client)->verify(fingerprint, domain)) {
|
||||
_state = MQTT_TLS_BAD_SERVER_CREDENTIALS;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
char buffer[16]; // IPv4 only (which is what IPAddress supports anyway)
|
||||
|
||||
ip.toString().toCharArray(buffer, 16);
|
||||
|
||||
if (!static_cast<WiFiClientSecure*>(_client)->verify(fingerprint, buffer)) {
|
||||
_state = MQTT_TLS_BAD_SERVER_CREDENTIALS;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (result == 1) {
|
||||
nextMsgId = 1;
|
||||
// Leave room in the buffer for header and variable length field
|
||||
uint16_t length = 5;
|
||||
unsigned int j;
|
||||
|
||||
#if MQTT_VERSION == MQTT_VERSION_3_1
|
||||
uint8_t d[9] = {0x00,0x06,'M','Q','I','s','d','p', MQTT_VERSION};
|
||||
#define MQTT_HEADER_VERSION_LENGTH 9
|
||||
#elif MQTT_VERSION == MQTT_VERSION_3_1_1
|
||||
uint8_t d[7] = {0x00,0x04,'M','Q','T','T',MQTT_VERSION};
|
||||
#define MQTT_HEADER_VERSION_LENGTH 7
|
||||
#endif
|
||||
for (j = 0;j<MQTT_HEADER_VERSION_LENGTH;j++) {
|
||||
buffer[length++] = d[j];
|
||||
}
|
||||
|
||||
uint8_t v;
|
||||
if (willTopic) {
|
||||
v = 0x06|(willQos<<3)|(willRetain<<5);
|
||||
} else {
|
||||
v = 0x02;
|
||||
}
|
||||
|
||||
if(user != NULL) {
|
||||
v = v|0x80;
|
||||
|
||||
if(pass != NULL) {
|
||||
v = v|(0x80>>1);
|
||||
}
|
||||
}
|
||||
|
||||
buffer[length++] = v;
|
||||
|
||||
buffer[length++] = ((MQTT_KEEPALIVE) >> 8);
|
||||
buffer[length++] = ((MQTT_KEEPALIVE) & 0xFF);
|
||||
length = writeString(id,buffer,length);
|
||||
if (willTopic) {
|
||||
length = writeString(willTopic,buffer,length);
|
||||
length = writeString(willMessage,buffer,length);
|
||||
}
|
||||
|
||||
if(user != NULL) {
|
||||
length = writeString(user,buffer,length);
|
||||
if(pass != NULL) {
|
||||
length = writeString(pass,buffer,length);
|
||||
}
|
||||
}
|
||||
|
||||
write(MQTTCONNECT,buffer,length-5);
|
||||
|
||||
lastInActivity = lastOutActivity = millis();
|
||||
|
||||
while (!available()) {
|
||||
unsigned long t = millis();
|
||||
if (t-lastInActivity >= ((int32_t) MQTT_SOCKET_TIMEOUT*1000UL)) {
|
||||
_state = MQTT_CONNECTION_TIMEOUT;
|
||||
_client->stop();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
uint8_t llen;
|
||||
uint16_t len = readPacket(&llen);
|
||||
|
||||
if (len == 4) {
|
||||
if (buffer[3] == 0) {
|
||||
lastInActivity = millis();
|
||||
pingOutstanding = false;
|
||||
_state = MQTT_CONNECTED;
|
||||
return true;
|
||||
} else {
|
||||
_state = buffer[3];
|
||||
}
|
||||
}
|
||||
_client->stop();
|
||||
} else {
|
||||
_state = MQTT_CONNECT_FAILED;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// return and cache the available number of bytes in the client;
|
||||
// remember to reduce the available count when consuming the buffer
|
||||
int PubSubClient::available() {
|
||||
if (_available == 0) {
|
||||
_available = _client->available();
|
||||
}
|
||||
return _available;
|
||||
}
|
||||
|
||||
// reads a byte into result
|
||||
boolean PubSubClient::readByte(uint8_t * result) {
|
||||
uint32_t previousMillis = millis();
|
||||
while(!available()) {
|
||||
uint32_t currentMillis = millis();
|
||||
if(currentMillis - previousMillis >= ((int32_t) MQTT_SOCKET_TIMEOUT * 1000)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
*result = _client->read();
|
||||
_available -= 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
// reads a byte into result[*index] and increments index
|
||||
boolean PubSubClient::readByte(uint8_t * result, uint16_t * index){
|
||||
uint16_t current_index = *index;
|
||||
uint8_t * write_address = &(result[current_index]);
|
||||
if(readByte(write_address)){
|
||||
*index = current_index + 1;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
uint16_t PubSubClient::readPacket(uint8_t* lengthLength) {
|
||||
uint16_t len = 0;
|
||||
if(!readByte(buffer, &len)) return 0;
|
||||
bool isPublish = (buffer[0]&0xF0) == MQTTPUBLISH;
|
||||
uint32_t multiplier = 1;
|
||||
uint16_t length = 0;
|
||||
uint8_t digit = 0;
|
||||
uint16_t skip = 0;
|
||||
uint8_t start = 0;
|
||||
|
||||
do {
|
||||
if(!readByte(&digit)) return 0;
|
||||
buffer[len++] = digit;
|
||||
length += (digit & 127) * multiplier;
|
||||
multiplier *= 128;
|
||||
} while ((digit & 128) != 0);
|
||||
*lengthLength = len-1;
|
||||
|
||||
if (isPublish) {
|
||||
// Read in topic length to calculate bytes to skip over for Stream writing
|
||||
if(!readByte(buffer, &len)) return 0;
|
||||
if(!readByte(buffer, &len)) return 0;
|
||||
skip = (buffer[*lengthLength+1]<<8)+buffer[*lengthLength+2];
|
||||
start = 2;
|
||||
if (buffer[0]&MQTTQOS1) {
|
||||
// skip message id
|
||||
skip += 2;
|
||||
}
|
||||
}
|
||||
|
||||
for (uint16_t i = start;i<length;i++) {
|
||||
if(!readByte(&digit)) return 0;
|
||||
if (this->stream) {
|
||||
if (isPublish && len-*lengthLength-2>skip) {
|
||||
this->stream->write(digit);
|
||||
}
|
||||
}
|
||||
if (len < MQTT_MAX_PACKET_SIZE) {
|
||||
buffer[len] = digit;
|
||||
}
|
||||
len++;
|
||||
}
|
||||
|
||||
if (!this->stream && len > MQTT_MAX_PACKET_SIZE) {
|
||||
len = 0; // This will cause the packet to be ignored.
|
||||
}
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
boolean PubSubClient::loop() {
|
||||
if (connected()) {
|
||||
do {
|
||||
unsigned long t = millis();
|
||||
if ((t - lastInActivity > MQTT_KEEPALIVE*1000UL) || (t - lastOutActivity > MQTT_KEEPALIVE*1000UL)) {
|
||||
if (pingOutstanding) {
|
||||
this->_state = MQTT_CONNECTION_TIMEOUT;
|
||||
_client->stop();
|
||||
return false;
|
||||
} else {
|
||||
buffer[0] = MQTTPINGREQ;
|
||||
buffer[1] = 0;
|
||||
_client->write(buffer,2);
|
||||
lastOutActivity = t;
|
||||
lastInActivity = t;
|
||||
pingOutstanding = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (available()) {
|
||||
uint8_t llen;
|
||||
uint16_t len = readPacket(&llen);
|
||||
uint16_t msgId = 0;
|
||||
uint8_t *payload;
|
||||
if (len > 0) {
|
||||
lastInActivity = t;
|
||||
uint8_t type = buffer[0]&0xF0;
|
||||
if (type == MQTTPUBLISH) {
|
||||
if (callback) {
|
||||
uint16_t tl = (buffer[llen+1]<<8)+buffer[llen+2]; /* topic length in bytes */
|
||||
memmove(buffer+llen+2,buffer+llen+3,tl); /* move topic inside buffer 1 byte to front */
|
||||
buffer[llen+2+tl] = 0; /* end the topic as a 'C' string with \x00 */
|
||||
char *topic = (char*) buffer+llen+2;
|
||||
// msgId only present for QOS>0
|
||||
if ((buffer[0]&0x06) == MQTTQOS1) {
|
||||
msgId = (buffer[llen+3+tl]<<8)+buffer[llen+3+tl+1];
|
||||
payload = buffer+llen+3+tl+2;
|
||||
callback(topic,payload,len-llen-3-tl-2);
|
||||
|
||||
buffer[0] = MQTTPUBACK;
|
||||
buffer[1] = 2;
|
||||
buffer[2] = (msgId >> 8);
|
||||
buffer[3] = (msgId & 0xFF);
|
||||
_client->write(buffer,4);
|
||||
lastOutActivity = t;
|
||||
|
||||
} else {
|
||||
payload = buffer+llen+3+tl;
|
||||
callback(topic,payload,len-llen-3-tl);
|
||||
}
|
||||
}
|
||||
} else if (type == MQTTPINGREQ) {
|
||||
buffer[0] = MQTTPINGRESP;
|
||||
buffer[1] = 0;
|
||||
_client->write(buffer,2);
|
||||
} else if (type == MQTTPINGRESP) {
|
||||
pingOutstanding = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
} while (_available > 0); // can't leave data in the buffer, or subsequent publish() calls
|
||||
// may fail (axTLS is only half-duplex, so writes will fail, to
|
||||
// avoid losing information)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean PubSubClient::publish(const char* topic, const char* payload) {
|
||||
return publish(topic,(const uint8_t*)payload,strlen(payload),false);
|
||||
}
|
||||
|
||||
boolean PubSubClient::publish(const char* topic, const char* payload, boolean retained) {
|
||||
return publish(topic,(const uint8_t*)payload,strlen(payload),retained);
|
||||
}
|
||||
|
||||
boolean PubSubClient::publish(const char* topic, const uint8_t* payload, unsigned int plength) {
|
||||
return publish(topic, payload, plength, false);
|
||||
}
|
||||
|
||||
boolean PubSubClient::publish(const char* topic, const uint8_t* payload, unsigned int plength, boolean retained) {
|
||||
if (connected()) {
|
||||
if (MQTT_MAX_PACKET_SIZE < 5 + 2+strlen(topic) + plength) {
|
||||
// Too long
|
||||
return false;
|
||||
}
|
||||
// Leave room in the buffer for header and variable length field
|
||||
uint16_t length = 5;
|
||||
length = writeString(topic,buffer,length);
|
||||
uint16_t i;
|
||||
for (i=0;i<plength;i++) {
|
||||
buffer[length++] = payload[i];
|
||||
}
|
||||
uint8_t header = MQTTPUBLISH;
|
||||
if (retained) {
|
||||
header |= 1;
|
||||
}
|
||||
return write(header,buffer,length-5);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean PubSubClient::publish_P(const char* topic, const uint8_t* payload, unsigned int plength, boolean retained) {
|
||||
uint8_t llen = 0;
|
||||
uint8_t digit;
|
||||
unsigned int rc = 0;
|
||||
uint16_t tlen;
|
||||
unsigned int pos = 0;
|
||||
unsigned int i;
|
||||
uint8_t header;
|
||||
unsigned int len;
|
||||
|
||||
if (!connected()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
tlen = strlen(topic);
|
||||
|
||||
header = MQTTPUBLISH;
|
||||
if (retained) {
|
||||
header |= 1;
|
||||
}
|
||||
buffer[pos++] = header;
|
||||
len = plength + 2 + tlen;
|
||||
do {
|
||||
digit = len % 128;
|
||||
len = len / 128;
|
||||
if (len > 0) {
|
||||
digit |= 0x80;
|
||||
}
|
||||
buffer[pos++] = digit;
|
||||
llen++;
|
||||
} while(len>0);
|
||||
|
||||
pos = writeString(topic,buffer,pos);
|
||||
|
||||
rc += _client->write(buffer,pos);
|
||||
|
||||
for (i=0;i<plength;i++) {
|
||||
rc += _client->write((char)pgm_read_byte_near(payload + i));
|
||||
}
|
||||
|
||||
lastOutActivity = millis();
|
||||
|
||||
return rc == tlen + 4 + plength;
|
||||
}
|
||||
|
||||
boolean PubSubClient::write(uint8_t header, uint8_t* buf, uint16_t length) {
|
||||
uint8_t lenBuf[4];
|
||||
uint8_t llen = 0;
|
||||
uint8_t digit;
|
||||
uint8_t pos = 0;
|
||||
uint16_t rc;
|
||||
uint16_t len = length;
|
||||
do {
|
||||
digit = len % 128;
|
||||
len = len / 128;
|
||||
if (len > 0) {
|
||||
digit |= 0x80;
|
||||
}
|
||||
lenBuf[pos++] = digit;
|
||||
llen++;
|
||||
} while(len>0);
|
||||
|
||||
buf[4-llen] = header;
|
||||
for (int i=0;i<llen;i++) {
|
||||
buf[5-llen+i] = lenBuf[i];
|
||||
}
|
||||
|
||||
#ifdef MQTT_MAX_TRANSFER_SIZE
|
||||
uint8_t* writeBuf = buf+(4-llen);
|
||||
uint16_t bytesRemaining = length+1+llen; //Match the length type
|
||||
uint8_t bytesToWrite;
|
||||
boolean result = true;
|
||||
while((bytesRemaining > 0) && result) {
|
||||
bytesToWrite = (bytesRemaining > MQTT_MAX_TRANSFER_SIZE)?MQTT_MAX_TRANSFER_SIZE:bytesRemaining;
|
||||
rc = _client->write(writeBuf,bytesToWrite);
|
||||
result = (rc == bytesToWrite);
|
||||
bytesRemaining -= rc;
|
||||
writeBuf += rc;
|
||||
}
|
||||
return result;
|
||||
#else
|
||||
rc = _client->write(buf+(4-llen),length+1+llen);
|
||||
lastOutActivity = millis();
|
||||
return (rc == 1+llen+length);
|
||||
#endif
|
||||
}
|
||||
|
||||
boolean PubSubClient::subscribe(const char* topic) {
|
||||
return subscribe(topic, 0);
|
||||
}
|
||||
|
||||
boolean PubSubClient::subscribe(const char* topic, uint8_t qos) {
|
||||
if (qos < 0 || qos > 1) {
|
||||
return false;
|
||||
}
|
||||
if (MQTT_MAX_PACKET_SIZE < 9 + strlen(topic)) {
|
||||
// Too long
|
||||
return false;
|
||||
}
|
||||
if (connected()) {
|
||||
// Leave room in the buffer for header and variable length field
|
||||
uint16_t length = 5;
|
||||
nextMsgId++;
|
||||
if (nextMsgId == 0) {
|
||||
nextMsgId = 1;
|
||||
}
|
||||
buffer[length++] = (nextMsgId >> 8);
|
||||
buffer[length++] = (nextMsgId & 0xFF);
|
||||
length = writeString((char*)topic, buffer,length);
|
||||
buffer[length++] = qos;
|
||||
return write(MQTTSUBSCRIBE|MQTTQOS1,buffer,length-5);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean PubSubClient::unsubscribe(const char* topic) {
|
||||
if (MQTT_MAX_PACKET_SIZE < 9 + strlen(topic)) {
|
||||
// Too long
|
||||
return false;
|
||||
}
|
||||
if (connected()) {
|
||||
uint16_t length = 5;
|
||||
nextMsgId++;
|
||||
if (nextMsgId == 0) {
|
||||
nextMsgId = 1;
|
||||
}
|
||||
buffer[length++] = (nextMsgId >> 8);
|
||||
buffer[length++] = (nextMsgId & 0xFF);
|
||||
length = writeString(topic, buffer,length);
|
||||
return write(MQTTUNSUBSCRIBE|MQTTQOS1,buffer,length-5);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void PubSubClient::disconnect() {
|
||||
buffer[0] = MQTTDISCONNECT;
|
||||
buffer[1] = 0;
|
||||
_client->write(buffer,2);
|
||||
_state = MQTT_DISCONNECTED;
|
||||
_client->stop();
|
||||
lastInActivity = lastOutActivity = millis();
|
||||
}
|
||||
|
||||
uint16_t PubSubClient::writeString(const char* string, uint8_t* buf, uint16_t pos) {
|
||||
const char* idp = string;
|
||||
uint16_t i = 0;
|
||||
pos += 2;
|
||||
while (*idp) {
|
||||
buf[pos++] = *idp++;
|
||||
i++;
|
||||
}
|
||||
buf[pos-i-2] = (i >> 8);
|
||||
buf[pos-i-1] = (i & 0xFF);
|
||||
return pos;
|
||||
}
|
||||
|
||||
|
||||
boolean PubSubClient::connected() {
|
||||
boolean rc;
|
||||
if (_client == NULL ) {
|
||||
rc = false;
|
||||
} else {
|
||||
rc = (int)_client->connected();
|
||||
if (!rc) {
|
||||
if (this->_state == MQTT_CONNECTED) {
|
||||
this->_state = MQTT_CONNECTION_LOST;
|
||||
_client->flush();
|
||||
_client->stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
PubSubClient& PubSubClient::setServer(uint8_t * ip, uint16_t port) {
|
||||
IPAddress addr(ip[0],ip[1],ip[2],ip[3]);
|
||||
return setServer(addr,port);
|
||||
}
|
||||
|
||||
PubSubClient& PubSubClient::setServer(IPAddress ip, uint16_t port) {
|
||||
this->ip = ip;
|
||||
this->port = port;
|
||||
this->domain = NULL;
|
||||
return *this;
|
||||
}
|
||||
|
||||
PubSubClient& PubSubClient::setServer(const char * domain, uint16_t port) {
|
||||
this->domain = domain;
|
||||
this->port = port;
|
||||
return *this;
|
||||
}
|
||||
|
||||
PubSubClient& PubSubClient::setCallback(MQTT_CALLBACK_SIGNATURE) {
|
||||
this->callback = callback;
|
||||
return *this;
|
||||
}
|
||||
|
||||
PubSubClient& PubSubClient::setClient(Client& client){
|
||||
this->_client = &client;
|
||||
return *this;
|
||||
}
|
||||
|
||||
PubSubClient& PubSubClient::setStream(Stream& stream){
|
||||
this->stream = &stream;
|
||||
return *this;
|
||||
}
|
||||
|
||||
int PubSubClient::state() {
|
||||
return this->_state;
|
||||
}
|
@ -1,160 +0,0 @@
|
||||
/*
|
||||
PubSubClient.h - A simple client for MQTT.
|
||||
Nick O'Leary
|
||||
http://knolleary.net
|
||||
*/
|
||||
|
||||
#ifndef PubSubClient_h
|
||||
#define PubSubClient_h
|
||||
|
||||
#include <Arduino.h>
|
||||
#include "IPAddress.h"
|
||||
#include "Client.h"
|
||||
#include "Stream.h"
|
||||
|
||||
#ifdef ESP8266
|
||||
#include "WiFiClientSecure.h"
|
||||
#endif
|
||||
|
||||
#define MQTT_VERSION_3_1 3
|
||||
#define MQTT_VERSION_3_1_1 4
|
||||
|
||||
// MQTT_VERSION : Pick the version
|
||||
//#define MQTT_VERSION MQTT_VERSION_3_1
|
||||
#ifndef MQTT_VERSION
|
||||
#define MQTT_VERSION MQTT_VERSION_3_1_1
|
||||
#endif
|
||||
|
||||
// MQTT_MAX_PACKET_SIZE : Maximum packet size
|
||||
#ifndef MQTT_MAX_PACKET_SIZE
|
||||
#define MQTT_MAX_PACKET_SIZE 128
|
||||
#endif
|
||||
|
||||
// MQTT_KEEPALIVE : keepAlive interval in Seconds
|
||||
#ifndef MQTT_KEEPALIVE
|
||||
#define MQTT_KEEPALIVE 15
|
||||
#endif
|
||||
|
||||
// MQTT_SOCKET_TIMEOUT: socket timeout interval in Seconds
|
||||
#ifndef MQTT_SOCKET_TIMEOUT
|
||||
#define MQTT_SOCKET_TIMEOUT 15
|
||||
#endif
|
||||
|
||||
// MQTT_MAX_TRANSFER_SIZE : limit how much data is passed to the network client
|
||||
// in each write call. Needed for the Arduino Wifi Shield. Leave undefined to
|
||||
// pass the entire MQTT packet in each write call.
|
||||
//#define MQTT_MAX_TRANSFER_SIZE 80
|
||||
|
||||
// Possible values for client.state()
|
||||
#define MQTT_TLS_BAD_SERVER_CREDENTIALS -5
|
||||
#define MQTT_CONNECTION_TIMEOUT -4
|
||||
#define MQTT_CONNECTION_LOST -3
|
||||
#define MQTT_CONNECT_FAILED -2
|
||||
#define MQTT_DISCONNECTED -1
|
||||
#define MQTT_CONNECTED 0
|
||||
#define MQTT_CONNECT_BAD_PROTOCOL 1
|
||||
#define MQTT_CONNECT_BAD_CLIENT_ID 2
|
||||
#define MQTT_CONNECT_UNAVAILABLE 3
|
||||
#define MQTT_CONNECT_BAD_CREDENTIALS 4
|
||||
#define MQTT_CONNECT_UNAUTHORIZED 5
|
||||
|
||||
#define MQTTCONNECT 1 << 4 // Client request to connect to Server
|
||||
#define MQTTCONNACK 2 << 4 // Connect Acknowledgment
|
||||
#define MQTTPUBLISH 3 << 4 // Publish message
|
||||
#define MQTTPUBACK 4 << 4 // Publish Acknowledgment
|
||||
#define MQTTPUBREC 5 << 4 // Publish Received (assured delivery part 1)
|
||||
#define MQTTPUBREL 6 << 4 // Publish Release (assured delivery part 2)
|
||||
#define MQTTPUBCOMP 7 << 4 // Publish Complete (assured delivery part 3)
|
||||
#define MQTTSUBSCRIBE 8 << 4 // Client Subscribe request
|
||||
#define MQTTSUBACK 9 << 4 // Subscribe Acknowledgment
|
||||
#define MQTTUNSUBSCRIBE 10 << 4 // Client Unsubscribe request
|
||||
#define MQTTUNSUBACK 11 << 4 // Unsubscribe Acknowledgment
|
||||
#define MQTTPINGREQ 12 << 4 // PING Request
|
||||
#define MQTTPINGRESP 13 << 4 // PING Response
|
||||
#define MQTTDISCONNECT 14 << 4 // Client is Disconnecting
|
||||
#define MQTTReserved 15 << 4 // Reserved
|
||||
|
||||
#define MQTTQOS0 (0 << 1)
|
||||
#define MQTTQOS1 (1 << 1)
|
||||
#define MQTTQOS2 (2 << 1)
|
||||
|
||||
#ifdef ESP8266
|
||||
#include <functional>
|
||||
#define MQTT_CALLBACK_SIGNATURE std::function<void(char*, uint8_t*, unsigned int)> callback
|
||||
#else
|
||||
#define MQTT_CALLBACK_SIGNATURE void (*callback)(char*, uint8_t*, unsigned int)
|
||||
#endif
|
||||
|
||||
class PubSubClient {
|
||||
private:
|
||||
Client* _client;
|
||||
uint8_t buffer[MQTT_MAX_PACKET_SIZE];
|
||||
uint16_t nextMsgId;
|
||||
unsigned long lastOutActivity;
|
||||
unsigned long lastInActivity;
|
||||
int _available;
|
||||
bool pingOutstanding;
|
||||
MQTT_CALLBACK_SIGNATURE;
|
||||
int available();
|
||||
uint16_t readPacket(uint8_t*);
|
||||
boolean readByte(uint8_t * result);
|
||||
boolean readByte(uint8_t * result, uint16_t * index);
|
||||
boolean write(uint8_t header, uint8_t* buf, uint16_t length);
|
||||
uint16_t writeString(const char* string, uint8_t* buf, uint16_t pos);
|
||||
IPAddress ip;
|
||||
const char* domain;
|
||||
uint16_t port;
|
||||
Stream* stream;
|
||||
int _state;
|
||||
|
||||
#ifdef ESP8266
|
||||
const char* fingerprint;
|
||||
#endif
|
||||
|
||||
public:
|
||||
PubSubClient();
|
||||
PubSubClient(Client& client);
|
||||
PubSubClient(IPAddress, uint16_t, Client& client);
|
||||
PubSubClient(IPAddress, uint16_t, Client& client, Stream&);
|
||||
PubSubClient(IPAddress, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);
|
||||
PubSubClient(IPAddress, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);
|
||||
PubSubClient(uint8_t *, uint16_t, Client& client);
|
||||
PubSubClient(uint8_t *, uint16_t, Client& client, Stream&);
|
||||
PubSubClient(uint8_t *, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);
|
||||
PubSubClient(uint8_t *, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);
|
||||
PubSubClient(const char*, uint16_t, Client& client);
|
||||
PubSubClient(const char*, uint16_t, Client& client, Stream&);
|
||||
PubSubClient(const char*, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);
|
||||
PubSubClient(const char*, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);
|
||||
|
||||
#ifdef ESP8266
|
||||
PubSubClient(WiFiClientSecure& client, const char* fingerprint);
|
||||
#endif
|
||||
|
||||
PubSubClient& setServer(IPAddress ip, uint16_t port);
|
||||
PubSubClient& setServer(uint8_t * ip, uint16_t port);
|
||||
PubSubClient& setServer(const char * domain, uint16_t port);
|
||||
PubSubClient& setCallback(MQTT_CALLBACK_SIGNATURE);
|
||||
PubSubClient& setClient(Client& client);
|
||||
PubSubClient& setStream(Stream& stream);
|
||||
|
||||
boolean connect(const char* id);
|
||||
boolean connect(const char* id, const char* user, const char* pass);
|
||||
boolean connect(const char* id, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage);
|
||||
boolean connect(const char* id, const char* user, const char* pass, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage);
|
||||
void disconnect();
|
||||
boolean publish(const char* topic, const char* payload);
|
||||
boolean publish(const char* topic, const char* payload, boolean retained);
|
||||
boolean publish(const char* topic, const uint8_t * payload, unsigned int plength);
|
||||
boolean publish(const char* topic, const uint8_t * payload, unsigned int plength, boolean retained);
|
||||
boolean publish_P(const char* topic, const uint8_t * payload, unsigned int plength, boolean retained);
|
||||
boolean subscribe(const char* topic);
|
||||
boolean subscribe(const char* topic, uint8_t qos);
|
||||
boolean unsubscribe(const char* topic);
|
||||
boolean loop();
|
||||
boolean connected();
|
||||
int state();
|
||||
};
|
||||
|
||||
|
||||
#endif
|
82
readme.md
82
readme.md
@ -1,4 +1,82 @@
|
||||
export ARDUINO_SKETCHBOOK_DIR=~/rgbled
|
||||
arduino-cli compile --debug --fqbn=esp8266:esp8266:nodemcu ~/rgbled/sketch
|
||||
# RgbLed - A Project and a Sample Project for multiple concepts
|
||||
|
||||
## The Project itself
|
||||
|
||||
This thing serves as a controller for smart RGB leds like WS2811, WS2812, PL9823 or others. For this purpose it utilizes the Adafruit Neopixel library.
|
||||
|
||||
It receives commands via MQTT to send related code sequences to chains of those leds. It supports two commands, which it receives via two MQTT topics it subscribes.
|
||||
|
||||
The simple ``command`` accepts one or two arguments. When only one argument is given, this argument has to be a number between 0 and 255 and is interpreted as brightness. All three colors of all connected leds are driven with that value. When two arguments are given, the first argument is interpreted as the number of the led to drive, starting with 0 and the second argument is again the brightness.
|
||||
|
||||
The ``colorCommand`` accepts one, two, three or four arguments. With only one argument, this argument is interpreted as a color word (on or white, off, warmwhite, red, green, blue, purple, yellow). All connected leds will be driven with the given color combination. With two arguments, the first one is the led number, the second one is the color word. Three arguments have to be 8 bit numbers to control the color channels of all connected leds. With four arguments the first argument is the led number, the remaining three are again red, green and blue values.
|
||||
|
||||
## Sample Project for ...
|
||||
|
||||
### ... a project to be used together with the ``build-env-arduino`` docker image
|
||||
|
||||
The ``build-env-arduino`` docker image, which can be loaded using the image name ``registry.gitlab.com/wolutator/build-env-arduino:latest`` is a tinned or preserved build environment for boards supported by the Arduino development system. Currently ``arduino:avr`` and ``esp8266:esp8266`` are supported by this image.
|
||||
|
||||
It is maintained in to the project [https://gitlab.com/wolutator/build-env-arduino].
|
||||
|
||||
A preserved build environment, which easily can be installed or simply loaded for many developers in exactly the same way and which can easily be archived is a major topic is professional software engineering. If you have a team of lots of developers you don't want to waste time by letting everyone install his or her development environment manually, finally ending up with minor to major differences which makes it hard to compare or integrate software or let one developer investigate a bug another developer found. Furthermore you want to be able, especially in an industrial environment, to pick a development environment from the shelve to investigate and fix an issue reported in a years-old software. Both can be achieved with preserved environments.
|
||||
|
||||
This preserved Arduino build environment uses the Arduino CLI tool, which can be found at [https://downloads.arduino.cc/arduino-cli/arduino-cli-latest-linux64.tar.bz2] and which is discussed here [https://blog.arduino.cc/2018/08/24/announcing-the-arduino-command-line-interface-cli/].
|
||||
|
||||
This Arduino CLI tool expects your projects to be stored in the common ``sketchbook`` folder, where also the common (used by all projects) ``libraries`` folder is located. This is not my cup of tea. You want my projects separated from each other, together with all dependent libraries.
|
||||
|
||||
So, I created the following directory structure of my project repository:
|
||||
|
||||
RepoRoot/
|
||||
|
|
||||
+--- sketch/
|
||||
| |
|
||||
| +--- sketch.ino
|
||||
| +--- application.cpp
|
||||
| +--- application.h
|
||||
|
|
||||
+--- libraries/
|
||||
| |
|
||||
| +--- library1/
|
||||
| |
|
||||
| +--- library2/
|
||||
| |
|
||||
| +--- includes/
|
||||
|
|
||||
+--- .gitignore
|
||||
+--- .gitlab-ci.yml
|
||||
+--- readme.md
|
||||
|
||||
To make the Arduino CLI use this structure, I point the variable ``ARDUINO_SKETCHBOOK_DIR`` to it, so the commandline to build a project is
|
||||
|
||||
env ARDUINO_SKETCHBOOK_DIR=$PROJECT_DIR arduino-cli compile --fqbn=esp8266:esp8266:nodemcu $PROJECT_DIR/sketch
|
||||
|
||||
The Arduino system expects a file with the extension ``.ino`` and same name as the directory within the sketchbook directory. Since in my setup every project lifes in a separate sketchbook directory, I call the directory with the main application sources ``sketch`` and the accordingly the ``ino``-file ``sketch.ino``. This file contain the typical main functions of each Arduino project, which are ``setup`` and ``loop``.
|
||||
|
||||
In my projects, I do not put any meaningful code into the ``ino``, I have everything in the companion ``cpp`` file, which is usually ``application.cpp`` (with its friend ``application.h``)
|
||||
|
||||
When the Arduino system trys to find some included ``.h`` it has a powerful strategy, which works without any ``CFLAGS`` variable with ``-I`` options. It works just by convention. Thus, it searches in the Arduino core folders, in the ``sketch`` folder itself and in all subfolders of the ``libraries`` folder. For this reason I put a ``includes`` folder into the ``libraries`` folder where I place all header files, which are shared between the main application (the "sketch") and some libraries.
|
||||
|
||||
This approach can easily be implemented in a Gitlab CI script:
|
||||
|
||||
build:
|
||||
stage: build
|
||||
image: registry.gitlab.com/wolutator/build-env-arduino:latest
|
||||
variables:
|
||||
GIT_SUBMODULE_STRATEGY: recursive
|
||||
artifacts:
|
||||
paths:
|
||||
- sketch.esp8266.esp8266.nodemcu.bin
|
||||
script:
|
||||
- env ARDUINO_SKETCHBOOK_DIR=$CI_PROJECT_DIR arduino-cli compile --fqbn=esp8266:esp8266:nodemcu $CI_PROJECT_DIR/sketch
|
||||
- cp sketch/sketch.esp8266.esp8266.nodemcu.* .
|
||||
|
||||
|
||||
|
||||
|
||||
### Uploading to the target
|
||||
|
||||
In a final step the CI script will put the generated firmware binary into the Gitlab release area.
|
||||
It can be downloaded there and uploaded to the device using the ``esptool.py``.
|
||||
|
||||
esptool.py -p /dev/ttyUSB0 write_flash 0x0 sketch.esp8266.esp8266.nodemcu.bin
|
||||
|
||||
|
8
releaseInfo.json
Normal file
8
releaseInfo.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"releaseTag": "v1.0.5",
|
||||
"createReleaseTag": "true",
|
||||
"releaseName": "reset on wifi disconnect",
|
||||
"description": "in case of wifi disconnect trigger a reset of the system"
|
||||
}
|
||||
|
||||
|
@ -6,10 +6,8 @@ configItems = [
|
||||
{"label":"Wifi SSID", "key":"wifiSsid", "type":"C", "length":32, "default":"test"},
|
||||
{"label":"Wifi Key", "key":"wifiKey", "type":"C", "length":64, "default":"geheim"},
|
||||
{"label":"MQTT Broker", "key":"mqttBroker", "type":"C", "length":32, "default":"broker.hottis.de"},
|
||||
{"label":"MQTT Username", "key":"mqttUser", "type":"C", "length":32, "default":"RgbLed1"},
|
||||
{"label":"MQTT Password", "key":"mqttPass", "type":"C", "length":32, "default":"geheim123"},
|
||||
{"label":"MQTT ClientId", "key":"mqttClientId", "type":"C", "length":32, "default":"RgbLed1"},
|
||||
{"label":"MQTT Port", "key":"mqttPort", "type":"I", "default":8883},
|
||||
{"label":"MQTT Port", "key":"mqttPort", "type":"I", "default":1883},
|
||||
{"label":"MQTT Topic Color Command", "key":"mqttTopicColorCommand", "type":"C", "length":64, "default":"IoT/RgbLed1/ColorCommand"},
|
||||
{"label":"MQTT Topic Command", "key":"mqttTopicCommand", "type":"C", "length":64, "default":"IoT/RgbLed1/Command"},
|
||||
{"label":"MQTT DebugTopic", "key":"mqttDebugTopic", "type":"C", "length":64, "default":"IoT/RgbLed1/Debug"},
|
||||
|
@ -42,7 +42,8 @@ typedef struct {
|
||||
} CRGB;
|
||||
|
||||
|
||||
Adafruit_NeoPixel pixels(NUM_OF_LEDs, PIXEL_PIN, NEO_RGB + NEO_KHZ400);
|
||||
// Adafruit_NeoPixel pixels(NUM_OF_LEDs, PIXEL_PIN, NEO_RGB + NEO_KHZ400);
|
||||
Adafruit_NeoPixel pixels(NUM_OF_LEDs, PIXEL_PIN, NEO_GRB + NEO_KHZ800);
|
||||
#endif
|
||||
|
||||
bool show = false;
|
||||
@ -101,9 +102,9 @@ void subscribeApplication() {
|
||||
|
||||
|
||||
|
||||
static void setColor(int8_t ledNumber, uint8_t red, uint8_t green, uint8_t blue) {
|
||||
static void setColor(int16_t ledNumber, uint8_t red, uint8_t green, uint8_t blue) {
|
||||
if (ledNumber == -1) {
|
||||
for (uint8_t i = 0; i < NUM_OF_LEDs; i++) {
|
||||
for (uint16_t i = 0; i < NUM_OF_LEDs; i++) {
|
||||
#ifdef WS2811
|
||||
leds[i].r = red;
|
||||
leds[i].g = green;
|
||||
@ -193,7 +194,7 @@ void setupApplication() {
|
||||
#ifdef PL9823
|
||||
pixels.begin();
|
||||
|
||||
for (uint8_t i = 0; i < NUM_OF_LEDs; i++) {
|
||||
for (uint16_t i = 0; i < NUM_OF_LEDs; i++) {
|
||||
pixels.setPixelColor(i, pixels.Color(0,0,0));
|
||||
}
|
||||
pixels.show();
|
||||
|
23
test/test.py
Normal file
23
test/test.py
Normal file
@ -0,0 +1,23 @@
|
||||
import paho.mqtt.client as mqtt
|
||||
|
||||
RGB_TOPIC = 'IoT/RgbLedStripe/ColorCommand'
|
||||
|
||||
|
||||
client = mqtt.Client(client_id = 'test1')
|
||||
|
||||
client.connect("172.16.2.16", 1883, 60)
|
||||
|
||||
i = 0
|
||||
while True:
|
||||
client.loop()
|
||||
|
||||
i += 1
|
||||
if i == 300:
|
||||
i = 0
|
||||
client.publish(RGB_TOPIC, "{0} 0 0 255".format(i))
|
||||
client.publish(RGB_TOPIC, "{0} 0 255 0".format(i+1))
|
||||
client.publish(RGB_TOPIC, "{0} 255 0 0".format(i+2))
|
||||
client.publish(RGB_TOPIC, "{0} 0 0 0".format(i))
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user