Skip to content

firmware v1.0.5 — #BRIDGE-3 fix: bridge -inf/-cal race

Choose a tag to compare

@Verter73 Verter73 released this 09 Jul 13:06

#BRIDGE-3 — гонка ответов -inf/-cal в bridge mode

Симптомы (репорт оператора): при подключении в bridge mode и запросах -inf/-cal вразнобой серийный номер становился FFFFFFFF, температура падала в 0, поля перемешивались.

Корень: ответ -cal (40 hex-строк без ключей) заходил в ветку разбора -infmemset(device_info) обнулял температуру/версию, а безусловное serial = lbuf[39] при сдвиге строк под TCP-конкатенацией попадало на пустой слот FFFFFFFF.

Фикс: content-based дискриминатор is_inf = (strstr(text,"VERSION ") != NULL).

  • -cal → только калибровка + guarded-serial (device_info/s_info_raw не трогаются).
  • -inf → прежняя логика.
  • serial принимается только при ровно 8 hex И не all-F.

Проверка: прошито COM16, верифицировано по HTTP — t1/version/serial стабильны на 6 перемешанных -inf/-cal запросах (до фикса -cal обнулял t1 27.5→0). Финальное подтверждение bridge-mode (TCP-фрагментация) — на стороне оператора/Андрея.


SHA256: firmware.factory.bin 53975D9747A9C23A1B1354CCC825EDDE3B43BB813E902B10ADEE00A20220CB60