* Seperate simple and full driver, introduce "common" for shared code
* Fix command prefixes
* Generate command as multiline if requested
* Fix JS linebreak
* Only use simple dirver - check sizes of firmware images
* Update obk_config.h - enable Full driver for all platforms to allow testing
* Change parsing sttring to device address to allow compact form
Change obk_config.h: remove extra entry for W800, add "FULL" driver to windows build
* fix windows code for "fake" DS18B20
* fix missing files in openBeken_win32_mvsc2017.vcxproj
* fix handle missing task.h for windows
* change Windows emulation to MAX/2 fake sensors
* try fix BL602
* change "fake temperature" of sensors in windows
* change windows sensor temperature once more
* shorten commands by alias
* fix escaping linebreak
* Fix broken JS code ...
* Fix ESP32 is crashing if interrupts are disabled during OWReset for > 480us
* Change output for unused channels
Test if DS1820 channels are in use
* fix warning/error for channel (<=64) printed into a char[5] value
* removeunuses quotes for address
* Fix language
* Capial "S" in Menu entry "Sensors"
* restore obk_config - #define ENABLE_DRIVER_DS1820_FULLonly for WINDOWS and SENSORS variant
* Add HAL_GetWiFiBSSID() and HAL_GetWiFiChannel() commands
Display correct BSSID and channel in JSON status
* Testing bssid RTL
* Typo and new try for RTL
* Fix BSSID returned
* bettter
* test
* Update hal_wifi_xradio.c
---------
Co-authored-by: Tester23 <85486843+openshwprojects@users.noreply.github.com>
Since I saw this in an illustration for an "issue".
If I'm not mistaken, I changed the GUI some time ago so the additional input appears/vanishes as soon as role is changed to button. So no need to wait for saving...
This introduces a delay for sending the ACKs on battery powered TuyaMCU
sensors.
Rationale is to allow users to delay the return to sleep state. This is
useful when e.g. changing settings on the device.
Currently the device is sent back to sleep after the status has been
read and commited to MQTT. This can be less than 5 seconds of uptime.
Set this value to a sane default, which allows the device to retain
online for enough time for a user to change configuration.
Signed-off-by: David Bauer <mail@david-bauer.net>
Undefined Behavior Sanitizer (UBSAN) [1] is a similar tool to ASAN,
useful for catching bugs related to undefined behavior.
All the problems it detects seem related to the bitshifts related to
flags. Here's a sample:
```
src/new_pins.c:2437:8: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
#0 0x55a1b51011c1 in PIN_get_Relay_PWM_Count src/new_pins.c:2437
#1 0x55a1b500389b in NewLED_InitCommands src/cmnds/cmd_newLEDDriver.c:1627
#2 0x55a1b5150208 in Main_Init_BeforeDelay_Unsafe src/user_main.c:1151
#3 0x55a1b51506e7 in Main_Init_Before_Delay src/user_main.c:1290
#4 0x55a1b5150a05 in Main_Init src/user_main.c:1428
#5 0x55a1b515902c in SIM_ClearOBK src/win_main.c:166
#6 0x55a1b515a0fd in main src/win_main.c:534
#7 0x7f1acfdabd8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
#8 0x7f1acfdabe3f in __libc_start_main_impl ../csu/libc-start.c:392
#9 0x55a1b4fd8eb4 in _start (/home/niteria/tmp/broken-realloc/OpenBK7231T_App/build/win_main+0x10ceb4)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/new_pins.c:2437:8 in
```
```
src/new_cfg.c:591:9: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
#0 0x5629450eb803 in CFG_HasFlag src/new_cfg.c:591
#1 0x562944ffdb53 in CMD_Init_Early src/cmnds/cmd_main.c:1007
#2 0x562945153230 in Main_Init_BeforeDelay_Unsafe src/user_main.c:1162
#3 0x5629451536e7 in Main_Init_Before_Delay src/user_main.c:1290
#4 0x562945153a05 in Main_Init src/user_main.c:1428
#5 0x56294515c02c in SIM_ClearOBK src/win_main.c:166
#6 0x56294515d0fd in main src/win_main.c:534
#7 0x7f9f5e12bd8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
#8 0x7f9f5e12be3f in __libc_start_main_impl ../csu/libc-start.c:392
#9 0x562944fdbeb4 in _start (/home/niteria/tmp/broken-realloc/OpenBK7231T_App/build/win_main+0x10ceb4)
```
```
src/httpserver/http_fns.c:369:8: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
#0 0x560135601d44 in http_fn_index src/httpserver/http_fns.c:369
#1 0x5601356185cb in HTTP_ProcessPacket src/httpserver/new_http.c:826
#2 0x5601356a1e93 in Test_FakeHTTPClientPacket_Generic src/selftest/selftest_http.c:86
#3 0x5601356a2002 in Test_FakeHTTPClientPacket_GET src/selftest/selftest_http.c:102
#4 0x5601356b773f in Test_PIR src/selftest/selftest_pir.c:27
#5 0x5601356d204b in Win_DoUnitTests src/win_main.c:171
#6 0x5601356d3116 in main src/win_main.c:538
#7 0x7f6911b2ad8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
#8 0x7f6911b2ae3f in __libc_start_main_impl ../csu/libc-start.c:392
#9 0x560135551eb4 in _start (/home/niteria/tmp/broken-realloc/OpenBK7231T_App/build/win_main+0x10ceb4)
```
Preexisting problems are suppressed in `platforms/linux/ubsan.suppressions`
[1] https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html