scapy.contrib.automotive.xcp.cto_commands_master
- class scapy.contrib.automotive.xcp.cto_commands_master.AllocDaq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketAllocate DAQ lists
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | DAQ COUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. AllocDaqAllocDaq fields reserved
0daq_count
0
- class scapy.contrib.automotive.xcp.cto_commands_master.AllocOdt(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketAllocate ODTs to a DAQ list
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | DAQ LIST NUM | ODT COUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. AllocOdtAllocOdt fields reserved
0daq_list_num
0odt_count
0
- class scapy.contrib.automotive.xcp.cto_commands_master.AllocOdtEntry(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketAllocate ODT entries to an ODT
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | DAQ LIST NUM | ODT NUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |ODT ENTRIES COU| +-+-+-+-+-+-+-+-+ Fig. AllocOdtEntryAllocOdtEntry fields reserved
0daq_list_num
0odt_num
0odt_entries_count
0
- class scapy.contrib.automotive.xcp.cto_commands_master.BuildChecksum(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BLOCK SIZE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BuildChecksumBuildChecksum fields reserved
0block_size
0
- class scapy.contrib.automotive.xcp.cto_commands_master.ClearDaqList(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketClear DAQ list configuration
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | DAQ LIST NUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ClearDaqListClearDaqList fields reserved
0daq_list_num
0
- class scapy.contrib.automotive.xcp.cto_commands_master.Connect(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- commands = {0: 'NORMAL', 1: 'USER_DEFINED'}
- class scapy.contrib.automotive.xcp.cto_commands_master.CopyCalPage(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketThis command forces the slave to copy one calibration page to another. This command is only available if more than one calibration page is defined
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |SEGMENT NUM SRC| PAGE NUM SRC |SEGMENT NUM DST| PAGE NUM DST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. CopyCalPageCopyCalPage fields segment_num_src
0page_num_src
0segment_num_dst
0page_num_dst
0
- class scapy.contrib.automotive.xcp.cto_commands_master.Disconnect(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.Download(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |NR OF DATA ELEM| ALIGNMENT | DATA ELEMENTS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. DownloadDownload fields nr_of_data_elements
0alignment
StrLenField(Cond)b''data_elements
b''
- class scapy.contrib.automotive.xcp.cto_commands_master.DownloadMax(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ALIGNMENT | DATA ELEMENTS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DownloadMaxDownloadMax fields alignment
StrLenField(Cond)b''data_elements
b''
- class scapy.contrib.automotive.xcp.cto_commands_master.DownloadNext(*args: Any, **kargs: Any)[source]
Bases:
scapy.contrib.automotive.xcp.cto_commands_master.Download- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |NR OF DATA ELEM| ALIGNMENT | DATA ELEMENTS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. DownloadNextDownloadNext fields nr_of_data_elements
0alignment
StrLenField(Cond)b''data_elements
b''
- class scapy.contrib.automotive.xcp.cto_commands_master.FreeDaq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketClear dynamic DAQ configuration
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.GetCalPage(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketGet calibration page
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ACCESS MODE |DATA SEGMENT NU| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GetCalPageGetCalPage fields access_mode
0data_segment_num
0
- class scapy.contrib.automotive.xcp.cto_commands_master.GetCommModeInfo(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.GetDaqClock(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketGet DAQ clock from slave
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.GetDaqEventInfo(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketGet specific information for an event channel
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | EVENT CHANNEL NUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GetDaqEventInfoGetDaqEventInfo fields reserved
0event_channel_num
0
- class scapy.contrib.automotive.xcp.cto_commands_master.GetDaqListInfo(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketGet specific information for a DAQ list
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | DAQ LIST NUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GetDaqListInfoGetDaqListInfo fields reserved
0daq_list_num
0
- class scapy.contrib.automotive.xcp.cto_commands_master.GetDaqListMode(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketGet mode from DAQ list
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | DAQ LIST NUMBER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GetDaqListModeGetDaqListMode fields reserved
0daq_list_number
0
- class scapy.contrib.automotive.xcp.cto_commands_master.GetDaqProcessorInfo(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketGet general information on DAQ processor
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.GetDaqResolutionInfo(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketGet general information on DAQ processing resolutioin
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.GetId(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketGet identification from slave
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |IDENTIFICATION | +-+-+-+-+-+-+-+-+ Fig. GetIdGetId fields identification_type
0
- types = {0: 'ASCII', 1: 'file_name_without_path_and_extension', 2: 'file_name_with_path_and_extension', 3: 'URL', 4: 'File'}
- class scapy.contrib.automotive.xcp.cto_commands_master.GetPagProcessorInfo(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketGet general information on PAG processor
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.GetPageInfo(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketGet specific information for a PAGE
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | SEGMENT NUMBER| PAGE NUMBER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GetPageInfoGetPageInfo fields reserved
0segment_number
0page_number
0
- class scapy.contrib.automotive.xcp.cto_commands_master.GetPgmProcessorInfo(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketGet general information on PGM processor
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.GetSectorInfo(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketGet specific information for a SECTOR
- address_mode = {0: 'get_address', 1: 'get_length'}
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.GetSeed(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MODE | RESOURCE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GetSeedGetSeed fields mode
0resource
0
- res = {0: 'resource', 1: 'ignore'}
- seed_mode = {0: 'first', 1: 'remaining'}
- class scapy.contrib.automotive.xcp.cto_commands_master.GetSegmentInfo(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketGet specific information for a SEGMENT
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MODE | SEGMENT NUMBER| SEGMENT INFO | MAPPING INDEX | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GetSegmentInfoGetSegmentInfo fields mode
0segment_number
0segment_info
0mapping_index
0
- info_mode = {0: 'get_basic_address_info', 1: 'get_standard_info', 2: 'get_address_mapping_info'}
- class scapy.contrib.automotive.xcp.cto_commands_master.GetSegmentMode(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketGet mode for a SEGMENT
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | SEGMENT NUMBER| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GetSegmentModeGetSegmentMode fields reserved
0segment_number
0
- class scapy.contrib.automotive.xcp.cto_commands_master.GetStatus(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.ModifyBits(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SHIFT VALUE | AND MASK | XOR MASK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ModifyBitsModifyBits fields shift_value
0and_mask
0xor_mask
0
- class scapy.contrib.automotive.xcp.cto_commands_master.Program(*args: Any, **kargs: Any)[source]
Bases:
scapy.contrib.automotive.xcp.cto_commands_master.DownloadProgram a non-volatile memory segment
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |NR OF DATA ELEM| ALIGNMENT | DATA ELEMENTS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ProgramProgram fields nr_of_data_elements
0alignment
StrLenField(Cond)b''data_elements
b''
- class scapy.contrib.automotive.xcp.cto_commands_master.ProgramClear(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketClear a part of non-volatile memory
- access_mode = {0: 'absolute_access', 1: 'functional_access'}
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MODE | RESERVED | CLEAR RANGE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ProgramClearProgramClear fields mode
0reserved
0clear_range
0
- class scapy.contrib.automotive.xcp.cto_commands_master.ProgramFormat(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketSet data format before programming
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |COMPRESSION MET|ENCRYPTION MODE|PROGRAMMING MET| ACCESS METHOD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ProgramFormatProgramFormat fields compression_method
0encryption_mode
0programming_method
0access_method
0
- class scapy.contrib.automotive.xcp.cto_commands_master.ProgramMax(*args: Any, **kargs: Any)[source]
Bases:
scapy.contrib.automotive.xcp.cto_commands_master.DownloadMaxProgram a non-volatile memory segment (fixed size)
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ALIGNMENT | DATA ELEMENTS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ProgramMaxProgramMax fields alignment
StrLenField(Cond)b''data_elements
b''
- class scapy.contrib.automotive.xcp.cto_commands_master.ProgramNext(*args: Any, **kargs: Any)[source]
Bases:
scapy.contrib.automotive.xcp.cto_commands_master.DownloadProgram a non-volatile memory segment (Block Mode)
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |NR OF DATA ELEM| ALIGNMENT | DATA ELEMENTS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ProgramNextProgramNext fields nr_of_data_elements
0alignment
StrLenField(Cond)b''data_elements
b''
- class scapy.contrib.automotive.xcp.cto_commands_master.ProgramPrepare(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketPrepare non-volatile memory programming
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NOT USED | CODE SIZE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ProgramPrepareProgramPrepare fields not_used
0code_size
0
- class scapy.contrib.automotive.xcp.cto_commands_master.ProgramReset(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketIndicate the end of a programming sequence
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.ProgramStart(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketIndicate the beginning of a programming sequence
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.ProgramVerify(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketProgram Verify
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |VERIFICATION MO| VERIFICATION TYPE |VERIFICATION VA| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ProgramVerifyProgramVerify fields verification_mode
0verification_type
0verification_value
0
- start_mode = {0: 'request_to_start_internal_routine', 1: 'sending_verification_value'}
- class scapy.contrib.automotive.xcp.cto_commands_master.ReadDaq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketRead element from ODT entry
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.SetCalPage(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketSet calibration page
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MODE |DATA SEGMENT NU| DATA PAGE NUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SetCalPageSetCalPage fields mode
<Flag 0 ()>data_segment_num
0data_page_num
0
- class scapy.contrib.automotive.xcp.cto_commands_master.SetDaqListMode(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketSet mode for DAQ list
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MODE | DAQ LIST NUM |EVENT CHANNEL N| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |TRANSMISSION RA| DAQ LIST PRIO | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SetDaqListModeSetDaqListMode fields mode
<Flag 0 ()>daq_list_num
0event_channel_num
0transmission_rate_prescaler
0daq_list_prio
0
- class scapy.contrib.automotive.xcp.cto_commands_master.SetDaqPtr(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketData acquisition and stimulation, static, mandatory
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | DAQ LIST NUM | ODT NUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ODT ENTRY NUM | +-+-+-+-+-+-+-+-+ Fig. SetDaqPtrSetDaqPtr fields reserved
0daq_list_num
0odt_num
0odt_entry_num
0
- class scapy.contrib.automotive.xcp.cto_commands_master.SetMta(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED |ADDRESS EXTENSI| ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SetMtaSetMta fields reserved
0address_extension
0address
0
- class scapy.contrib.automotive.xcp.cto_commands_master.SetRequest(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketRequest to save to non-volatile memory
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MODE | SESSION CONFIGURATION ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SetRequestSetRequest fields mode
<Flag 0 ()>session_configuration_id
0
- class scapy.contrib.automotive.xcp.cto_commands_master.SetSegmentMode(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketSet mode for a SEGMENT
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MODE | SEGMENT NUMBER| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SetSegmentModeSetSegmentMode fields mode
<Flag 0 ()>segment_number
0
- class scapy.contrib.automotive.xcp.cto_commands_master.ShortDownload(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | RESERVED |ADDRESS EXTENSI| ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | | DATA ELEMENTS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ShortDownloadShortDownload fields len
Nonereserved
0address_extension
0address
0data_elements
b''
- class scapy.contrib.automotive.xcp.cto_commands_master.ShortUpload(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |NR OF DATA ELEM| RESERVED |ADDRESS EXTENSI| ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ShortUploadShortUpload fields nr_of_data_elements
0reserved
0address_extension
0address
0
- class scapy.contrib.automotive.xcp.cto_commands_master.StartStopDaqList(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketStart/stop/select DAQ list
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MODE | DAQ LIST NUMBER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. StartStopDaqListStartStopDaqList fields mode
0daq_list_number
0
- mode_enum = {0: 'stop', 1: 'start', 2: 'select'}
- class scapy.contrib.automotive.xcp.cto_commands_master.StartStopSynch(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketStart/stop DAQ lists (synchronously)
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MODE | +-+-+-+-+-+-+-+-+ Fig. StartStopSynchStartStopSynch fields mode
0
- mode_enum = {0: 'stop', 1: 'start', 2: 'select'}
- class scapy.contrib.automotive.xcp.cto_commands_master.Synch(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.TransportLayerCmd(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |SUB COMMAND COD| +-+-+-+-+-+-+-+-+ Fig. TransportLayerCmdTransportLayerCmd fields sub_command_code
255
- payload_guess
Possible sublayers:
TransportLayerCmdGetDAQId,TransportLayerCmdGetSlaveId,TransportLayerCmdSetDAQId
- sub_commands = {253: 'SET_DAQ_ID', 254: 'GET_DAQ_ID', 255: 'GET_SLAVE_ID'}
- class scapy.contrib.automotive.xcp.cto_commands_master.TransportLayerCmdGetDAQId(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DAQ LIST NUMBER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TransportLayerCmdGetDAQIdTransportLayerCmdGetDAQId fields daq_list_number
0
- class scapy.contrib.automotive.xcp.cto_commands_master.TransportLayerCmdGetSlaveId(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- echo_mode = {0: 'identify_by_echo', 1: 'confirm_by_inverse_echo'}
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | X | C | P | MODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TransportLayerCmdGetSlaveIdTransportLayerCmdGetSlaveId fields x
88c
67p
80mode
0
- class scapy.contrib.automotive.xcp.cto_commands_master.TransportLayerCmdSetDAQId(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DAQ LIST NUMBER | CAN IDENTIFIER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TransportLayerCmdSetDAQIdTransportLayerCmdSetDAQId fields daq_list_number
0can_identifier
0
- sub_command = {253: 'SET_DAQ_ID'}
- class scapy.contrib.automotive.xcp.cto_commands_master.Unlock(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.Upload(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.UserCmd(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.WriteDaq(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketData acquisition and stimulation, static, mandatory
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BIT OFFSET |SIZE OF DAQ ELE|ADDRESS EXTENSI| ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. WriteDaqWriteDaq fields bit_offset
0size_of_daq_element
0address_extension
0address
0