scapy.contrib.automotive.ccp

class scapy.contrib.automotive.ccp.ACTION_SERVICE(_pkt, /, *, action_service=0, ccp_reserved=b'\xff\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.ACTION_SERVICE'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (ACTION_SERVICE).action_service>, <StrFixedLenField (ACTION_SERVICE).ccp_reserved>]
class scapy.contrib.automotive.ccp.ACTION_SERVICE_DTO(_pkt, /, *, data_length=0, data_type=0, ccp_reserved=b'\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.ACTION_SERVICE_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (ACTION_SERVICE_DTO).data_length>, <ByteField (ACTION_SERVICE_DTO).data_type>, <StrFixedLenField (ACTION_SERVICE_DTO).ccp_reserved>]
class scapy.contrib.automotive.ccp.BUILD_CHKSUM(_pkt, /, *, size=0, ccp_reserved=b'\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.BUILD_CHKSUM'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<IntField (BUILD_CHKSUM).size>, <StrFixedLenField (BUILD_CHKSUM).ccp_reserved>]
class scapy.contrib.automotive.ccp.BUILD_CHKSUM_DTO(_pkt, /, *, checksum_size=0, checksum_data=b'\x00\x00\x00\x00', ccp_reserved=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.BUILD_CHKSUM_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (BUILD_CHKSUM_DTO).checksum_size>, <StrFixedLenField (BUILD_CHKSUM_DTO).checksum_data>, <StrFixedLenField (BUILD_CHKSUM_DTO).ccp_reserved>]
class scapy.contrib.automotive.ccp.CCP(_pkt, /, *, flags=<Flag 0 ()>, identifier=0, length=8, reserved=0)[source]

Bases: CAN

aliastypes = [<class 'scapy.contrib.automotive.ccp.CCP'>, <class 'scapy.layers.can.CAN'>, <class 'scapy.packet.Packet'>]
extract_padding(p)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FlagsField (CCP).flags>, <XBitField (CCP).identifier>, <ByteField (CCP).length>, <ThreeBytesField (CCP).reserved>]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({}, <class 'scapy.contrib.automotive.ccp.DTO'>)]
class scapy.contrib.automotive.ccp.CLEAR_MEMORY(_pkt, /, *, size=0, ccp_reserved=b'\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.CLEAR_MEMORY'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<IntField (CLEAR_MEMORY).size>, <StrFixedLenField (CLEAR_MEMORY).ccp_reserved>]
class scapy.contrib.automotive.ccp.CONNECT(_pkt, /, *, station_address=0, ccp_reserved=b'\xff\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.CONNECT'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortField (CONNECT).station_address>, <StrFixedLenField (CONNECT).ccp_reserved>]
class scapy.contrib.automotive.ccp.CRO(_pkt, /, *, cmd=1, ctr=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.CRO'>, <class 'scapy.packet.Packet'>]
commands = {1: 'CONNECT', 2: 'SET_MTA', 3: 'DNLOAD', 4: 'UPLOAD', 5: 'TEST', 6: 'START_STOP', 7: 'DISCONNECT', 8: 'START_STOP_ALL', 9: 'GET_ACTIVE_CAL_PAGE', 12: 'SET_S_STATUS', 13: 'GET_S_STATUS', 14: 'BUILD_CHKSUM', 15: 'SHORT_UP', 16: 'CLEAR_MEMORY', 17: 'SELECT_CAL_PAGE', 18: 'GET_SEED', 19: 'UNLOCK', 20: 'GET_DAQ_SIZE', 21: 'SET_DAQ_PTR', 22: 'WRITE_DAQ', 23: 'EXCHANGE_ID', 24: 'PROGRAM', 25: 'MOVE', 27: 'GET_CCP_VERSION', 32: 'DIAG_SERVICE', 33: 'ACTION_SERVICE', 34: 'PROGRAM_6', 35: 'DNLOAD_6'}
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (CRO).cmd>, <ByteField (CRO).ctr>]
hashret()[source]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'cmd': 1}, <class 'scapy.contrib.automotive.ccp.CONNECT'>), ({'cmd': 27}, <class 'scapy.contrib.automotive.ccp.GET_CCP_VERSION'>), ({'cmd': 23}, <class 'scapy.contrib.automotive.ccp.EXCHANGE_ID'>), ({'cmd': 18}, <class 'scapy.contrib.automotive.ccp.GET_SEED'>), ({'cmd': 19}, <class 'scapy.contrib.automotive.ccp.UNLOCK'>), ({'cmd': 2}, <class 'scapy.contrib.automotive.ccp.SET_MTA'>), ({'cmd': 3}, <class 'scapy.contrib.automotive.ccp.DNLOAD'>), ({'cmd': 35}, <class 'scapy.contrib.automotive.ccp.DNLOAD_6'>), ({'cmd': 4}, <class 'scapy.contrib.automotive.ccp.UPLOAD'>), ({'cmd': 15}, <class 'scapy.contrib.automotive.ccp.SHORT_UP'>), ({'cmd': 17}, <class 'scapy.contrib.automotive.ccp.SELECT_CAL_PAGE'>), ({'cmd': 20}, <class 'scapy.contrib.automotive.ccp.GET_DAQ_SIZE'>), ({'cmd': 21}, <class 'scapy.contrib.automotive.ccp.SET_DAQ_PTR'>), ({'cmd': 22}, <class 'scapy.contrib.automotive.ccp.WRITE_DAQ'>), ({'cmd': 6}, <class 'scapy.contrib.automotive.ccp.START_STOP'>), ({'cmd': 7}, <class 'scapy.contrib.automotive.ccp.DISCONNECT'>), ({'cmd': 12}, <class 'scapy.contrib.automotive.ccp.SET_S_STATUS'>), ({'cmd': 13}, <class 'scapy.contrib.automotive.ccp.GET_S_STATUS'>), ({'cmd': 14}, <class 'scapy.contrib.automotive.ccp.BUILD_CHKSUM'>), ({'cmd': 16}, <class 'scapy.contrib.automotive.ccp.CLEAR_MEMORY'>), ({'cmd': 24}, <class 'scapy.contrib.automotive.ccp.PROGRAM'>), ({'cmd': 34}, <class 'scapy.contrib.automotive.ccp.PROGRAM_6'>), ({'cmd': 25}, <class 'scapy.contrib.automotive.ccp.MOVE'>), ({'cmd': 5}, <class 'scapy.contrib.automotive.ccp.TEST'>), ({'cmd': 9}, <class 'scapy.contrib.automotive.ccp.GET_ACTIVE_CAL_PAGE'>), ({'cmd': 8}, <class 'scapy.contrib.automotive.ccp.START_STOP_ALL'>), ({'cmd': 32}, <class 'scapy.contrib.automotive.ccp.DIAG_SERVICE'>), ({'cmd': 33}, <class 'scapy.contrib.automotive.ccp.ACTION_SERVICE'>)]
class scapy.contrib.automotive.ccp.DEFAULT_DTO(_pkt, /, *, load=b'\xff\xff\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.DEFAULT_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (DEFAULT_DTO).load>]
class scapy.contrib.automotive.ccp.DIAG_SERVICE(_pkt, /, *, diag_service=0, ccp_reserved=b'\xff\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.DIAG_SERVICE'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (DIAG_SERVICE).diag_service>, <StrFixedLenField (DIAG_SERVICE).ccp_reserved>]
class scapy.contrib.automotive.ccp.DIAG_SERVICE_DTO(_pkt, /, *, data_length=0, data_type=0, ccp_reserved=b'\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.DIAG_SERVICE_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (DIAG_SERVICE_DTO).data_length>, <ByteField (DIAG_SERVICE_DTO).data_type>, <StrFixedLenField (DIAG_SERVICE_DTO).ccp_reserved>]
class scapy.contrib.automotive.ccp.DISCONNECT(_pkt, /, *, type=0, ccp_reserved0=b'\xff', station_address=0, ccp_reserved=b'\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.DISCONNECT'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (DISCONNECT).type>, <StrFixedLenField (DISCONNECT).ccp_reserved0>, <LEShortField (DISCONNECT).station_address>, <StrFixedLenField (DISCONNECT).ccp_reserved>]
class scapy.contrib.automotive.ccp.DNLOAD(_pkt, /, *, size=0, data=b'\x00\x00\x00\x00\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.DNLOAD'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (DNLOAD).size>, <StrFixedLenField (DNLOAD).data>]
class scapy.contrib.automotive.ccp.DNLOAD_6(_pkt, /, *, data=b'\x00\x00\x00\x00\x00\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.DNLOAD_6'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (DNLOAD_6).data>]
class scapy.contrib.automotive.ccp.DNLOAD_6_DTO(_pkt, /, *, MTA0_extension=0, MTA0_address=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.DNLOAD_6_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (DNLOAD_6_DTO).MTA0_extension>, <XIntField (DNLOAD_6_DTO).MTA0_address>]
class scapy.contrib.automotive.ccp.DNLOAD_DTO(_pkt, /, *, MTA0_extension=0, MTA0_address=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.DNLOAD_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (DNLOAD_DTO).MTA0_extension>, <XIntField (DNLOAD_DTO).MTA0_address>]
class scapy.contrib.automotive.ccp.DTO(_pkt, /, *, packet_id=255, return_code=0, ctr=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.DTO'>, <class 'scapy.packet.Packet'>]
answers(other)[source]

In CCP, the payload of a DTO packet is dependent on the cmd field of a corresponding CRO packet. Two packets correspond, if there ctr field is equal. If answers detect the corresponding CRO, it will interpret the payload of a DTO with the correct class. In CCP, there is no other way, to determine the class of a DTO payload. Since answers is called on sr and sr1, this modification of the original answers implementation will give a better user experience.

comments: List[bytes] | None
default_fields: Dict[str, Any]
direction: int | None
explicit
fields: Dict[str, Any]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (DTO).packet_id>, <ByteEnumField (DTO).return_code>, <ByteField (DTO).ctr>]
fieldtype: Dict[str, Field[Any, Any] | _FieldContainer]
static get_dto_cls(cmd)[source]
guess_payload_class(payload)[source]
hashret()[source]
name
original
overload_fields: Dict[Type[Packet], Dict[str, Any]]
overloaded_fields: Dict[str, Any]
packetfields: List[Field[Any, Any] | _FieldContainer]
parent
payload: Packet
payload_cls
post_transforms
process_information: Dict[str, Any] | None
raw_packet_cache: bytes | None
raw_packet_cache_fields: Dict[str, Any] | None
return_codes = {0: 'acknowledge / no error', 1: 'DAQ processor overload', 16: 'command processor busy', 17: 'DAQ processor busy', 18: 'internal timeout', 24: 'key request', 25: 'session status request', 32: 'cold start request', 33: 'cal. data init. request', 34: 'DAQ list init. request', 35: 'code update request', 48: 'unknown command', 49: 'command syntax', 50: 'parameter(s) out of range', 51: 'access denied', 52: 'overload', 53: 'access locked', 54: 'resource/function not available'}
sent_time: EDecimal | float | None
sniffed_on: NetworkInterface | str | None
stop_dissection_after
time: EDecimal | float
underlayer
wirelen: int | None
class scapy.contrib.automotive.ccp.EXCHANGE_ID(_pkt, /, *, ccp_master_device_id=b'\x00\x00\x00\x00\x00\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.EXCHANGE_ID'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (EXCHANGE_ID).ccp_master_device_id>]
class scapy.contrib.automotive.ccp.EXCHANGE_ID_DTO(_pkt, /, *, slave_device_ID_length=0, data_type_qualifier=0, resource_availability_mask=0, resource_protection_mask=0, ccp_reserved=b'\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.EXCHANGE_ID_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (EXCHANGE_ID_DTO).slave_device_ID_length>, <ByteField (EXCHANGE_ID_DTO).data_type_qualifier>, <ByteField (EXCHANGE_ID_DTO).resource_availability_mask>, <ByteField (EXCHANGE_ID_DTO).resource_protection_mask>, <StrFixedLenField (EXCHANGE_ID_DTO).ccp_reserved>]
class scapy.contrib.automotive.ccp.GET_ACTIVE_CAL_PAGE(_pkt, /, *, ccp_reserved=b'\xff\xff\xff\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_ACTIVE_CAL_PAGE'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (GET_ACTIVE_CAL_PAGE).ccp_reserved>]
class scapy.contrib.automotive.ccp.GET_ACTIVE_CAL_PAGE_DTO(_pkt, /, *, address_extension=0, address=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_ACTIVE_CAL_PAGE_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (GET_ACTIVE_CAL_PAGE_DTO).address_extension>, <XIntField (GET_ACTIVE_CAL_PAGE_DTO).address>]
class scapy.contrib.automotive.ccp.GET_CCP_VERSION(_pkt, /, *, main_protocol_version=0, release_version=0, ccp_reserved=b'\xff\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_CCP_VERSION'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (GET_CCP_VERSION).main_protocol_version>, <XByteField (GET_CCP_VERSION).release_version>, <StrFixedLenField (GET_CCP_VERSION).ccp_reserved>]
class scapy.contrib.automotive.ccp.GET_CCP_VERSION_DTO(_pkt, /, *, main_protocol_version=0, release_version=0, ccp_reserved=b'\x00\x00\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_CCP_VERSION_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (GET_CCP_VERSION_DTO).main_protocol_version>, <XByteField (GET_CCP_VERSION_DTO).release_version>, <StrFixedLenField (GET_CCP_VERSION_DTO).ccp_reserved>]
class scapy.contrib.automotive.ccp.GET_DAQ_SIZE(_pkt, /, *, DAQ_num=0, ccp_reserved=0, DTO_identifier=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_DAQ_SIZE'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (GET_DAQ_SIZE).DAQ_num>, <XByteField (GET_DAQ_SIZE).ccp_reserved>, <XIntField (GET_DAQ_SIZE).DTO_identifier>]
class scapy.contrib.automotive.ccp.GET_DAQ_SIZE_DTO(_pkt, /, *, DAQ_list_size=0, first_pid=0, ccp_reserved=b'\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_DAQ_SIZE_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (GET_DAQ_SIZE_DTO).DAQ_list_size>, <XByteField (GET_DAQ_SIZE_DTO).first_pid>, <StrFixedLenField (GET_DAQ_SIZE_DTO).ccp_reserved>]
class scapy.contrib.automotive.ccp.GET_SEED(_pkt, /, *, resource=0, ccp_reserved=b'\xff\xff\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_SEED'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (GET_SEED).resource>, <StrFixedLenField (GET_SEED).ccp_reserved>]
class scapy.contrib.automotive.ccp.GET_SEED_DTO(_pkt, /, *, protection_status=0, seed=b'\x00\x00\x00\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_SEED_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (GET_SEED_DTO).protection_status>, <StrFixedLenField (GET_SEED_DTO).seed>]
class scapy.contrib.automotive.ccp.GET_S_STATUS(_pkt, /, *, ccp_reserved=b'\xff\xff\xff\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_S_STATUS'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (GET_S_STATUS).ccp_reserved>]
class scapy.contrib.automotive.ccp.GET_S_STATUS_DTO(_pkt, /, *, session_status=<Flag 0 ()>, information_qualifier=0, information=b'\x00\x00\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_S_STATUS_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FlagsField (GET_S_STATUS_DTO).session_status>, <ByteField (GET_S_STATUS_DTO).information_qualifier>, <StrFixedLenField (GET_S_STATUS_DTO).information>]
class scapy.contrib.automotive.ccp.MOVE(_pkt, /, *, size=0, ccp_reserved=b'\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.MOVE'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<IntField (MOVE).size>, <StrFixedLenField (MOVE).ccp_reserved>]
class scapy.contrib.automotive.ccp.PROGRAM(_pkt, /, *, size=0, data=b'', ccp_reserved=b'\xff\xff\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.PROGRAM'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (PROGRAM).size>, <StrFixedLenField (PROGRAM).data>, <StrFixedLenField (PROGRAM).ccp_reserved>]
class scapy.contrib.automotive.ccp.PROGRAM_6(_pkt, /, *, data=b'\x00\x00\x00\x00\x00\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.PROGRAM_6'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (PROGRAM_6).data>]
class scapy.contrib.automotive.ccp.PROGRAM_6_DTO(_pkt, /, *, MTA0_extension=0, MTA0_address=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.PROGRAM_6_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (PROGRAM_6_DTO).MTA0_extension>, <XIntField (PROGRAM_6_DTO).MTA0_address>]
class scapy.contrib.automotive.ccp.PROGRAM_DTO(_pkt, /, *, MTA0_extension=0, MTA0_address=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.PROGRAM_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (PROGRAM_DTO).MTA0_extension>, <XIntField (PROGRAM_DTO).MTA0_address>]
class scapy.contrib.automotive.ccp.SELECT_CAL_PAGE(_pkt, /, *, ccp_reserved=b'\xff\xff\xff\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.SELECT_CAL_PAGE'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (SELECT_CAL_PAGE).ccp_reserved>]
class scapy.contrib.automotive.ccp.SET_DAQ_PTR(_pkt, /, *, DAQ_num=0, ODT_num=0, ODT_element=0, ccp_reserved=b'\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.SET_DAQ_PTR'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (SET_DAQ_PTR).DAQ_num>, <XByteField (SET_DAQ_PTR).ODT_num>, <XByteField (SET_DAQ_PTR).ODT_element>, <StrFixedLenField (SET_DAQ_PTR).ccp_reserved>]
class scapy.contrib.automotive.ccp.SET_MTA(_pkt, /, *, mta_num=0, address_extension=0, address=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.SET_MTA'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (SET_MTA).mta_num>, <XByteField (SET_MTA).address_extension>, <XIntField (SET_MTA).address>]
class scapy.contrib.automotive.ccp.SET_S_STATUS(_pkt, /, *, session_status=<Flag 0 ()>, ccp_reserved=b'\xff\xff\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.SET_S_STATUS'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FlagsField (SET_S_STATUS).session_status>, <StrFixedLenField (SET_S_STATUS).ccp_reserved>]
class scapy.contrib.automotive.ccp.SHORT_UP(_pkt, /, *, size=0, address_extension=0, address=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.SHORT_UP'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (SHORT_UP).size>, <XByteField (SHORT_UP).address_extension>, <XIntField (SHORT_UP).address>]
class scapy.contrib.automotive.ccp.SHORT_UP_DTO(_pkt, /, *, data=b'\x00\x00\x00\x00\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.SHORT_UP_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (SHORT_UP_DTO).data>]
class scapy.contrib.automotive.ccp.START_STOP(_pkt, /, *, mode=0, DAQ_num=0, ODT_num=0, event_channel=0, transmission_rate=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.START_STOP'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (START_STOP).mode>, <XByteField (START_STOP).DAQ_num>, <XByteField (START_STOP).ODT_num>, <XByteField (START_STOP).event_channel>, <XShortField (START_STOP).transmission_rate>]
class scapy.contrib.automotive.ccp.START_STOP_ALL(_pkt, /, *, type=0, ccp_reserved=b'\xff\xff\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.START_STOP_ALL'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (START_STOP_ALL).type>, <StrFixedLenField (START_STOP_ALL).ccp_reserved>]
class scapy.contrib.automotive.ccp.TEST(_pkt, /, *, station_address=0, ccp_reserved=b'\xff\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.TEST'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortField (TEST).station_address>, <StrFixedLenField (TEST).ccp_reserved>]
class scapy.contrib.automotive.ccp.UNLOCK(_pkt, /, *, key=b'\x00\x00\x00\x00\x00\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.UNLOCK'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (UNLOCK).key>]
class scapy.contrib.automotive.ccp.UNLOCK_DTO(_pkt, /, *, privilege_status=0, ccp_reserved=b'\xff\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.UNLOCK_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (UNLOCK_DTO).privilege_status>, <StrFixedLenField (UNLOCK_DTO).ccp_reserved>]
class scapy.contrib.automotive.ccp.UPLOAD(_pkt, /, *, size=0, ccp_reserved=b'\xff\xff\xff\xff\xff')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.UPLOAD'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (UPLOAD).size>, <StrFixedLenField (UPLOAD).ccp_reserved>]
class scapy.contrib.automotive.ccp.UPLOAD_DTO(_pkt, /, *, data=b'\x00\x00\x00\x00\x00')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.UPLOAD_DTO'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (UPLOAD_DTO).data>]
class scapy.contrib.automotive.ccp.WRITE_DAQ(_pkt, /, *, DAQ_size=0, address_extension=0, address=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.ccp.WRITE_DAQ'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (WRITE_DAQ).DAQ_size>, <XByteField (WRITE_DAQ).address_extension>, <XIntField (WRITE_DAQ).address>]