Align Android parser statistics with C core

This commit is contained in:
2026-09-04 21:10:02 +03:00
parent 6a82b309cc
commit 78d3f6690b
2 changed files with 7 additions and 2 deletions

View File

@@ -175,7 +175,9 @@ object CanBridgeProtocol {
stats = Stats(
frames = values[0],
crcErrors = values[1],
resyncBytes = values[2] + values[3],
// The former Kotlin parser counted one resync step
// for a rejected CRC frame in addition to stray bytes.
resyncBytes = values[1] + values[2] + values[3],
sequenceLost = values[4],
)
}

View File

@@ -15,12 +15,15 @@
Python вызывает это ядро через `python/protocan/native.py`, Android — через
`ports/android/setprotocol_jni.c`. Файлы на Python и Kotlin являются портами и
не должны содержать wire-алгоритм.
не должны содержать wire-алгоритм. В старых портах ещё встречаются fallback-
реализации; они отмечены ниже и удаляются по мере включения обязательной
загрузки C-ядра.
## Найденное общее, которое ещё нужно перенести
| Приоритет | Android | SETGUI | Что вынести в C |
|---|---|---|---|
| 0 | `ports/android/.../CanBridgeProtocol.kt`, `GuiProtocol.kt` | Python transport wrappers | удалить оставшиеся алгоритмические fallback, так как codec/parser уже есть в C |
| 1 | `core/Tms2812Protocol.kt` | `core/tms_flash.py`, `core/tms_terminal.py` | весь RS-протокол ПМ67/2812, CRC, команды и validators |
| 2 | `core/Ds18b20Protocol.kt` | `core/ds18b20.py` | кодеки списков/данных/EEPROM, CRC8 и значения датчиков |
| 3 | `core/CanFirmwareProtocol.kt` | `core/can_firmware.py` | автомат CAN boot, статусы, окна блоков |