Доработка. Добавлен модуль работы с ЭМС-Г. При выходе на связь загружает настройки в ячейки ЭМС-Г.

This commit is contained in:
MaD_CaT
2024-12-23 09:18:31 +03:00
parent 8c32e3691c
commit 2d5598ea1b
8 changed files with 75 additions and 23 deletions

View File

@@ -24,6 +24,7 @@ class YaU07 extends unit.Unit:
WRITE_FLASH_MP550 = 55, ## Код команды "записать данные из FLASH в КЭМС" ячейки ЯУ-07
WRITE_BLOCK = 60, ## Код команды "записать блок данных ISA" внешней шины ячейки ЯУ-07
READ_BLOCK = 61, ## Код команды "читать блок данных ISA" внешней шины ячейки ЯУ-07
LOAD_EMG_DONE = 70, ## Код команды "читать блок данных ISA" внешней шины ячейки ЯУ-07
}
var cmd_num_rx: = 0 ## Номер команды принятый
@@ -171,6 +172,22 @@ class YaU07 extends unit.Unit:
cmd_state = CmdState.SEND
cmd_code_tx = cmd_code
return true
func send_other(cmd_code: int):
if (cmd_state == CmdState.WAIT) \
or (cmd_state == CmdState.SEND) \
or (cmd_state == CmdState.UNCK):
return false
if not (cmd_code == CmdCode.LOAD_EMG_DONE):
return false
cmd_num_tx = (cmd_num_rx + 1) % 0xffff
tx_data.encode_u16(0, cmd_retry)
tx_data.encode_u16(2, cmd_num_tx)
tx_data.encode_u8(6, cmd_code)
tx_len = 7
cmd_state = CmdState.SEND
cmd_code_tx = cmd_code
## Возвращает код команды ЯУ-07.
## rx_data - Принятые данные.
## Возвращает - Код команды не найден, 0...255 - код команды.