Checkpoint EEPROM, firmware analysis and instrument protocol updates
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
"""
|
||||
from dataclasses import dataclass, field
|
||||
import struct
|
||||
from set_devices.ump_logger import BASE, DATA, LIVE, EMU_CONTROL
|
||||
from set_devices.ump_logger import BASE, DATA, LIVE, EMU_CONTROL, PROTECTION
|
||||
|
||||
MARKER = 0x1F00
|
||||
MAX_WORDS = 124
|
||||
@@ -26,10 +26,12 @@ def request_ids(mode):
|
||||
def build_request(mode, token, function, address, value):
|
||||
if not 1 <= token <= 255:
|
||||
raise ValueError('Неверный номер CAN-запроса')
|
||||
valid = ((function == 3 and ((address == BASE and value == 16) or
|
||||
valid = ((function == 3 and ((address == PROTECTION and value == 8) or (address == BASE and value == 16) or
|
||||
(address == DATA and value in (40, 80, 120, 42, 84)) or
|
||||
(address == LIVE and value == MAX_WORDS) or (address == EMU_CONTROL and value == 4))) or
|
||||
(function == 6 and ((BASE <= address <= BASE+3 and 0 <= value <= 65535) or
|
||||
(address == PROTECTION+2 and value in (0, 1, 2, 3)) or
|
||||
(address == PROTECTION+3 and 1 <= value <= 60000) or
|
||||
(address == EMU_CONTROL+2 and value in (0, 1)))))
|
||||
if not valid:
|
||||
raise ValueError('Недопустимый запрос CAN-логгера')
|
||||
|
||||
Reference in New Issue
Block a user