Merge branch 'development' into pre-release

This commit is contained in:
Theo Arends 2020-05-06 10:36:17 +02:00
commit 895b13ba19
37 changed files with 968 additions and 689 deletions

View File

@ -20,3 +20,480 @@ jobs:
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32
tasmota32-minimal:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-minimal
tasmota32-lite:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-lite
tasmota32-knx:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-knx
tasmota32-sensors:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-sensors
tasmota32-display:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-display
tasmota32-ir:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-ir
tasmota32-BG:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-BG
tasmota32-BR:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-BR
tasmota32-CN:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-CN
tasmota32-CZ:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-CZ
tasmota32-DE:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-DE
tasmota32-ES:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-ES
tasmota32-FR:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-FR
tasmota32-GR:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-GR
tasmota32-HE:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-HE
tasmota32-HU:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-HU
tasmota32-IT:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-IT
tasmota32-KO:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-KO
tasmota32-NL:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-NL
tasmota32-PL:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-PL
tasmota32-PT:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-PT
tasmota32-RO:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-RO
tasmota32-RU:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-RU
tasmota32-SE:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-SE
tasmota32-SK:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-SK
tasmota32-TR:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-TR
tasmota32-TW:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-TW
tasmota32-UK:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U platformio
platformio upgrade --dev
platformio update
- name: Run PlatformIO
run: |
cp platformio_override_sample.ini platformio_override.ini
platformio run -e tasmota32-UK

View File

@ -2,7 +2,7 @@
| Feature or Sensor | minimal | lite | tasmota | knx | sensors | ir | display | Remarks
|-----------------------|---------|-------|--------|-----|---------|----|---------|--------
| MY_LANGUAGE en-GB | x | x | x | x | x | x | x |
| MY_LANGUAGE en_GB | x | x | x | x | x | x | x |
| USE_ARDUINO_OTA | - | - | - | - | - | - | - |
| USE_DOMOTICZ | - | - | x | x | x | x | - |
| USE_HOME_ASSISTANT | - | - | x | x | x | x | - |

View File

@ -22,8 +22,8 @@ In addition to the [release webpage](https://github.com/arendst/Tasmota/releases
[![Dev Version](https://img.shields.io/badge/development%20version-v8.3.x.x-blue.svg)](https://github.com/arendst/Tasmota)
[![Download Dev](https://img.shields.io/badge/download-development-yellow.svg)](http://thehackbox.org/tasmota/)
![Tasmota CI](https://github.com/arendst/Tasmota/workflows/Tasmota%20CI/badge.svg)
![Tasmota ESP32 CI](https://github.com/arendst/Tasmota/workflows/Tasmota%20ESP32%20CI/badge.svg)
[![Tasmota CI](https://github.com/arendst/Tasmota/workflows/Tasmota%20CI/badge.svg)](https://github.com/arendst/Tasmota/actions?query=workflow%3A%22Tasmota+CI%22)
[![Tasmota ESP32 CI](https://github.com/arendst/Tasmota/workflows/Tasmota%20ESP32%20CI/badge.svg)](https://github.com/arendst/Tasmota/actions?query=workflow%3A%22Tasmota+ESP32+CI%22)
See [tasmota/CHANGELOG.md](tasmota/CHANGELOG.md) for detailed change information.
@ -145,7 +145,7 @@ People helping to keep the show on the road:
- Stefan Bode for his Shutter and Deep sleep drivers
- Jacek Ziółkowski for his [TDM](https://github.com/jziolkowski/tdm) management tool and [Tasmotizer](https://github.com/tasmota/tasmotizer) flashing tool
- Christian Staars for NRF24L01 and HM-10 Bluetooth sensor support
- Pail Diem for UDP Group communication support
- Paul Diem for UDP Group communication support
- Jörg Schüler-Maroldt for his initial ESP32 port
- Many more providing Tips, Wips, Pocs, PRs and Donations

View File

@ -99,7 +99,8 @@ build_flags = ${esp_defaults.build_flags}
-D NDEBUG
-mtarget-align
-DFP_IN_IROM
; the following removes the 4-bytes alignment for PSTR(), waiting for a cleaner flag from Arduino Core
-DPSTR\(s\)=\(__extension__\(\{static\ const\ char\ __c\[\]\ __attribute__\(\(__aligned__\(1\)\)\)\ __attribute__\(\(section\(\ \"\\\\\".irom0.pstr.\"\ __FILE__\ \".\"\ __STRINGIZE\(__LINE__\)\ \".\"\ \ __STRINGIZE\(__COUNTER__\)\ \"\\\\\"\,\ \\\\\"aSM\\\\\"\,\ \@progbits\,\ 1\ \#\"\)\)\)\ =\ \(s\)\;\ \&__c\[0\]\;\}\)\)
[irremoteesp_full]
build_flags = -DUSE_IR_REMOTE_FULL

View File

@ -38,67 +38,67 @@ build_flags = ${common.build_flags} ${irremoteesp_full.build_flags} -DFIRMWARE_I
build_flags = ${common.build_flags} ${irremoteesp_full.build_flags}
[env:tasmota-BG]
build_flags = ${common.build_flags} -DMY_LANGUAGE=bg-BG
build_flags = ${common.build_flags} -DMY_LANGUAGE=bg_BG
[env:tasmota-BR]
build_flags = ${common.build_flags} -DMY_LANGUAGE=pt-BR
build_flags = ${common.build_flags} -DMY_LANGUAGE=pt_BR
[env:tasmota-CN]
build_flags = ${common.build_flags} -DMY_LANGUAGE=zh-CN
build_flags = ${common.build_flags} -DMY_LANGUAGE=zh_CN
[env:tasmota-CZ]
build_flags = ${common.build_flags} -DMY_LANGUAGE=cs-CZ
build_flags = ${common.build_flags} -DMY_LANGUAGE=cs_CZ
[env:tasmota-DE]
build_flags = ${common.build_flags} -DMY_LANGUAGE=de-DE
build_flags = ${common.build_flags} -DMY_LANGUAGE=de_DE
[env:tasmota-ES]
build_flags = ${common.build_flags} -DMY_LANGUAGE=es-ES
build_flags = ${common.build_flags} -DMY_LANGUAGE=es_ES
[env:tasmota-FR]
build_flags = ${common.build_flags} -DMY_LANGUAGE=fr-FR
build_flags = ${common.build_flags} -DMY_LANGUAGE=fr_FR
[env:tasmota-GR]
build_flags = ${common.build_flags} -DMY_LANGUAGE=el-GR
build_flags = ${common.build_flags} -DMY_LANGUAGE=el_GR
[env:tasmota-HE]
build_flags = ${common.build_flags} -DMY_LANGUAGE=he-HE
build_flags = ${common.build_flags} -DMY_LANGUAGE=he_HE
[env:tasmota-HU]
build_flags = ${common.build_flags} -DMY_LANGUAGE=hu-HU
build_flags = ${common.build_flags} -DMY_LANGUAGE=hu_HU
[env:tasmota-IT]
build_flags = ${common.build_flags} -DMY_LANGUAGE=it-IT
build_flags = ${common.build_flags} -DMY_LANGUAGE=it_IT
[env:tasmota-KO]
build_flags = ${common.build_flags} -DMY_LANGUAGE=ko-KO
build_flags = ${common.build_flags} -DMY_LANGUAGE=ko_KO
[env:tasmota-NL]
build_flags = ${common.build_flags} -DMY_LANGUAGE=nl-NL
build_flags = ${common.build_flags} -DMY_LANGUAGE=nl_NL
[env:tasmota-PL]
build_flags = ${common.build_flags} -DMY_LANGUAGE=pl-PL
build_flags = ${common.build_flags} -DMY_LANGUAGE=pl_PL
[env:tasmota-PT]
build_flags = ${common.build_flags} -DMY_LANGUAGE=pt-PT
build_flags = ${common.build_flags} -DMY_LANGUAGE=pt_PT
[env:tasmota-RO]
build_flags = ${common.build_flags} -DMY_LANGUAGE=ro-RO
build_flags = ${common.build_flags} -DMY_LANGUAGE=ro_RO
[env:tasmota-RU]
build_flags = ${common.build_flags} -DMY_LANGUAGE=ru-RU
build_flags = ${common.build_flags} -DMY_LANGUAGE=ru_RU
[env:tasmota-SE]
build_flags = ${common.build_flags} -DMY_LANGUAGE=sv-SE
build_flags = ${common.build_flags} -DMY_LANGUAGE=sv_SE
[env:tasmota-SK]
build_flags = ${common.build_flags} -DMY_LANGUAGE=sk-SK
build_flags = ${common.build_flags} -DMY_LANGUAGE=sk_SK
[env:tasmota-TR]
build_flags = ${common.build_flags} -DMY_LANGUAGE=tr-TR
build_flags = ${common.build_flags} -DMY_LANGUAGE=tr_TR
[env:tasmota-TW]
build_flags = ${common.build_flags} -DMY_LANGUAGE=zh-TW
build_flags = ${common.build_flags} -DMY_LANGUAGE=zh_TW
[env:tasmota-UK]
build_flags = ${common.build_flags} -DMY_LANGUAGE=uk-UA
build_flags = ${common.build_flags} -DMY_LANGUAGE=uk_UA

View File

@ -47,88 +47,88 @@ build_flags = ${common32.build_flags} ${irremoteesp_full.build_flags
[env:tasmota32-BG]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=bg-BG
build_flags = ${common32.build_flags} -DMY_LANGUAGE=bg_BG
[env:tasmota32-BR]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=pt-BR
build_flags = ${common32.build_flags} -DMY_LANGUAGE=pt_BR
[env:tasmota32-CN]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=zh-CN
build_flags = ${common32.build_flags} -DMY_LANGUAGE=zh_CN
[env:tasmota32-CZ]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=cs-CZ
build_flags = ${common32.build_flags} -DMY_LANGUAGE=cs_CZ
[env:tasmota32-DE]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=de-DE
build_flags = ${common32.build_flags} -DMY_LANGUAGE=de_DE
[env:tasmota32-ES]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=es-ES
build_flags = ${common32.build_flags} -DMY_LANGUAGE=es_ES
[env:tasmota32-FR]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=fr-FR
build_flags = ${common32.build_flags} -DMY_LANGUAGE=fr_FR
[env:tasmota32-GR]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=el-GR
build_flags = ${common32.build_flags} -DMY_LANGUAGE=el_GR
[env:tasmota32-HE]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=he-HE
build_flags = ${common32.build_flags} -DMY_LANGUAGE=he_HE
[env:tasmota32-HU]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=hu-HU
build_flags = ${common32.build_flags} -DMY_LANGUAGE=hu_HU
[env:tasmota32-IT]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=it-IT
build_flags = ${common32.build_flags} -DMY_LANGUAGE=it_IT
[env:tasmota32-KO]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=ko-KO
build_flags = ${common32.build_flags} -DMY_LANGUAGE=ko_KO
[env:tasmota32-NL]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=nl-NL
build_flags = ${common32.build_flags} -DMY_LANGUAGE=nl_NL
[env:tasmota32-PL]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=pl-PL
build_flags = ${common32.build_flags} -DMY_LANGUAGE=pl_PL
[env:tasmota32-PT]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=pt-PT
build_flags = ${common32.build_flags} -DMY_LANGUAGE=pt_PT
[env:tasmota32-RO]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=ro-RO
build_flags = ${common32.build_flags} -DMY_LANGUAGE=ro_RO
[env:tasmota32-RU]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=ru-RU
build_flags = ${common32.build_flags} -DMY_LANGUAGE=ru_RU
[env:tasmota32-SE]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=sv-SE
build_flags = ${common32.build_flags} -DMY_LANGUAGE=sv_SE
[env:tasmota32-SK]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=sk-SK
build_flags = ${common32.build_flags} -DMY_LANGUAGE=sk_SK
[env:tasmota32-TR]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=tr-TR
build_flags = ${common32.build_flags} -DMY_LANGUAGE=tr_TR
[env:tasmota32-TW]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=zh-TW
build_flags = ${common32.build_flags} -DMY_LANGUAGE=zh_TW
[env:tasmota32-UK]
extends = env:tasmota32
build_flags = ${common32.build_flags} -DMY_LANGUAGE=uk-UA
build_flags = ${common32.build_flags} -DMY_LANGUAGE=uk_UA

View File

@ -617,7 +617,7 @@
#define D_ASTERISK_PWD "****"
#ifndef MY_LANGUAGE
#include "language/en-GB.h"
#include "language/en_GB.h"
#else
#define QUOTEME(x) QUOTEME_1(x)
#define QUOTEME_1(x) #x
@ -625,7 +625,7 @@
#include INCLUDE_FILE(MY_LANGUAGE)
#endif
#ifndef LANGUAGE_LCID
#define LANGUAGE_LCID 2057 // en-GB
#define LANGUAGE_LCID 2057 // en_GB
#endif
// Common

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -652,9 +652,9 @@
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
#define D_SENSOR_DEEPSLEEP "DeepSleep"
#define D_SENSOR_EXS_ENABLE "EXS Enable"
#define D_SENSOR_SLAVE_TX "Slave TX"
#define D_SENSOR_SLAVE_RX "Slave RX"
#define D_SENSOR_SLAVE_RESET "Slave RST"
#define D_SENSOR_SLAVE_TX "Slave TX"
#define D_SENSOR_SLAVE_RX "Slave RX"
#define D_SENSOR_SLAVE_RESET "Slave RST"
#define D_SENSOR_GPS_RX "GPS RX"
#define D_SENSOR_GPS_TX "GPS TX"
#define D_SENSOR_HM10_RX "HM10 RX"
@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 - GDO2"
#define D_SENSOR_HRXL_RX "HRXL - RX"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL - TX"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "А"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "А"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "安"

View File

@ -665,28 +665,19 @@
#define D_SENSOR_CC1101_GDO2 "CC1101 GDO2"
#define D_SENSOR_HRXL_RX "HRXL Rx"
#define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_Y9 "CAM_Y9"
#define D_GPIO_WEBCAM_Y8 "CAM_Y8"
#define D_GPIO_WEBCAM_Y7 "CAM_Y7"
#define D_GPIO_WEBCAM_Y6 "CAM_Y6"
#define D_GPIO_WEBCAM_Y5 "CAM_Y5"
#define D_GPIO_WEBCAM_Y4 "CAM_Y4"
#define D_GPIO_WEBCAM_Y3 "CAM_Y3"
#define D_GPIO_WEBCAM_Y2 "CAM_Y2"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD1 "CAM_HSD1"
#define D_GPIO_WEBCAM_HSD2 "CAM_HSD2"
#define D_GPIO_WEBCAM_HSD3 "CAM_HSD3"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
#define D_SENSOR_AS3935 "AS3935"
#define D_GPIO_WEBCAM_PWDN "CAM_PWDN"
#define D_GPIO_WEBCAM_RESET "CAM_RESET"
#define D_GPIO_WEBCAM_XCLK "CAM_XCLK"
#define D_GPIO_WEBCAM_SIOD "CAM_SIOD"
#define D_GPIO_WEBCAM_SIOC "CAM_SIOC"
#define D_GPIO_WEBCAM_DATA "CAM_DATA"
#define D_GPIO_WEBCAM_VSYNC "CAM_VSYNC"
#define D_GPIO_WEBCAM_HREF "CAM_HREF"
#define D_GPIO_WEBCAM_PCLK "CAM_PCLK"
#define D_GPIO_WEBCAM_PSCLK "CAM_PSCLK"
#define D_GPIO_WEBCAM_HSD "CAM_HSD"
#define D_GPIO_WEBCAM_PSRCS "CAM_PSRCS"
// Units
#define D_UNIT_AMPERE "安"

View File

@ -313,29 +313,29 @@
// -- Localization --------------------------------
// If non selected the default en-GB will be used
//#define MY_LANGUAGE bg-BG // Bulgarian in Bulgaria
//#define MY_LANGUAGE cs-CZ // Czech in Czech
//#define MY_LANGUAGE de-DE // German in Germany
//#define MY_LANGUAGE el-GR // Greek in Greece
//#define MY_LANGUAGE en-GB // English in Great Britain. Enabled by Default
//#define MY_LANGUAGE es-ES // Spanish in Spain
//#define MY_LANGUAGE fr-FR // French in France
//#define MY_LANGUAGE he-HE // Hebrew in Israel
//#define MY_LANGUAGE hu-HU // Hungarian in Hungary
//#define MY_LANGUAGE it-IT // Italian in Italy
//#define MY_LANGUAGE ko-KO // Korean in Korea
//#define MY_LANGUAGE nl-NL // Dutch in the Netherlands
//#define MY_LANGUAGE pl-PL // Polish in Poland
//#define MY_LANGUAGE pt-BR // Portuguese in Brazil
//#define MY_LANGUAGE pt-PT // Portuguese in Portugal
//#define MY_LANGUAGE ro-RO // Romanian in Romania
//#define MY_LANGUAGE ru-RU // Russian in Russia
//#define MY_LANGUAGE sk-SK // Slovak in Slovakia
//#define MY_LANGUAGE sv-SE // Swedish in Sweden
//#define MY_LANGUAGE tr-TR // Turkish in Turkey
//#define MY_LANGUAGE uk-UA // Ukrainian in Ukraine
//#define MY_LANGUAGE zh-CN // Chinese (Simplified) in China
//#define MY_LANGUAGE zh-TW // Chinese (Traditional) in Taiwan
//#define MY_LANGUAGE bg_BG // Bulgarian in Bulgaria
//#define MY_LANGUAGE cs_CZ // Czech in Czech
//#define MY_LANGUAGE de_DE // German in Germany
//#define MY_LANGUAGE el_GR // Greek in Greece
//#define MY_LANGUAGE en_GB // English in Great Britain. Enabled by Default
//#define MY_LANGUAGE es_ES // Spanish in Spain
//#define MY_LANGUAGE fr_FR // French in France
//#define MY_LANGUAGE he_HE // Hebrew in Israel
//#define MY_LANGUAGE hu_HU // Hungarian in Hungary
//#define MY_LANGUAGE it_IT // Italian in Italy
//#define MY_LANGUAGE ko_KO // Korean in Korea
//#define MY_LANGUAGE nl_NL // Dutch in the Netherlands
//#define MY_LANGUAGE pl_PL // Polish in Poland
//#define MY_LANGUAGE pt_BR // Portuguese in Brazil
//#define MY_LANGUAGE pt_PT // Portuguese in Portugal
//#define MY_LANGUAGE ro_RO // Romanian in Romania
//#define MY_LANGUAGE ru_RU // Russian in Russia
//#define MY_LANGUAGE sk_SK // Slovak in Slovakia
//#define MY_LANGUAGE sv_SE // Swedish in Sweden
//#define MY_LANGUAGE tr_TR // Turkish in Turkey
//#define MY_LANGUAGE uk_UA // Ukrainian in Ukraine
//#define MY_LANGUAGE zh_CN // Chinese (Simplified) in China
//#define MY_LANGUAGE zh_TW // Chinese (Traditional) in Taiwan
// -- Wifi Config tools ---------------------------
#define WIFI_SOFT_AP_CHANNEL 1 // Soft Access Point Channel number between 1 and 13 as used by Wifi Manager web GUI

View File

@ -87,10 +87,7 @@ void ResponseCmndIdxNumber(int value)
void ResponseCmndChar_P(const char* value)
{
size_t buf_size = strlen_P(value);
char buf[buf_size + 1];
strcpy_P(buf, value);
Response_P(S_JSON_COMMAND_SVALUE, XdrvMailbox.command, buf);
Response_P(S_JSON_COMMAND_SVALUE, XdrvMailbox.command, value);
}
void ResponseCmndChar(const char* value)

View File

@ -118,11 +118,13 @@ enum UserSelectablePins {
ADC0_BUTTON, ADC0_BUTTON_INV, // Analog Button
ADC0_RANGE, // Analog Range
ADC0_CT_POWER, // ANalog Current
GPIO_WEBCAM_PWDN, GPIO_WEBCAM_RESET, GPIO_WEBCAM_XCLK, GPIO_WEBCAM_SIOD, GPIO_WEBCAM_SIOC, // Webcam
GPIO_WEBCAM_Y9, GPIO_WEBCAM_Y8, GPIO_WEBCAM_Y7, GPIO_WEBCAM_Y6,
GPIO_WEBCAM_Y5, GPIO_WEBCAM_Y4, GPIO_WEBCAM_Y3, GPIO_WEBCAM_Y2,
GPIO_WEBCAM_VSYNC, GPIO_WEBCAM_HREF, GPIO_WEBCAM_PCLK, GPIO_WEBCAM_PSCLK,
GPIO_WEBCAM_HSD1, GPIO_WEBCAM_HSD2, GPIO_WEBCAM_HSD3, GPIO_WEBCAM_PSRCS,
GPIO_WEBCAM_PWDN, GPIO_WEBCAM_RESET, GPIO_WEBCAM_XCLK, // Webcam
GPIO_WEBCAM_SIOD, GPIO_WEBCAM_SIOC, // Webcam I2C
GPIO_WEBCAM_DATA,
GPIO_WEBCAM_VSYNC, GPIO_WEBCAM_HREF, GPIO_WEBCAM_PCLK,
GPIO_WEBCAM_PSCLK,
GPIO_WEBCAM_HSD,
GPIO_WEBCAM_PSRCS,
GPIO_SENSOR_END };
enum ProgramSelectablePins {
@ -203,16 +205,21 @@ const char kSensorNames[] PROGMEM =
D_SENSOR_BUTTON "|" D_SENSOR_BUTTON "i|"
D_RANGE "|"
D_CT_POWER "|"
D_GPIO_WEBCAM_PWDN "|" D_GPIO_WEBCAM_RESET "|" D_GPIO_WEBCAM_XCLK "|" D_GPIO_WEBCAM_SIOD "|" D_GPIO_WEBCAM_SIOC "|"
D_GPIO_WEBCAM_Y9 "|" D_GPIO_WEBCAM_Y8 "|" D_GPIO_WEBCAM_Y7 "|" D_GPIO_WEBCAM_Y6 "|"
D_GPIO_WEBCAM_Y5 "|" D_GPIO_WEBCAM_Y4 "|" D_GPIO_WEBCAM_Y3 "|" D_GPIO_WEBCAM_Y2 "|"
D_GPIO_WEBCAM_VSYNC "|" D_GPIO_WEBCAM_HREF "|" D_GPIO_WEBCAM_PCLK "|" D_GPIO_WEBCAM_PSCLK "|"
D_GPIO_WEBCAM_HSD1 "|" D_GPIO_WEBCAM_HSD2 "|" D_GPIO_WEBCAM_HSD3 "|" D_GPIO_WEBCAM_PSRCS
D_GPIO_WEBCAM_PWDN "|" D_GPIO_WEBCAM_RESET "|" D_GPIO_WEBCAM_XCLK "|"
D_GPIO_WEBCAM_SIOD "|" D_GPIO_WEBCAM_SIOC "|"
D_GPIO_WEBCAM_DATA "|"
D_GPIO_WEBCAM_VSYNC "|" D_GPIO_WEBCAM_HREF "|" D_GPIO_WEBCAM_PCLK "|"
D_GPIO_WEBCAM_PSCLK "|"
D_GPIO_WEBCAM_HSD "|"
D_GPIO_WEBCAM_PSRCS
;
const char kSensorNamesFixed[] PROGMEM =
D_SENSOR_USER;
#define MAX_WEBCAM_DATA 8
#define MAX_WEBCAM_HSD 3
const uint16_t kGpioNiceList[] PROGMEM = {
GPIO_NONE, // Not used
AGPIO(GPIO_KEY1) + MAX_KEYS, // Buttons
@ -516,21 +523,29 @@ const uint16_t kGpioNiceList[] PROGMEM = {
AGPIO(GPIO_WEBCAM_XCLK),
AGPIO(GPIO_WEBCAM_SIOD),
AGPIO(GPIO_WEBCAM_SIOC),
AGPIO(GPIO_WEBCAM_Y9),
AGPIO(GPIO_WEBCAM_Y8),
AGPIO(GPIO_WEBCAM_Y7),
AGPIO(GPIO_WEBCAM_Y6),
AGPIO(GPIO_WEBCAM_Y5),
AGPIO(GPIO_WEBCAM_Y4),
AGPIO(GPIO_WEBCAM_Y3),
AGPIO(GPIO_WEBCAM_Y2),
// AGPIO(GPIO_WEBCAM_Y9),
// AGPIO(GPIO_WEBCAM_Y8),
// AGPIO(GPIO_WEBCAM_Y7),
// AGPIO(GPIO_WEBCAM_Y6),
// AGPIO(GPIO_WEBCAM_Y5),
// AGPIO(GPIO_WEBCAM_Y4),
// AGPIO(GPIO_WEBCAM_Y3),
// AGPIO(GPIO_WEBCAM_Y2),
AGPIO(GPIO_WEBCAM_DATA) + MAX_WEBCAM_DATA,
AGPIO(GPIO_WEBCAM_VSYNC),
AGPIO(GPIO_WEBCAM_HREF),
AGPIO(GPIO_WEBCAM_PCLK),
AGPIO(GPIO_WEBCAM_PSCLK),
AGPIO(GPIO_WEBCAM_HSD1),
AGPIO(GPIO_WEBCAM_HSD2),
AGPIO(GPIO_WEBCAM_HSD3),
// AGPIO(GPIO_WEBCAM_HSD1),
// AGPIO(GPIO_WEBCAM_HSD2),
// AGPIO(GPIO_WEBCAM_HSD3),
AGPIO(GPIO_WEBCAM_HSD) + MAX_WEBCAM_HSD,
AGPIO(GPIO_WEBCAM_PSRCS),
#endif
};

View File

@ -246,13 +246,15 @@ const char HTTP_SCRIPT_MODULE_TEMPLATE[] PROGMEM =
"q.appendChild(o);"
"}"
"function ot(g,s){" // g = id and name, s = value
"var p,l,t=qs('#h'+g),u=s&0x001f;"
"var a=s&0xffe0,b=0,c,p,l,t=qs('#h'+g),u=s&0x001f;"
"l=t.options.length;" // Remove current options
"for(i=l;i;i--){p=t.options[i-1].parentNode;p.removeChild(t.options[i-1]);}"
"l=hs.length;" // Find max indexes for s
"for(i=0;i<l;i++){c=hs[i]&0xffe0;if(a==c){b=hs[i]&0x001f;break;}}"
"s>>=5;" // Add options
"for(i=1;i<=hs[s];i++){ce((i<10)?(' '+i):i,t);}"
"for(i=1;i<=b;i++){ce((i<10)?(' '+i):i,t);}"
"eb('h'+g).value=u+1;" // Set selected value
"t.style.visibility=(hs[s]>0)?'':'hidden';"
"t.style.visibility=(b>0)?'':'hidden';"
"}"
"function sk(s,g){" // s = value, g = id and name
"var o=os.replace(/}2/g,\"<option value='\").replace(/}3/g,\")</option>\");"
@ -842,9 +844,7 @@ void WSContentStart_P(const char* title, bool auth)
WSContentBegin(200, CT_HTML);
if (title != nullptr) {
char ctitle[strlen_P(title) +1];
strcpy_P(ctitle, title); // Get title from flash to RAM
WSContentSend_P(HTTP_HEADER1, SettingsText(SET_FRIENDLYNAME1), ctitle);
WSContentSend_P(HTTP_HEADER1, SettingsText(SET_FRIENDLYNAME1), title);
}
}
@ -1469,28 +1469,14 @@ void HandleTemplateConfiguration(void)
#ifdef ESP32
WSContentSend_P(PSTR("hs=["));
bool first_done = false;
/*
for (uint32_t i = 0; i < ARRAY_SIZE(kGpioNiceList); i++) {
uint32_t midx = pgm_read_word(kGpioNiceList + i) & 0x001F;
if (first_done) { WSContentSend_P(PSTR(",")); }
WSContentSend_P(PSTR("%d"), midx);
first_done = true;
}
*/
uint32_t j = 0;
for (uint32_t i = 0; i < GPIO_SENSOR_END; i++) {
uint32_t midx = pgm_read_word(kGpioNiceList + j);
if ((midx >> 5) != i) {
midx = 0;
} else {
midx &= 0x001F;
j++;
for (uint32_t i = 0; i < ARRAY_SIZE(kGpioNiceList); i++) { // hs=[36,68,100,132,168,200,232,264,292,324,356,388,421,453];
uint32_t midx = pgm_read_word(kGpioNiceList + i);
if (midx & 0x001F) {
if (first_done) { WSContentSend_P(PSTR(",")); }
WSContentSend_P(PSTR("%d"), midx);
first_done = true;
}
if (first_done) { WSContentSend_P(PSTR(",")); }
WSContentSend_P(PSTR("%d"), midx);
first_done = true;
}
WSContentSend_P(PSTR("];"));
#endif // ESP32
@ -1651,28 +1637,14 @@ void HandleModuleConfiguration(void)
#ifdef ESP32
WSContentSend_P(PSTR("hs=["));
bool first_done = false;
/*
for (uint32_t i = 0; i < ARRAY_SIZE(kGpioNiceList); i++) {
midx = pgm_read_word(kGpioNiceList + i) & 0x001F;
if (first_done) { WSContentSend_P(PSTR(",")); }
WSContentSend_P(PSTR("%d"), midx);
first_done = true;
}
*/
uint32_t j = 0;
for (uint32_t i = 0; i < GPIO_SENSOR_END; i++) {
midx = pgm_read_word(kGpioNiceList + j);
if ((midx >> 5) != i) {
midx = 0;
} else {
midx &= 0x001F;
j++;
for (uint32_t i = 0; i < ARRAY_SIZE(kGpioNiceList); i++) { // hs=[36,68,100,132,168,200,232,264,292,324,356,388,421,453];
midx = pgm_read_word(kGpioNiceList + i);
if (midx & 0x001F) {
if (first_done) { WSContentSend_P(PSTR(",")); }
WSContentSend_P(PSTR("%d"), midx);
first_done = true;
}
if (first_done) { WSContentSend_P(PSTR(",")); }
WSContentSend_P(PSTR("%d"), midx);
first_done = true;
}
WSContentSend_P(PSTR("];"));
#endif // ESP32

View File

@ -626,10 +626,8 @@ void ZigbeeStateMachine_Run(void) {
case ZGB_INSTR_MQTT_STATE:
{
const char *f_msg = (const char*) cur_ptr1;
char buf[strlen_P(f_msg) + 1];
strcpy_P(buf, f_msg);
Response_P(PSTR("{\"" D_JSON_ZIGBEE_STATE "\":{\"Status\":%d,\"Message\":\"%s\"}}"),
cur_d8, buf);
cur_d8, f_msg);
MqttPublishPrefixTopic_P(RESULT_OR_TELE, PSTR(D_JSON_ZIGBEE_STATE));
XdrvRulesProcess();
}

View File

@ -23,9 +23,7 @@
* ESP32 webcam based on example in Arduino-ESP32 library
*
* Template as used on ESP32-CAM WiFi + bluetooth Camera Module Development Board ESP32 With Camera Module OV2640 Geekcreit for Arduino
* {"NAME":"AITHINKER CAM No SPI","GPIO":[4992,65504,65504,65504,5472,5312,65504,65504,5504,5536,65504,65504,5568,5440,5280,5248,0,5216,5408,5376,0,5344,5024,5056,0,0,0,0,4928,65504,5120,5088,5184,0,0,5152],"FLAG":0,"BASE":1}
* Template with SPI configured. This needs define USE_SPI
* {"NAME":"AITHINKER CAM","GPIO":[4992,65504,672,65504,5472,5312,65504,65504,5504,5536,736,704,5568,5440,5280,5248,0,5216,5408,5376,0,5344,5024,5056,0,0,0,0,4928,65504,5120,5088,5184,0,0,5152],"FLAG":0,"BASE":1}
* {"NAME":"AITHINKER CAM No SPI","GPIO":[4992,65504,65504,65504,65504,5088,65504,65504,65504,65504,65504,65504,65504,65504,5089,5090,0,5091,5184,5152,0,5120,5024,5056,0,0,0,0,4928,65504,5094,5095,5092,0,0,5093],"FLAG":0,"BASE":1}
*
* Command: Webcam <number>
* 0 = Stop streaming
@ -50,9 +48,10 @@
#define CAMERA_MODEL_AI_THINKER
//#define USE_TEMPLATE
#define USE_TEMPLATE
#define WC_LOGLEVEL LOG_LEVEL_INFO
#include "fb_gfx.h"
#include "fd_forward.h"
#include "fr_forward.h"
@ -88,6 +87,26 @@ uint8_t faces;
uint16_t face_detect_time;
#endif
bool WcPinUsed(void) {
bool pin_used = true;
for (uint32_t i = 0; i < MAX_WEBCAM_DATA; i++) {
if (!PinUsed(GPIO_WEBCAM_DATA, i)) {
pin_used = false;
}
// if (i < MAX_WEBCAM_HSD) {
// if (!PinUsed(GPIO_WEBCAM_HSD, i)) {
// pin_used = false;
// }
// }
}
if (!PinUsed(GPIO_WEBCAM_XCLK) || !PinUsed(GPIO_WEBCAM_PCLK) ||
!PinUsed(GPIO_WEBCAM_VSYNC) || !PinUsed(GPIO_WEBCAM_HREF) ||
!PinUsed(GPIO_WEBCAM_SIOD) || !PinUsed(GPIO_WEBCAM_SIOC)) {
pin_used = false;
}
return pin_used;
}
uint32_t wc_setup(int32_t fsiz) {
if (fsiz > 10) { fsiz = 10; }
@ -133,31 +152,25 @@ uint32_t wc_setup(int32_t fsiz) {
config.pin_pwdn = PWDN_GPIO_NUM;
config.pin_reset = RESET_GPIO_NUM;
#else
if (PinUsed(GPIO_WEBCAM_Y2) && PinUsed(GPIO_WEBCAM_Y3) && PinUsed(GPIO_WEBCAM_Y4) && PinUsed(GPIO_WEBCAM_Y5)\
&& PinUsed(GPIO_WEBCAM_Y6) && PinUsed(GPIO_WEBCAM_Y7) && PinUsed(GPIO_WEBCAM_Y8) && PinUsed(GPIO_WEBCAM_Y9)\
&& PinUsed(GPIO_WEBCAM_XCLK) && PinUsed(GPIO_WEBCAM_PCLK) && PinUsed(GPIO_WEBCAM_VSYNC) && PinUsed(GPIO_WEBCAM_HREF)\
&& PinUsed(GPIO_WEBCAM_SIOD) && PinUsed(GPIO_WEBCAM_SIOC)) {
config.pin_d0 = Pin(GPIO_WEBCAM_Y2); //Y2_GPIO_NUM;
config.pin_d1 = Pin(GPIO_WEBCAM_Y3); //Y3_GPIO_NUM;
config.pin_d2 = Pin(GPIO_WEBCAM_Y4); //Y4_GPIO_NUM;
config.pin_d3 = Pin(GPIO_WEBCAM_Y5); //Y5_GPIO_NUM;
config.pin_d4 = Pin(GPIO_WEBCAM_Y6); //Y6_GPIO_NUM;
config.pin_d5 = Pin(GPIO_WEBCAM_Y7); //Y7_GPIO_NUM;
config.pin_d6 = Pin(GPIO_WEBCAM_Y8); //Y8_GPIO_NUM;
config.pin_d7 = Pin(GPIO_WEBCAM_Y9); //Y9_GPIO_NUM;
config.pin_xclk = Pin(GPIO_WEBCAM_XCLK); //XCLK_GPIO_NUM;
config.pin_pclk = Pin(GPIO_WEBCAM_PCLK); //PCLK_GPIO_NUM;
config.pin_vsync = Pin(GPIO_WEBCAM_VSYNC); //VSYNC_GPIO_NUM;
config.pin_href = Pin(GPIO_WEBCAM_HREF); //HREF_GPIO_NUM;
config.pin_sscb_sda = Pin(GPIO_WEBCAM_SIOD); //SIOD_GPIO_NUM;
config.pin_sscb_scl = Pin(GPIO_WEBCAM_SIOC); //SIOC_GPIO_NUM;
int16_t xpin;
xpin = Pin(GPIO_WEBCAM_PWDN);
if (99 == xpin) { xpin = -1; }
config.pin_pwdn = xpin; //PWDN_GPIO_NUM;
xpin = Pin(GPIO_WEBCAM_RESET);
if (99 == xpin) { xpin=-1; }
config.pin_reset = xpin; //RESET_GPIO_NUM;
if (WcPinUsed()) {
config.pin_d0 = Pin(GPIO_WEBCAM_DATA); // Y2_GPIO_NUM;
config.pin_d1 = Pin(GPIO_WEBCAM_DATA, 1); // Y3_GPIO_NUM;
config.pin_d2 = Pin(GPIO_WEBCAM_DATA, 2); // Y4_GPIO_NUM;
config.pin_d3 = Pin(GPIO_WEBCAM_DATA, 3); // Y5_GPIO_NUM;
config.pin_d4 = Pin(GPIO_WEBCAM_DATA, 4); // Y6_GPIO_NUM;
config.pin_d5 = Pin(GPIO_WEBCAM_DATA, 5); // Y7_GPIO_NUM;
config.pin_d6 = Pin(GPIO_WEBCAM_DATA, 6); // Y8_GPIO_NUM;
config.pin_d7 = Pin(GPIO_WEBCAM_DATA, 7); // Y9_GPIO_NUM;
config.pin_xclk = Pin(GPIO_WEBCAM_XCLK); // XCLK_GPIO_NUM;
config.pin_pclk = Pin(GPIO_WEBCAM_PCLK); // PCLK_GPIO_NUM;
config.pin_vsync = Pin(GPIO_WEBCAM_VSYNC); // VSYNC_GPIO_NUM;
config.pin_href = Pin(GPIO_WEBCAM_HREF); // HREF_GPIO_NUM;
config.pin_sscb_sda = Pin(GPIO_WEBCAM_SIOD); // SIOD_GPIO_NUM;
config.pin_sscb_scl = Pin(GPIO_WEBCAM_SIOC); // SIOC_GPIO_NUM;
config.pin_pwdn = (PinUsed(GPIO_WEBCAM_PWDN)) ? Pin(GPIO_WEBCAM_PWDN) : -1; // PWDN_GPIO_NUM;
config.pin_reset = (PinUsed(GPIO_WEBCAM_RESET)) ? Pin(GPIO_WEBCAM_RESET) : -1; // RESET_GPIO_NUM;
AddLog_P2(WC_LOGLEVEL, PSTR("CAM: User template"));
} else {
// defaults to AI THINKER
config.pin_d0 = Y2_GPIO_NUM;
@ -176,6 +189,7 @@ uint32_t wc_setup(int32_t fsiz) {
config.pin_sscb_scl = SIOC_GPIO_NUM;
config.pin_pwdn = PWDN_GPIO_NUM;
config.pin_reset = RESET_GPIO_NUM;
AddLog_P2(WC_LOGLEVEL, PSTR("CAM: Default template"));
}
#endif

View File

@ -67,6 +67,10 @@
#define USE_APDS9960_PROXIMITY // Enable Proximity feature (>50 code)
#define USE_APDS9960_COLOR // Enable Color feature (+0.8k code)
#define APDS9960_MODE_GESTURE 0
#define APDS9960_MODE_COLOR 1
#define USE_APDS9960_STARTMODE APDS9960_MODE_GESTURE
/* Gesture parameters */
#define GESTURE_THRESHOLD_OUT 10
@ -351,11 +355,11 @@ char currentGesture[6];
color_data_t color_data;
#endif // USE_APDS9960_COLOR || USE_APDS9960_PROXIMITY
volatile uint8_t recovery_loop_counter = 0; // count number of stateloops to switch the sensor off, if needed
volatile uint8_t recovery_loop_counter = 0; // count number of stateloops to switch the sensor off, if needed
bool APDS9960_overload = false;
uint8_t APDS9960_aTime = DEFAULT_ATIME;
uint8_t APDS9960_type = 0;
uint8_t gesture_mode = 1;
uint8_t gesture_mode = 1; // 1 : Gesture | 2 : Color
/******************************************************************************\
* Helper functions
@ -1836,9 +1840,17 @@ void APDS9960_detect(void) {
I2cSetActiveFound(APDS9960_I2C_ADDR, APDS9960_TAG);
enableProximitySensor();
#ifdef USE_APDS9960_GESTURE
#if defined(USE_APDS9960_GESTURE) && USE_APDS9960_STARTMODE == APDS9960_MODE_GESTURE
gesture_mode = 1;
enableGestureSensor();
#endif // USE_APDS9960_GESTURE
#if ( defined(USE_APDS9960_COLOR) || defined(USE_APDS9960_PROXIMITY) ) && USE_APDS9960_STARTMODE == APDS9960_MODE_COLOR
gesture_mode = 0;
enableLightSensor();
APDS9960_overload = false;
#endif // USE_APDS9960_GESTURE
} else {
APDS9960_type = 0;
}