works so far

This commit is contained in:
Wolfgang Hottgenroth 2018-01-25 15:25:49 +01:00
parent 3155b01470
commit 6dfe9e363a
9 changed files with 248 additions and 79 deletions

View File

@ -45,7 +45,7 @@
<link>
<name>core/variant</name>
<type>2</type>
<locationURI>ECLIPSE_HOME/arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/variants/generic</locationURI>
<locationURI>ECLIPSE_HOME/arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/variants/nodemcu</locationURI>
</link>
<link>
<name>libraries/EEPROM</name>

View File

@ -4,7 +4,7 @@
<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="-69172087333176163" id="io.sloeber.languageSettingsProvider" keep-relative-paths="false" name="Arduino Compiler Settings" parameter="${COMMAND} -E -P -v -dD -D__IN_ECLIPSE__ &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="io.sloeber.core.toolchain.ArduinoLanguageProvider" console="false" env-hash="-72844783099938269" id="io.sloeber.languageSettingsProvider" keep-relative-paths="false" name="Arduino Compiler Settings" parameter="${COMMAND} -E -P -v -dD -D__IN_ECLIPSE__ &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>

View File

@ -13,7 +13,7 @@ environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.ARCH/ope
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.ARCH/value=ESP8266
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.BOARD/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.BOARD/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.BOARD/value=ESP8266_ESP01
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.BOARD/value=ESP8266_NODEMCU
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.CORE.PATH/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.CORE.PATH/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.CORE.PATH/value=${A.RUNTIME.PLATFORM.PATH}/cores/${A.BUILD.CORE}
@ -22,16 +22,16 @@ environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.CORE/ope
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.CORE/value=esp8266
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.DEBUG_LEVEL/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.DEBUG_LEVEL/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.DEBUG_LEVEL/value=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.DEBUG_LEVEL/value=
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.DEBUG_PORT/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.DEBUG_PORT/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.DEBUG_PORT/value=-DDEBUG_ESP_PORT\=Serial
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.DEBUG_PORT/value=
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.EXTRA_FLAGS/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.EXTRA_FLAGS/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.EXTRA_FLAGS/value=-DESP8266
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.FLASH_FREQ/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.FLASH_FREQ/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.FLASH_FREQ/value=80
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.FLASH_FREQ/value=40
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.FLASH_LD/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.FLASH_LD/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.FLASH_LD/value=eagle.flash.4m1m.ld
@ -76,10 +76,10 @@ environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.SYSTEM.P
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.SYSTEM.PATH/value=${A.RUNTIME.PLATFORM.PATH}/system
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.VARIANT.PATH/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.VARIANT.PATH/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.VARIANT.PATH/value=${eclipse_home}/arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/variants/generic
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.VARIANT.PATH/value=${eclipse_home}/arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/variants/nodemcu
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.VARIANT/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.VARIANT/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.VARIANT/value=generic
environment/project/io.sloeber.core.toolChain.release.547546691/A.BUILD.VARIANT/value=nodemcu
environment/project/io.sloeber.core.toolChain.release.547546691/A.COMPILER.AR.CMD/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.COMPILER.AR.CMD/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.COMPILER.AR.CMD/value=xtensa-lx106-elf-ar
@ -184,10 +184,10 @@ environment/project/io.sloeber.core.toolChain.release.547546691/A.EXTRA.TIME.DTS
environment/project/io.sloeber.core.toolChain.release.547546691/A.EXTRA.TIME.DTS/value=0
environment/project/io.sloeber.core.toolChain.release.547546691/A.EXTRA.TIME.LOCAL/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.EXTRA.TIME.LOCAL/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.EXTRA.TIME.LOCAL/value=1516796655
environment/project/io.sloeber.core.toolChain.release.547546691/A.EXTRA.TIME.LOCAL/value=1516881551
environment/project/io.sloeber.core.toolChain.release.547546691/A.EXTRA.TIME.UTC/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.EXTRA.TIME.UTC/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.EXTRA.TIME.UTC/value=1516793055
environment/project/io.sloeber.core.toolChain.release.547546691/A.EXTRA.TIME.UTC/value=1516877951
environment/project/io.sloeber.core.toolChain.release.547546691/A.EXTRA.TIME.ZONE/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.EXTRA.TIME.ZONE/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.EXTRA.TIME.ZONE/value=3600
@ -202,7 +202,7 @@ environment/project/io.sloeber.core.toolChain.release.547546691/A.JANTJE.VARIANT
environment/project/io.sloeber.core.toolChain.release.547546691/A.JANTJE.VARIANT.REFERENCED.PLATFORM/value=${JANTJE.SELECTED.PLATFORM}
environment/project/io.sloeber.core.toolChain.release.547546691/A.NAME/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.NAME/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.NAME/value=Generic ESP8266 Module
environment/project/io.sloeber.core.toolChain.release.547546691/A.NAME/value=NodeMCU 1.0 (ESP-12E Module)
environment/project/io.sloeber.core.toolChain.release.547546691/A.PACKAGES/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.PACKAGES/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.PACKAGES/value=${eclipse_home}/arduinoPlugin/packages
@ -226,7 +226,7 @@ environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.C.COMBI
environment/project/io.sloeber.core.toolChain.release.547546691/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.547546691/A.RECIPE.C.O.PATTERN.1/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.C.O.PATTERN.1/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/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/TouchSwitch/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 -DDEBUG_ESP_PORT\=Serial -DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM -DARDUINO\=10802 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 '-DARDUINO_BOARD\="ESP8266_ESP01"' -DESP8266
environment/project/io.sloeber.core.toolChain.release.547546691/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/TouchSwitch/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.547546691/A.RECIPE.C.O.PATTERN.2/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.C.O.PATTERN.2/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.C.O.PATTERN.2/value=\ -o
@ -238,7 +238,7 @@ environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.C.O.PAT
environment/project/io.sloeber.core.toolChain.release.547546691/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.547546691/A.RECIPE.CPP.O.PATTERN.1/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.CPP.O.PATTERN.1/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/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/TouchSwitch/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 -DDEBUG_ESP_PORT\=Serial -DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM -DARDUINO\=10802 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 '-DARDUINO_BOARD\="ESP8266_ESP01"' -DESP8266
environment/project/io.sloeber.core.toolChain.release.547546691/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/TouchSwitch/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.547546691/A.RECIPE.CPP.O.PATTERN.2/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.CPP.O.PATTERN.2/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.CPP.O.PATTERN.2/value=\ -o
@ -256,7 +256,7 @@ environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.OBJCOPY
environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.OBJCOPY.EEP.PATTERN/value=
environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.OBJCOPY.HEX.PATTERN.1/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.OBJCOPY.HEX.PATTERN.1/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/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/TouchSwitch/Release/TouchSwitch.bin" -bm dio -bf 80 -bz 4M -bs .text -bp 4096 -ec -eo "/home/wn/workspace-sloeber/TouchSwitch/Release/TouchSwitch.elf" -bs .irom0.text -bs .text -bs .data -bs .rodata -bc -ec
environment/project/io.sloeber.core.toolChain.release.547546691/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/TouchSwitch/Release/TouchSwitch.bin" -bm dio -bf 40 -bz 4M -bs .text -bp 4096 -ec -eo "/home/wn/workspace-sloeber/TouchSwitch/Release/TouchSwitch.elf" -bs .irom0.text -bs .text -bs .data -bs .rodata -bc -ec
environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.OBJCOPY.HEX.PATTERN/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.OBJCOPY.HEX.PATTERN/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/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
@ -268,7 +268,7 @@ environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.OUTPUT.
environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.OUTPUT.TMP_FILE/value=${A.BUILD.PROJECT_NAME}.bin
environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.S.O.PATTERN.1/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.S.O.PATTERN.1/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/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/TouchSwitch/Release/core" -c -g -x assembler-with-cpp -mlongcalls -DF_CPU\=80000000L -DLWIP_OPEN_SRC -DDEBUG_ESP_PORT\=Serial -DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM -DARDUINO\=10802 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 '-DARDUINO_BOARD\="ESP8266_ESP01"' -DESP8266
environment/project/io.sloeber.core.toolChain.release.547546691/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/TouchSwitch/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.547546691/A.RECIPE.S.O.PATTERN.2/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.S.O.PATTERN.2/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.RECIPE.S.O.PATTERN.2/value=\ -o
@ -436,7 +436,7 @@ environment/project/io.sloeber.core.toolChain.release.547546691/A.UPLOAD.PROTOCO
environment/project/io.sloeber.core.toolChain.release.547546691/A.UPLOAD.PROTOCOL/value=stk500v1
environment/project/io.sloeber.core.toolChain.release.547546691/A.UPLOAD.RESETMETHOD/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.UPLOAD.RESETMETHOD/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.UPLOAD.RESETMETHOD/value=ck
environment/project/io.sloeber.core.toolChain.release.547546691/A.UPLOAD.RESETMETHOD/value=nodemcu
environment/project/io.sloeber.core.toolChain.release.547546691/A.UPLOAD.SPEED/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/A.UPLOAD.SPEED/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/A.UPLOAD.SPEED/value=115200
@ -460,16 +460,16 @@ environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.BOARDS_FI
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.BOARDS_FILE/value=${eclipse_home}/arduinoPlugin/packages/esp8266/hardware/esp8266/2.3.0/boards.txt
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.BOARD_ID/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.BOARD_ID/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.BOARD_ID/value=generic
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.BOARD_ID/value=nodemcuv2
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.BOARD_NAME/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.BOARD_NAME/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.BOARD_NAME/value=Generic ESP8266 Module
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.BOARD_NAME/value=NodeMCU 1.0 (ESP-12E Module)
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.COM_PORT/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.COM_PORT/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.COM_PORT/value=/dev/ttyACM0
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.COM_PORT/value=/dev/ttyUSB1
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.ECLIPSE_LOCATION/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.ECLIPSE_LOCATION/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.ECLIPSE_LOCATION/value=${eclipse_home}////////////
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.ECLIPSE_LOCATION/value=${eclipse_home}////////////////////////////////
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.EXTRA.ALL/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.EXTRA.ALL/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.EXTRA.ALL/value=
@ -493,7 +493,7 @@ environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.EXTRA.LIN
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.EXTRA.LINK/value=
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.MENU/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.MENU/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.MENU/value=CpuFrequency\=80\nDebug\=Serial\nDebugLevel\=all_____\nFlashFreq\=80\nFlashMode\=dio\nFlashSize\=4M1M\nResetMethod\=ck\nUploadSpeed\=115200.upload.speed
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.MENU/value=CpuFrequency\=80\nFlashSize\=4M1M\nUploadSpeed\=115200
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.OBJCOPY/delimiter=\:
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.OBJCOPY/operation=replace
environment/project/io.sloeber.core.toolChain.release.547546691/JANTJE.OBJCOPY/value=${A.RECIPE.OBJCOPY.HEX.PATTERN}

View File

@ -10,11 +10,15 @@ 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":64, "default":"broker.hottis.de"},
{"label":"MQTT Username", "key":"mqttUser", "type":"C", "length":32, "default":"esp1"},
{"label":"MQTT Password", "key":"mqttPass", "type":"C", "length":32, "default":"geheim"},
{"label":"MQTT ClientId", "key":"mqttClientId", "type":"C", "length":32, "default":"changeThis"},
{"label":"MQTT Topic", "key":"mqttTopic", "type":"C", "length":64, "default":"IoT/espThermometer2/measurement"},
{"label":"MQTT Port", "key":"mqttPort", "type":"I", "default":8883}
{"label":"MQTT Username", "key":"mqttUser", "type":"C", "length":32, "default":"TouchSwitch"},
{"label":"MQTT Password", "key":"mqttPass", "type":"C", "length":32, "default":"geheim123"},
{"label":"MQTT ClientId", "key":"mqttClientId", "type":"C", "length":32, "default":"TouchSwitch"},
{"label":"MQTT Topic", "key":"mqttTopic", "type":"C", "length":64, "default":"IoT/TouchSwitch/Press"},
{"label":"MQTT Port", "key":"mqttPort", "type":"I", "default":8883},
{"label":"DebugMode", "key":"debugMode", "type":"I", "default":0},
{"label":"MQTT DebugTopic", "key":"mqttDebugTopic", "type":"C", "length":64, "default":"IoT/TouchSwitch/Debug"},
{"label":"Period", "key":"period", "type":"I", "default":500},
{"label":"Threshold", "key":"threshold", "type":"I", "default":350}
]

View File

@ -13,9 +13,6 @@
ADC_MODE(ADC_VCC);
bool configMode = false;

View File

@ -21,11 +21,15 @@ void configServeIndex() {
strcpy(configBlock.wifiSsid, "test");
strcpy(configBlock.wifiKey, "geheim");
strcpy(configBlock.mqttBroker, "broker.hottis.de");
strcpy(configBlock.mqttUser, "esp1");
strcpy(configBlock.mqttPass, "geheim");
strcpy(configBlock.mqttClientId, "changeThis");
strcpy(configBlock.mqttTopic, "IoT/espThermometer2/measurement");
strcpy(configBlock.mqttUser, "TouchSwitch");
strcpy(configBlock.mqttPass, "geheim123");
strcpy(configBlock.mqttClientId, "TouchSwitch");
strcpy(configBlock.mqttTopic, "IoT/TouchSwitch/Press");
configBlock.mqttPort = 8883;
configBlock.debugMode = 0;
strcpy(configBlock.mqttDebugTopic, "IoT/TouchSwitch/Debug");
configBlock.period = 500;
configBlock.threshold = 350;
}
String buffer =
@ -160,6 +164,63 @@ void configServeIndex() {
buffer += configBlock.mqttPort;
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>"
" <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\"period\">Period</label>"
" </td><td>"
" <input type=\"text\" name=\"period\" id=\"period\" ";
buffer += " value=\"";
buffer += configBlock.period;
buffer += "\"";
buffer +=
" />"
" </td>"
" </tr>"
" <tr>"
" <td>"
" <label for\"threshold\">Threshold</label>"
" </td><td>"
" <input type=\"text\" name=\"threshold\" id=\"threshold\" ";
buffer += " value=\"";
buffer += configBlock.threshold;
buffer += "\"";
buffer +=
" />"
" </td>"
@ -201,6 +262,14 @@ void configServeGetConfiguration() {
strcpy(configBlock.mqttTopic, arg.c_str());
arg = webServer.arg("mqttPort");
configBlock.mqttPort = atoi(arg.c_str());
arg = webServer.arg("debugMode");
configBlock.debugMode = atoi(arg.c_str());
arg = webServer.arg("mqttDebugTopic");
strcpy(configBlock.mqttDebugTopic, arg.c_str());
arg = webServer.arg("period");
configBlock.period = atoi(arg.c_str());
arg = webServer.arg("threshold");
configBlock.threshold = atoi(arg.c_str());
configBlock.magic = MAGIC;
@ -248,6 +317,18 @@ void showConfiguration() {
Serial.print("mqttPort = ");
Serial.println(configBlock.mqttPort);
Serial.print("debugMode = ");
Serial.println(configBlock.debugMode);
Serial.print("mqttDebugTopic = ");
Serial.println(configBlock.mqttDebugTopic);
Serial.print("period = ");
Serial.println(configBlock.period);
Serial.print("threshold = ");
Serial.println(configBlock.threshold);
Serial.println("---");
}

View File

@ -8,6 +8,10 @@ typedef struct {
char mqttClientId[32];
char mqttTopic[64];
uint32_t mqttPort;
uint32_t debugMode;
char mqttDebugTopic[64];
uint32_t period;
uint32_t threshold;
} tConfigBlock;
extern const uint32_t MAGIC;

View File

@ -8,14 +8,16 @@
#ifndef DEFINES_H_
#define DEFINES_H_
// #define DEBUG
#define SLEEP
#define DEBUG
// #define SLEEP
#define EEPROM_ADDR 0
#define CONFIG_SWITCH 4
#define LED_PIN 14
#define TOUCH_PIN_HIGH 16
#define TOUCH_PIN_LOW 5

View File

@ -19,6 +19,9 @@
typedef enum { NOT_PRESSED, PRESSED, LONG_PRESSED } tPressedState;
WiFiClientSecure espClient;
PubSubClient client(espClient);
@ -26,80 +29,158 @@ extern uint32_t startTime;
void setup_wifi() {
delay(10);
WiFi.mode(WIFI_STA);
delay(10);
WiFi.mode(WIFI_STA);
// We start by connecting to a WiFi network
// We start by connecting to a WiFi network
#ifdef DEBUG
Serial.println();
Serial.print("Connecting to ");
Serial.println(configBlock.wifiSsid);
Serial.println();
Serial.print("Connecting to ");
Serial.println(configBlock.wifiSsid);
#endif
WiFi.begin(configBlock.wifiSsid, configBlock.wifiKey);
WiFi.begin(configBlock.wifiSsid, configBlock.wifiKey);
while (WiFi.status() != WL_CONNECTED) {
delay(50);
while (WiFi.status() != WL_CONNECTED) {
delay(50);
#ifdef DEBUG
Serial.print(".");
Serial.print(".");
#endif
}
}
Serial.println("!");
#ifdef DEBUG
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
#endif
}
void setupProduction() {
setup_wifi();
client.setServer(configBlock.mqttBroker, configBlock.mqttPort);
}
void reconnect() {
// Loop until we're reconnected
while (!client.connected()) {
// Loop until we're reconnected
while (!client.connected()) {
#ifdef DEBUG
Serial.print("Attempting MQTT connection...");
Serial.print("Attempting MQTT connection...");
#endif
// Attempt to connect
//char clientId[128];
//snprintf(clientId, 127, "esp%s", WiFi.macAddress().c_str());
if (client.connect(configBlock.mqttClientId, configBlock.mqttUser, configBlock.mqttPass)) {
// Attempt to connect
//char clientId[128];
//snprintf(clientId, 127, "esp%s", WiFi.macAddress().c_str());
if (client.connect(configBlock.mqttClientId, configBlock.mqttUser, configBlock.mqttPass)) {
#ifdef DEBUG
Serial.println("connected");
Serial.println("connected");
#endif
// Once connected, publish an announcement...
//client.publish("IoT/espThermometer/status", "hello world");
} else {
// Once connected, publish an announcement...
client.publish(configBlock.mqttDebugTopic, "hello world");
} else {
#ifdef DEBUG
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
#endif
// Wait 5 seconds before retrying
delay(5000);
}
}
// Wait 5 seconds before retrying
delay(5000);
}
}
}
void mqtt_connect() {
if (!client.connected()) {
reconnect();
}
client.loop();
if (!client.connected()) {
reconnect();
}
client.loop();
}
void setupProduction() {
setup_wifi();
client.setServer(configBlock.mqttBroker, configBlock.mqttPort);
pinMode(A0, INPUT);
}
void loopProduction() {
static uint32_t lastMillis = 0;
mqtt_connect();
static tPressedState state = NOT_PRESSED;
static uint32_t lastMillis = 0;
mqtt_connect();
// http://www.elektronik-labor.de/AVR/Touch.html
// Phase 1
pinMode(TOUCH_PIN_HIGH, INPUT);
pinMode(TOUCH_PIN_LOW, INPUT);
// Phase 2
digitalWrite(TOUCH_PIN_HIGH, HIGH);
pinMode(TOUCH_PIN_HIGH, OUTPUT);
// Phase 3
pinMode(TOUCH_PIN_HIGH, INPUT);
// Phase 4
digitalWrite(TOUCH_PIN_LOW, LOW);
pinMode(TOUCH_PIN_LOW, OUTPUT);
uint32_t currentMillis = millis();
if (currentMillis - lastMillis > configBlock.period) {
lastMillis = currentMillis;
int v = analogRead(A0);
if (configBlock.debugMode) {
char payload[128];
snprintf(payload, 127, "%ld", v);
client.publish(configBlock.mqttDebugTopic, payload);
#ifdef DEBUG
Serial.println(v);
#endif
}
if (v > configBlock.threshold) {
#ifdef DEBUG
Serial.println(v);
#endif
// discharge
digitalWrite(TOUCH_PIN_HIGH, LOW);
pinMode(TOUCH_PIN_HIGH, OUTPUT);
digitalWrite(TOUCH_PIN_LOW, LOW);
pinMode(TOUCH_PIN_LOW, OUTPUT);
switch (state) {
case NOT_PRESSED:
state = PRESSED;
break;
case PRESSED:
state = LONG_PRESSED;
client.publish(configBlock.mqttTopic, "LONG_BEGIN");
break;
case LONG_PRESSED:
state = LONG_PRESSED;
client.publish(configBlock.mqttTopic, "LONG_CONT");
break;
}
} else {
switch (state) {
case NOT_PRESSED:
break;
case PRESSED:
client.publish(configBlock.mqttTopic, "SHORT");
break;
case LONG_PRESSED:
client.publish(configBlock.mqttTopic, "LONG_END");
break;
}
state = NOT_PRESSED;
}
}
}