|
1 | 1 | import struct |
| 2 | +from typing import Final |
| 3 | + |
2 | 4 |
|
3 | 5 | # Command, index, subindex |
4 | 6 | SDO_STRUCT = struct.Struct("<BHB") |
|
33 | 35 | TOGGLE_BIT = 0x10 |
34 | 36 |
|
35 | 37 | # Abort codes |
36 | | -ABORT_TOGGLE_NOT_ALTERNATED = 0x0503_0000 |
37 | | -ABORT_TIMED_OUT = 0x0504_0000 |
38 | | -ABORT_INVALID_COMMAND_SPECIFIER = 0x0504_0001 |
39 | | -ABORT_INVALID_BLOCK_SIZE = 0x0504_0002 |
40 | | -ABORT_INVALID_SEQUENCE_NUMBER = 0x0504_0003 |
41 | | -ABORT_CRC_ERROR = 0x0504_0004 |
42 | | -ABORT_OUT_OF_MEMORY = 0x0504_0005 |
43 | | -ABORT_UNSUPPORTED_ACCESS = 0x0601_0000 |
44 | | -ABORT_READ_WRITEONLY = 0x0601_0001 |
45 | | -ABORT_WRITE_READONLY = 0x0601_0002 |
46 | | -ABORT_NOT_IN_OD = 0x0602_0000 |
47 | | -ABORT_PDO_CANNOT_MAP = 0x0604_0041 |
48 | | -ABORT_PDO_LENGTH_EXCEEDED = 0x0604_0042 |
49 | | -ABORT_PARAMETER_INCOMPATIBLE = 0x0604_0043 |
50 | | -ABORT_INTERNAL_INCOMPATIBILITY = 0x0604_0047 |
51 | | -ABORT_HARDWARE_ERROR = 0x0606_0000 |
52 | | -ABORT_LENGTH_NOT_MATCHED = 0x0607_0010 |
53 | | -ABORT_LENGTH_TOO_HIGH = 0x0607_0012 |
54 | | -ABORT_LENGTH_TOO_LOW = 0x0607_0013 |
55 | | -ABORT_NO_SUBINDEX = 0x0609_0011 |
56 | | -ABORT_INVALID_VALUE = 0x0609_0030 # download only |
57 | | -ABORT_VALUE_TOO_HIGH = 0x0609_0031 # download only |
58 | | -ABORT_VALUE_TOO_LOW = 0x0609_0032 # download only |
59 | | -ABORT_MAXIMUM_LESS_THAN_MINIMUM = 0x0609_0036 |
60 | | -ABORT_NO_SDO_CONNECTION = 0x060A_0023 |
61 | | -ABORT_GENERAL_ERROR = 0x0800_0000 |
62 | | -ABORT_STORE_APPLICATION = 0x0800_0020 |
63 | | -ABORT_APPLICATION_LOCAL_CONTROL = 0x0800_0021 |
64 | | -ABORT_APPLICATION_DEVICE_STATE = 0x0800_0022 |
65 | | -ABORT_OD_GENERATION = 0x0800_0023 |
66 | | -ABORT_NO_DATA_AVAILABLE = 0x0800_0024 |
| 38 | +ABORT_TOGGLE_NOT_ALTERNATED: Final[int] = 0x0503_0000 |
| 39 | +ABORT_TIMED_OUT: Final[int] = 0x0504_0000 |
| 40 | +ABORT_INVALID_COMMAND_SPECIFIER: Final[int] = 0x0504_0001 |
| 41 | +ABORT_INVALID_BLOCK_SIZE: Final[int] = 0x0504_0002 |
| 42 | +ABORT_INVALID_SEQUENCE_NUMBER: Final[int] = 0x0504_0003 |
| 43 | +ABORT_CRC_ERROR: Final[int] = 0x0504_0004 |
| 44 | +ABORT_OUT_OF_MEMORY: Final[int] = 0x0504_0005 |
| 45 | +ABORT_UNSUPPORTED_ACCESS: Final[int] = 0x0601_0000 |
| 46 | +ABORT_READ_WRITEONLY: Final[int] = 0x0601_0001 |
| 47 | +ABORT_WRITE_READONLY: Final[int] = 0x0601_0002 |
| 48 | +ABORT_NOT_IN_OD: Final[int] = 0x0602_0000 |
| 49 | +ABORT_PDO_CANNOT_MAP: Final[int] = 0x0604_0041 |
| 50 | +ABORT_PDO_LENGTH_EXCEEDED: Final[int] = 0x0604_0042 |
| 51 | +ABORT_PARAMETER_INCOMPATIBLE: Final[int] = 0x0604_0043 |
| 52 | +ABORT_INTERNAL_INCOMPATIBILITY: Final[int] = 0x0604_0047 |
| 53 | +ABORT_HARDWARE_ERROR: Final[int] = 0x0606_0000 |
| 54 | +ABORT_LENGTH_NOT_MATCHED: Final[int] = 0x0607_0010 |
| 55 | +ABORT_LENGTH_TOO_HIGH: Final[int] = 0x0607_0012 |
| 56 | +ABORT_LENGTH_TOO_LOW: Final[int] = 0x0607_0013 |
| 57 | +ABORT_NO_SUBINDEX: Final[int] = 0x0609_0011 |
| 58 | +ABORT_INVALID_VALUE: Final[int] = 0x0609_0030 # download only |
| 59 | +ABORT_VALUE_TOO_HIGH: Final[int] = 0x0609_0031 # download only |
| 60 | +ABORT_VALUE_TOO_LOW: Final[int] = 0x0609_0032 # download only |
| 61 | +ABORT_MAXIMUM_LESS_THAN_MINIMUM: Final[int] = 0x0609_0036 |
| 62 | +ABORT_NO_SDO_CONNECTION: Final[int] = 0x060A_0023 |
| 63 | +ABORT_GENERAL_ERROR: Final[int] = 0x0800_0000 |
| 64 | +ABORT_STORE_APPLICATION: Final[int] = 0x0800_0020 |
| 65 | +ABORT_APPLICATION_LOCAL_CONTROL: Final[int] = 0x0800_0021 |
| 66 | +ABORT_APPLICATION_DEVICE_STATE: Final[int] = 0x0800_0022 |
| 67 | +ABORT_OD_GENERATION: Final[int] = 0x0800_0023 |
| 68 | +ABORT_NO_DATA_AVAILABLE: Final[int] = 0x0800_0024 |
0 commit comments