firmware v1.0.5 — #BRIDGE-3 fix: bridge -inf/-cal race
#BRIDGE-3 — гонка ответов -inf/-cal в bridge mode
Симптомы (репорт оператора): при подключении в bridge mode и запросах -inf/-cal вразнобой серийный номер становился FFFFFFFF, температура падала в 0, поля перемешивались.
Корень: ответ -cal (40 hex-строк без ключей) заходил в ветку разбора -inf → memset(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