firmware
IEM Firmware Documentation
Loading...
Searching...
No Matches
codegen.SignalContext Class Reference

Public Member Functions

 __init__ (self, Signal signal)
str name (self)
int start (self)
int length (self)
str byte_order (self)
list[str] details (self)

Data Fields

str unpacked_type = 32 else "double"
str byte_order = "big_endian":
str packed_type = f"uint{get_type_width(self.length)}_t"
str pack_expr = f"src_ptr->{self.name}"
str unpack_expr = f"(bool)packed_ptr->{self.name}"

Protected Member Functions

 _get_types (self)
str _get_packed_int_type (self)
 _get_exprs (self)

Protected Attributes

 _signal = signal

Detailed Description

CAN message signal jinja context

Constructor & Destructor Documentation

◆ __init__()

codegen.SignalContext.__init__ ( self,
Signal signal )

Member Function Documentation

◆ _get_exprs()

codegen.SignalContext._get_exprs ( self)
protected

◆ _get_packed_int_type()

str codegen.SignalContext._get_packed_int_type ( self)
protected

◆ _get_types()

codegen.SignalContext._get_types ( self)
protected

◆ byte_order()

str codegen.SignalContext.byte_order ( self)
Signal byte order (little_endian or big_endian)

◆ details()

list[str] codegen.SignalContext.details ( self)
List of formatted signal details for generated comments

◆ length()

int codegen.SignalContext.length ( self)
Signal length (bits)

◆ name()

str codegen.SignalContext.name ( self)
Signal name

◆ start()

int codegen.SignalContext.start ( self)
Signal start offset

Field Documentation

◆ _signal

codegen.SignalContext._signal = signal
protected

◆ byte_order

str codegen.SignalContext.byte_order = "big_endian":

◆ pack_expr

str codegen.SignalContext.pack_expr = f"src_ptr->{self.name}"

◆ packed_type

str codegen.SignalContext.packed_type = f"uint{get_type_width(self.length)}_t"

◆ unpack_expr

str codegen.SignalContext.unpack_expr = f"(bool)packed_ptr->{self.name}"

◆ unpacked_type

str codegen.SignalContext.unpacked_type = 32 else "double"

The documentation for this class was generated from the following file: