scapy.contrib.automotive.xcp.cto_commands_master
- class scapy.contrib.automotive.xcp.cto_commands_master.AllocDaq(_pkt, /, *, reserved=0, daq_count=0)[source]
Bases:
Packet
Allocate 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. AllocDaq
AllocDaq fields reserved
0
daq_count
0
- class scapy.contrib.automotive.xcp.cto_commands_master.AllocOdt(_pkt, /, *, reserved=0, daq_list_num=0, odt_count=0)[source]
Bases:
Packet
Allocate 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. AllocOdt
AllocOdt fields reserved
0
daq_list_num
0
odt_count
0
- class scapy.contrib.automotive.xcp.cto_commands_master.AllocOdtEntry(_pkt, /, *, reserved=0, daq_list_num=0, odt_num=0, odt_entries_count=0)[source]
Bases:
Packet
Allocate 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. AllocOdtEntry
AllocOdtEntry fields reserved
0
daq_list_num
0
odt_num
0
odt_entries_count
0
- class scapy.contrib.automotive.xcp.cto_commands_master.BuildChecksum(_pkt, /, *, reserved=0, block_size=0)[source]
Bases:
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. BuildChecksum
BuildChecksum fields reserved
0
block_size
0
- class scapy.contrib.automotive.xcp.cto_commands_master.ClearDaqList(_pkt, /, *, reserved=0, daq_list_num=0)[source]
Bases:
Packet
Clear 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. ClearDaqList
ClearDaqList fields reserved
0
daq_list_num
0
- class scapy.contrib.automotive.xcp.cto_commands_master.Connect(_pkt, /, *, connection_mode=0)[source]
Bases:
Packet
- aliastypes
- commands = {0: 'NORMAL', 1: 'USER_DEFINED'}
- class scapy.contrib.automotive.xcp.cto_commands_master.CopyCalPage(_pkt, /, *, segment_num_src=0, page_num_src=0, segment_num_dst=0, page_num_dst=0)[source]
Bases:
Packet
This 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. CopyCalPage
CopyCalPage fields segment_num_src
0
page_num_src
0
segment_num_dst
0
page_num_dst
0
- class scapy.contrib.automotive.xcp.cto_commands_master.Disconnect(_pkt, /)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.Download(_pkt, /, *, nr_of_data_elements=0, alignment=b'', data_elements=b'')[source]
Bases:
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. Download
Download fields nr_of_data_elements
0
alignment
StrLenField
(Cond)b''
data_elements
b''
- class scapy.contrib.automotive.xcp.cto_commands_master.DownloadMax(_pkt, /, *, alignment=b'', data_elements=b'')[source]
Bases:
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. DownloadMax
DownloadMax fields alignment
StrLenField
(Cond)b''
data_elements
b''
- class scapy.contrib.automotive.xcp.cto_commands_master.DownloadNext(_pkt, /, *, nr_of_data_elements=0, alignment=b'', data_elements=b'')[source]
Bases:
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. DownloadNext
DownloadNext fields nr_of_data_elements
0
alignment
StrLenField
(Cond)b''
data_elements
b''
- class scapy.contrib.automotive.xcp.cto_commands_master.FreeDaq(_pkt, /)[source]
Bases:
Packet
Clear dynamic DAQ configuration
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.GetCalPage(_pkt, /, *, access_mode=0, data_segment_num=0)[source]
Bases:
Packet
Get 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. GetCalPage
GetCalPage fields access_mode
0
data_segment_num
0
- class scapy.contrib.automotive.xcp.cto_commands_master.GetCommModeInfo(_pkt, /)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.GetDaqClock(_pkt, /)[source]
Bases:
Packet
Get DAQ clock from slave
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.GetDaqEventInfo(_pkt, /, *, reserved=0, event_channel_num=0)[source]
Bases:
Packet
Get 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. GetDaqEventInfo
GetDaqEventInfo fields reserved
0
event_channel_num
0
- class scapy.contrib.automotive.xcp.cto_commands_master.GetDaqListInfo(_pkt, /, *, reserved=0, daq_list_num=0)[source]
Bases:
Packet
Get 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. GetDaqListInfo
GetDaqListInfo fields reserved
0
daq_list_num
0
- class scapy.contrib.automotive.xcp.cto_commands_master.GetDaqListMode(_pkt, /, *, reserved=0, daq_list_number=0)[source]
Bases:
Packet
Get 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. GetDaqListMode
GetDaqListMode fields reserved
0
daq_list_number
0
- class scapy.contrib.automotive.xcp.cto_commands_master.GetDaqProcessorInfo(_pkt, /)[source]
Bases:
Packet
Get general information on DAQ processor
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.GetDaqResolutionInfo(_pkt, /)[source]
Bases:
Packet
Get general information on DAQ processing resolutioin
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.GetId(_pkt, /, *, identification_type=0)[source]
Bases:
Packet
Get 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. GetId
GetId 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(_pkt, /)[source]
Bases:
Packet
Get general information on PAG processor
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.GetPageInfo(_pkt, /, *, reserved=0, segment_number=0, page_number=0)[source]
Bases:
Packet
Get 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. GetPageInfo
GetPageInfo fields reserved
0
segment_number
0
page_number
0
- class scapy.contrib.automotive.xcp.cto_commands_master.GetPgmProcessorInfo(_pkt, /)[source]
Bases:
Packet
Get general information on PGM processor
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.GetSectorInfo(_pkt, /, *, mode=0, sector_number=0)[source]
Bases:
Packet
Get specific information for a SECTOR
- address_mode = {0: 'get_address', 1: 'get_length'}
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.GetSeed(_pkt, /, *, mode=0, resource=0)[source]
Bases:
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. GetSeed
GetSeed fields mode
0
resource
0
- res = {0: 'resource', 1: 'ignore'}
- seed_mode = {0: 'first', 1: 'remaining'}
- class scapy.contrib.automotive.xcp.cto_commands_master.GetSegmentInfo(_pkt, /, *, mode=0, segment_number=0, segment_info=0, mapping_index=0)[source]
Bases:
Packet
Get 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. GetSegmentInfo
GetSegmentInfo fields mode
0
segment_number
0
segment_info
0
mapping_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(_pkt, /, *, reserved=0, segment_number=0)[source]
Bases:
Packet
Get 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. GetSegmentMode
GetSegmentMode fields reserved
0
segment_number
0
- class scapy.contrib.automotive.xcp.cto_commands_master.GetStatus(_pkt, /)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.ModifyBits(_pkt, /, *, shift_value=0, and_mask=0, xor_mask=0)[source]
Bases:
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. ModifyBits
ModifyBits fields shift_value
0
and_mask
0
xor_mask
0
- class scapy.contrib.automotive.xcp.cto_commands_master.Program(_pkt, /, *, nr_of_data_elements=0, alignment=b'', data_elements=b'')[source]
Bases:
Download
Program 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. Program
Program fields nr_of_data_elements
0
alignment
StrLenField
(Cond)b''
data_elements
b''
- class scapy.contrib.automotive.xcp.cto_commands_master.ProgramClear(_pkt, /, *, mode=0, reserved=0, clear_range=0)[source]
Bases:
Packet
Clear 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. ProgramClear
ProgramClear fields mode
0
reserved
0
clear_range
0
- class scapy.contrib.automotive.xcp.cto_commands_master.ProgramFormat(_pkt, /, *, compression_method=0, encryption_mode=0, programming_method=0, access_method=0)[source]
Bases:
Packet
Set 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. ProgramFormat
ProgramFormat fields compression_method
0
encryption_mode
0
programming_method
0
access_method
0
- class scapy.contrib.automotive.xcp.cto_commands_master.ProgramMax(_pkt, /, *, alignment=b'', data_elements=b'')[source]
Bases:
DownloadMax
Program 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. ProgramMax
ProgramMax fields alignment
StrLenField
(Cond)b''
data_elements
b''
- class scapy.contrib.automotive.xcp.cto_commands_master.ProgramNext(_pkt, /, *, nr_of_data_elements=0, alignment=b'', data_elements=b'')[source]
Bases:
Download
Program 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. ProgramNext
ProgramNext fields nr_of_data_elements
0
alignment
StrLenField
(Cond)b''
data_elements
b''
- class scapy.contrib.automotive.xcp.cto_commands_master.ProgramPrepare(_pkt, /, *, not_used=0, code_size=0)[source]
Bases:
Packet
Prepare 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. ProgramPrepare
ProgramPrepare fields not_used
0
code_size
0
- class scapy.contrib.automotive.xcp.cto_commands_master.ProgramReset(_pkt, /)[source]
Bases:
Packet
Indicate the end of a programming sequence
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.ProgramStart(_pkt, /)[source]
Bases:
Packet
Indicate the beginning of a programming sequence
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.ProgramVerify(_pkt, /, *, verification_mode=0, verification_type=0, verification_value=0)[source]
Bases:
Packet
Program 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. ProgramVerify
ProgramVerify fields verification_mode
0
verification_type
0
verification_value
0
- start_mode = {0: 'request_to_start_internal_routine', 1: 'sending_verification_value'}
- class scapy.contrib.automotive.xcp.cto_commands_master.ReadDaq(_pkt, /)[source]
Bases:
Packet
Read element from ODT entry
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.SetCalPage(_pkt, /, *, mode=<Flag 0 ()>, data_segment_num=0, data_page_num=0)[source]
Bases:
Packet
Set 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. SetCalPage
SetCalPage fields mode
<Flag 0 ()>
data_segment_num
0
data_page_num
0
- class scapy.contrib.automotive.xcp.cto_commands_master.SetDaqListMode(_pkt, /, *, mode=<Flag 0 ()>, daq_list_num=0, event_channel_num=0, transmission_rate_prescaler=0, daq_list_prio=0)[source]
Bases:
Packet
Set 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. SetDaqListMode
SetDaqListMode fields mode
<Flag 0 ()>
daq_list_num
0
event_channel_num
0
transmission_rate_prescaler
0
daq_list_prio
0
- class scapy.contrib.automotive.xcp.cto_commands_master.SetDaqPtr(_pkt, /, *, reserved=0, daq_list_num=0, odt_num=0, odt_entry_num=0)[source]
Bases:
Packet
Data 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. SetDaqPtr
SetDaqPtr fields reserved
0
daq_list_num
0
odt_num
0
odt_entry_num
0
- class scapy.contrib.automotive.xcp.cto_commands_master.SetMta(_pkt, /, *, reserved=0, address_extension=0, address=0)[source]
Bases:
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. SetMta
SetMta fields reserved
0
address_extension
0
address
0
- class scapy.contrib.automotive.xcp.cto_commands_master.SetRequest(_pkt, /, *, mode=<Flag 0 ()>, session_configuration_id=0)[source]
Bases:
Packet
Request 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. SetRequest
SetRequest fields mode
<Flag 0 ()>
session_configuration_id
0
- class scapy.contrib.automotive.xcp.cto_commands_master.SetSegmentMode(_pkt, /, *, mode=<Flag 0 ()>, segment_number=0)[source]
Bases:
Packet
Set 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. SetSegmentMode
SetSegmentMode fields mode
<Flag 0 ()>
segment_number
0
- class scapy.contrib.automotive.xcp.cto_commands_master.ShortDownload(_pkt, /, *, len=None, reserved=0, address_extension=0, address=0, data_elements=b'')[source]
Bases:
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. ShortDownload
ShortDownload fields len
None
reserved
0
address_extension
0
address
0
data_elements
b''
- class scapy.contrib.automotive.xcp.cto_commands_master.ShortUpload(_pkt, /, *, nr_of_data_elements=0, reserved=0, address_extension=0, address=0)[source]
Bases:
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. ShortUpload
ShortUpload fields nr_of_data_elements
0
reserved
0
address_extension
0
address
0
- class scapy.contrib.automotive.xcp.cto_commands_master.StartStopDaqList(_pkt, /, *, mode=0, daq_list_number=0)[source]
Bases:
Packet
Start/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. StartStopDaqList
StartStopDaqList fields mode
0
daq_list_number
0
- mode_enum = {0: 'stop', 1: 'start', 2: 'select'}
- class scapy.contrib.automotive.xcp.cto_commands_master.StartStopSynch(_pkt, /, *, mode=0)[source]
Bases:
Packet
Start/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. StartStopSynch
StartStopSynch fields mode
0
- mode_enum = {0: 'stop', 1: 'start', 2: 'select'}
- class scapy.contrib.automotive.xcp.cto_commands_master.Synch(_pkt, /)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.TransportLayerCmd(_pkt, /, *, sub_command_code=255)[source]
Bases:
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. TransportLayerCmd
TransportLayerCmd 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(_pkt, /, *, daq_list_number=0)[source]
Bases:
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. TransportLayerCmdGetDAQId
TransportLayerCmdGetDAQId fields daq_list_number
0
- class scapy.contrib.automotive.xcp.cto_commands_master.TransportLayerCmdGetSlaveId(_pkt, /, *, x=88, c=67, p=80, mode=0)[source]
Bases:
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. TransportLayerCmdGetSlaveId
TransportLayerCmdGetSlaveId fields x
88
c
67
p
80
mode
0
- class scapy.contrib.automotive.xcp.cto_commands_master.TransportLayerCmdSetDAQId(_pkt, /, *, daq_list_number=0, can_identifier=0)[source]
Bases:
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. TransportLayerCmdSetDAQId
TransportLayerCmdSetDAQId fields daq_list_number
0
can_identifier
0
- sub_command = {253: 'SET_DAQ_ID'}
- class scapy.contrib.automotive.xcp.cto_commands_master.Unlock(_pkt, /, *, len=None, seed=b'')[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.Upload(_pkt, /, *, nr_of_data_elements=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.UserCmd(_pkt, /, *, sub_command_code=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.automotive.xcp.cto_commands_master.WriteDaq(_pkt, /, *, bit_offset=0, size_of_daq_element=0, address_extension=0, address=0)[source]
Bases:
Packet
Data 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. WriteDaq
WriteDaq fields bit_offset
0
size_of_daq_element
0
address_extension
0
address
0