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

ByteField

0

daq_count

XCPEndiannessField

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

ByteField

0

daq_list_num

XCPEndiannessField

0

odt_count

ByteField

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

ByteField

0

daq_list_num

XCPEndiannessField

0

odt_num

ByteField

0

odt_entries_count

ByteField

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

XCPEndiannessField

0

block_size

XCPEndiannessField

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

ByteField

0

daq_list_num

XCPEndiannessField

0

class scapy.contrib.automotive.xcp.cto_commands_master.Connect(_pkt, /, *, connection_mode=0)[source]

Bases: Packet

aliastypes
commands = {0: 'NORMAL', 1: 'USER_DEFINED'}
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|CONNECTION MODE|
+-+-+-+-+-+-+-+-+

                           Fig. Connect                           
Connect fields

connection_mode

ByteEnumField

0

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

ByteField

0

page_num_src

ByteField

0

segment_num_dst

ByteField

0

page_num_dst

ByteField

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

ByteField

0

alignment

StrLenField (Cond)

b''

data_elements

StrLenField

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

StrLenField

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

ByteField

0

alignment

StrLenField (Cond)

b''

data_elements

StrLenField

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

ByteField

0

data_segment_num

ByteField

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

ByteField

0

event_channel_num

XCPEndiannessField

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

ByteField

0

daq_list_num

XCPEndiannessField

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

ByteField

0

daq_list_number

XCPEndiannessField

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

ByteEnumField

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

ByteField

0

segment_number

ByteField

0

page_number

ByteField

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
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     | SECTOR NUMBER |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. GetSectorInfo                        
GetSectorInfo fields

mode

ByteEnumField

0

sector_number

ByteField

0

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

ByteEnumField

0

resource

ByteEnumField

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

ByteEnumField

0

segment_number

ByteField

0

segment_info

ByteField

0

mapping_index

ByteField

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

ByteField

0

segment_number

ByteField

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

ByteField

0

and_mask

XCPEndiannessField

0

xor_mask

XCPEndiannessField

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

ByteField

0

alignment

StrLenField (Cond)

b''

data_elements

StrLenField

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

ByteEnumField

0

reserved

XCPEndiannessField

0

clear_range

XCPEndiannessField

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

ByteField

0

encryption_mode

ByteField

0

programming_method

ByteField

0

access_method

ByteField

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

StrLenField

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

ByteField

0

alignment

StrLenField (Cond)

b''

data_elements

StrLenField

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

ByteField

0

code_size

XCPEndiannessField

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

ByteEnumField

0

verification_type

XCPEndiannessField

0

verification_value

XCPEndiannessField

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

FlagsField

<Flag 0 ()>

data_segment_num

ByteField

0

data_page_num

ByteField

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

FlagsField

<Flag 0 ()>

daq_list_num

XCPEndiannessField

0

event_channel_num

XCPEndiannessField

0

transmission_rate_prescaler

ByteField

0

daq_list_prio

ByteField

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

ByteField

0

daq_list_num

XCPEndiannessField

0

odt_num

ByteField

0

odt_entry_num

ByteField

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

XCPEndiannessField

0

address_extension

ByteField

0

address

XCPEndiannessField

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

FlagsField

<Flag 0 ()>

session_configuration_id

XCPEndiannessField

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

FlagsField

<Flag 0 ()>

segment_number

ByteField

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

FieldLenField

None

reserved

ByteField

0

address_extension

ByteField

0

address

XCPEndiannessField

0

data_elements

StrVarLenField

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

ByteField

0

reserved

ByteField

0

address_extension

XByteField

0

address

XCPEndiannessField

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

ByteEnumField

0

daq_list_number

XCPEndiannessField

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

ByteEnumField

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

ByteEnumField

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

XCPEndiannessField

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

XByteField

88

c

XByteField

67

p

XByteField

80

mode

ByteEnumField

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

XCPEndiannessField

0

can_identifier

XCPEndiannessField

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
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      |              SEED             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. Unlock                            
Unlock fields

len

FieldLenField

None

seed

StrVarLenField

b''

class scapy.contrib.automotive.xcp.cto_commands_master.Upload(_pkt, /, *, nr_of_data_elements=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|
+-+-+-+-+-+-+-+-+

                           Fig. Upload                            
Upload fields

nr_of_data_elements

ByteField

0

class scapy.contrib.automotive.xcp.cto_commands_master.UserCmd(_pkt, /, *, sub_command_code=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|SUB COMMAND COD|
+-+-+-+-+-+-+-+-+

                           Fig. UserCmd                           
UserCmd fields

sub_command_code

ByteField

0

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

ByteField

0

size_of_daq_element

ByteField

0

address_extension

ByteField

0

address

XCPEndiannessField

0