Czy wolisz polską wersję strony elektroda?
Nie, dziękuję Przekieruj mnie tamp.kaczmarek2 wrote:PCB seems slightly bent
CSRCS += $(_SHARED_APP)/driver/drv_dht.c
CSRCS += $(_SHARED_APP)/driver/drv_dht_internal.c
./bin/build/w800/lib/libuser.a(json_interface.o): In function `http_tasmota_json_status_TIM':
(.text.unlikely.http_tasmota_json_status_TIM+0x8): undefined reference to `NTP_GetCurrentTime'
./bin/build/w800/lib/libuser.a(json_interface.o): In function `http_tasmota_json_status_TIM':
(.text.unlikely.http_tasmota_json_status_TIM+0x8): relocation truncated to fit: R_CKCORE_PCREL_IMM26BY2 against undefined symbol `NTP_GetCurrentTime'
./bin/build/w800/lib/libuser.a(json_interface.o): In function `http_tasmota_json_status_TIM':
(.text.unlikely.http_tasmota_json_status_TIM+0xe): undefined reference to `NTP_GetCurrentTimeWithoutOffset'
./bin/build/w800/lib/libuser.a(json_interface.o): In function `http_tasmota_json_status_TIM':
(.text.unlikely.http_tasmota_json_status_TIM+0xe): relocation truncated to fit: R_CKCORE_PCREL_IMM26BY2 against undefined symbol `NTP_GetCurrentTimeWithoutOffset'
collect2: error: ld returned 1 exit status
startDriver OpenWeatherMap
// owm_setup lat long APIkey
owm_setup 40.7128 -74.0060 REMOVEDMYKEYHERE
setChannelType 6 Temperature_div10
setChannelType 7 Humidity
setChannelType 8 Pressure_div100
// owm_channels temperature humidity pressure
owm_channels 6 7 8
// this will send a HTTP GET once
owm_request
divadiow wrote:It's a shame BL602 new SDK isn't the de-facto BL602 base already. Will these kind of fixes need doing again for that?
backlog stopDriver BMP280 ; startDriver BMP280 25 24 9 10 11 236
p.kaczmarek2 wrote:For now, I'm struggling with a strange error:
setChannel 30 0
again:
addChannel 30 1
echo Hello $CH30
delay_s 1
goto again
fo:MQTT:MQTT_RegisterCallback called for bT cmnd/w800s/ subT cmnd/w800s/+
Info:MQTT:MQTT_RegisterCallback called for bT w800CDCE8EC7/ subT w800CDCE8EC7/+/
ror:CMD:Too many args, skipped all after 32nd.
fo:MAIN:Started DS1820.
fo:CMD:CMD_StartScript: failed to get file autoexec.bat
fo:MAIN:Main_Init_After_Delay done
fset:213923
CPU Exception : 3
r0: 00000017 r1: 00000000 r2: 2000aea0 r3: 00000000 r4: 00000017
r5: 20000868 r6: 2000ae9c r7: 2000aea5 r8: 2000b4d4 r9: 09090909
r10: 10101010 r11: 11111111 r12: 0000004e r13: 200232d4 r14: 200232a4
r15: 080ecbdc
epsr: 80000341
p.kaczmarek2 wrote:Here is test script:
backlog stopDriver BMP280 ; startDriver BMP280 PB9 PB8 9 10 11 236
startDriver DS1820
startDriver BMP280 PB9 PB8 9 10 11 236
// wifi wait
waitFor WiFiState 4
startDriver OpenWeatherMap
// owm_setup lat long APIkey
owm_setup 40.7128 -74.0060 qqqqqqqqqqqqq
setChannelType 6 Temperature_div10
setChannelType 7 Humidity
setChannelType 8 Pressure_div100
// owm_channels temperature humidity pressure
owm_channels 6 7 8
owm_request
setChannel 30 0
again:
addChannel 30 1
echo Hello $CH30
delay_s 1
goto
TL;DR: The reduced OpenBK7231T_App test build cut BK7231N firmware from 500 KB to 388 KB, and one tester confirmed it "boots ok" on multiple boards. This FAQ helps OpenBK7231T users validate smaller builds, preserve OTA safety, and check which drivers still work before merging custom or stripped firmware. [#21382317]
Why it matters: Smaller firmware images make room for more platforms, safer OTA updates, and clearer driver-set choices without losing core OpenBK functionality.
| Build or option | Reported size / result | Best fit |
|---|---|---|
| Public BK7231N release | 500 KB | Full default feature set |
| Stripped BK7231N build | 388 KB | Minimal core, MQTT kept earlier; HA removed in one test state |
| Earlier reduced RBL from PR #1500 | 405,200 bytes | Early small-build validation |
| Empty HAL main | 280 KB | Baseline SDK overhead only |
| W800 after SDK feature cuts | ~0.55 MB | OTA-friendly W800 target |
Key insight: The thread shows the size work was viable because testers repeatedly confirmed boot, OTA, MQTT, LFS, and several drivers across BK7231N, BK7231T, W600, W800, LN882H, RTL87X0C, and others. The real risk was not basic boot, but edge cases around startup-command JSON, makefiles, and platform-specific SDK defaults.
OpenBK7231N_1500_merge_f2af436bf134.rbl at 405,200 bytes, versus 500,800 bytes for public release 1.18.12. [#21381261]driver/common/dd.c, which remain linked below the application layer. [#21382317]autoexec.bat can disappear after OTA or size-layout changes because the filesystem area may shrink, move, or be recreated. One test on room lights kept core control working but lost autoexec.bat, prompting a warning to add a user warning or shrink default LFS size again. [#21384179]startDriver anyNonExistingName in the console to force OpenBK to print the available driver list for that firmware. The maintainer asked testers to use exactly that trick to manually verify which public drivers remained compiled in before merging the size-reduction PR. Testers then posted platform-specific driver lists for LN882H, BK7231N, BK7231T, ESP32 variants, W600, W800, BL602, and TR6260. [#21384228]drv_ir.cpp is a C++ file, but PLATFORM_BL602 was only defined in CFLAGS, not in the flags used for C++ compilation. The thread identifies the fix clearly: pass the define through CXXFLAGS or CPPFLAGS, for example CXXFLAGS += -DPLATFORM_BL602=1. That change matches the observed error path, where obk_config.h reached #error "Platform not defined" inside a .cpp compile. [#21385028]\n in the JSON returned by the chip-info API, so the web app fails to parse platform info and cannot offer the OTA file selector correctly. The maintainer described this as a known bug and gave the direct workaround: remove the startup command text, then perform OTA. [#21399371]Too many args, skipped all after 32nd and a CPU Exception 3. Recovery is simple: boot into safe mode, remove the stored startup command, and reboot. That clears the incompatible text and restores normal startup. [#21387492]drv_dht.c and drv_dht_internal.c were added to CSRCS; after that, DHT worked. On W600, DS18B20 was enabled for the first time during this work, though a small type issue still needed follow-up to avoid long-uptime timing problems. [#21385914]OpenWeatherMap, running owm_setup <lat> <long> <APIkey>, assigning channel types such as Temperature_div10, Humidity, and Pressure_div100, then binding them with owm_channels and calling owm_request. A posted working example used coordinates 40.7128 -74.0060 and channels 6, 7, and 8, and the maintainer confirmed, "All works." [#21386446]TLS_CONFIG_HTTP_CLIENT, TLS_CONFIG_HTTP_CLIENT_SECURE, and related options as size drivers, then reduced the image from about 1 MB to about 0.55 MB by disabling unnecessary SDK features. That cut made OTA practical again and explained why W800 binaries were oversized even before many OpenBK drivers were added. [#21387301]HAL_PIN_Find and Tokenizer_GetPin for W600 and W800, then demonstrated driver startup with symbolic pins instead of numeric indexes. A working example was backlog stopDriver BMP280 ; startDriver BMP280 PB9 PB8 9 10 11 236, which successfully started BMP280 using PB9 and PB8 as I2C-style pin arguments. [#21387790]