scapy.contrib.automotive.xcp.cto_commands_master

class scapy.contrib.automotive.xcp.cto_commands_master.AllocDaq(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*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. BuildChecksum                        
BuildChecksum fields

reserved

XCPEndiannessField

0

block_size

XCPEndiannessField

0

class scapy.contrib.automotive.xcp.cto_commands_master.ClearDaqList(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*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. 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(*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. DownloadMax                         
DownloadMax fields

alignment

StrLenField (Cond)

b''

data_elements

StrLenField

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. 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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.Packet

Clear dynamic DAQ configuration

aliastypes
class scapy.contrib.automotive.xcp.cto_commands_master.GetCalPage(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*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.Packet

Get DAQ clock from slave

aliastypes
class scapy.contrib.automotive.xcp.cto_commands_master.GetDaqEventInfo(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.Packet

Get general information on DAQ processor

aliastypes
class scapy.contrib.automotive.xcp.cto_commands_master.GetDaqResolutionInfo(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.Packet

Get general information on DAQ processing resolutioin

aliastypes
class scapy.contrib.automotive.xcp.cto_commands_master.GetId(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.Packet

Get general information on PAG processor

aliastypes
class scapy.contrib.automotive.xcp.cto_commands_master.GetPageInfo(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.Packet

Get general information on PGM processor

aliastypes
class scapy.contrib.automotive.xcp.cto_commands_master.GetSectorInfo(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*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. 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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*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. ModifyBits                          
ModifyBits fields

shift_value

ByteField

0

and_mask

XCPEndiannessField

0

xor_mask

XCPEndiannessField

0

class scapy.contrib.automotive.xcp.cto_commands_master.Program(*args: Any, **kargs: Any)[source]

Bases: scapy.contrib.automotive.xcp.cto_commands_master.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.contrib.automotive.xcp.cto_commands_master.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(*args: Any, **kargs: Any)[source]

Bases: scapy.contrib.automotive.xcp.cto_commands_master.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.Packet

Indicate the end of a programming sequence

aliastypes
class scapy.contrib.automotive.xcp.cto_commands_master.ProgramStart(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.Packet

Indicate the beginning of a programming sequence

aliastypes
class scapy.contrib.automotive.xcp.cto_commands_master.ProgramVerify(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.Packet

Read element from ODT entry

aliastypes
class scapy.contrib.automotive.xcp.cto_commands_master.SetCalPage(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*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. SetMta                            
SetMta fields

reserved

XCPEndiannessField

0

address_extension

ByteField

0

address

XCPEndiannessField

0

class scapy.contrib.automotive.xcp.cto_commands_master.SetRequest(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*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. 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(*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. 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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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(*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. 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(*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. TransportLayerCmdGetDAQId                  
TransportLayerCmdGetDAQId fields

daq_list_number

XCPEndiannessField

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. TransportLayerCmdGetSlaveId                 
TransportLayerCmdGetSlaveId fields

x

XByteField

88

c

XByteField

67

p

XByteField

80

mode

ByteEnumField

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. 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(*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      |              SEED             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. Unlock                            
Unlock fields

len

FieldLenField

None

seed

StrVarLenField

b''

class scapy.contrib.automotive.xcp.cto_commands_master.Upload(*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|
+-+-+-+-+-+-+-+-+

                           Fig. Upload                            
Upload fields

nr_of_data_elements

ByteField

0

class scapy.contrib.automotive.xcp.cto_commands_master.UserCmd(*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. UserCmd                           
UserCmd fields

sub_command_code

ByteField

0

class scapy.contrib.automotive.xcp.cto_commands_master.WriteDaq(*args: Any, **kargs: Any)[source]

Bases: scapy.packet.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