продолжаю размотки, подскажите пожалуйста по вопросам записи в память контроллера (matrix-II-net), в область памяти карт, через advanced-овскую команду записи.
Сразу по 8 байт получается нормально записывать, а побайтово (допустим, если флаги только надо поменять) - результат странный.
скажем есть запись
~~ карты/ключи
№слота ключ флаги зоны Блок Мастер Трёхбайт
6 00 00 00 00 00 00 0x0 0x0 выч.смещение: 0xF0
на месте этого 6-го слота до этого был записан некий код карты, затем затёрт нулями.
по смещению 0xF6 будет храниться 1 байт флагов. Пишем туда 0x18.
приходит ответ от контроллера
0x00 [0xe0]
0x01 [0x9]
0x02 [0x8]
0x03 [0x14]
0x04 [0x3]
0x05 [0x2]
0x06 [0x0]
0x07 [0xa0]
0x08 [0x55]
в спецификации протокола такого нету, там 8 байт ответа дубликат, потом код результата.
смотрим как записалось
~~ карты/ключи
№слота ключ флаги зоны Блок Мастер Трёхбайт
6 62 5C 9D 03 4C 18 0x0 0x3B выч.смещение: 0xF0
0x18 записалось, но на 1 ячейку-байт ниже, плюс виден некий мусор (точнее тройка второй половины старого затертого нулями ключа и затем 2 байта непонятного)
я к чему:
1) в область карт надо писать восьмёрками байт? или всё-таки можно и побайтово?
2) ответный пакет на операцию записи не подходит под описание в вики, как интерпретировать?