Skip to content

CAN

feral3gp.feral.can(config, director=Simulation.director_de)

Source code in feral3gp/feral/network/can.py
 8
 9
10
11
12
13
14
15
16
17
18
19
20
def can(config: CANConfig, director=Simulation.director_de):
    number_of_nodes = len(config.nodes)
    network = JDefaultCANNetwork(config.name, director, number_of_nodes)
    network.setBitRate(config.bit_rate)
    network.setDataBitRate(config.data_bit_rate)
    network.setBitStuffingMode(config.bit_stuffing_mode)
    network.setLogTransmissions(config.log_transmissions)
    network.setLogHexadecimalValues(config.hexadecimal_payload_logging)

    __configure_nodes(config, network, __configure_can_node)
    __configure_console(network, config.console)

    return network

feral3gp.feral.CANConfig dataclass

Bases: NetworkConfig

Source code in feral3gp/feral/network/can_config.py
16
17
18
19
20
21
22
23
24
25
@dataclass
class CANConfig(NetworkConfig):
    bit_stuffing_mode: BitStuffingMode = BitStuffingMode.NONE
    """
    Configure the bit stuffing mode of the CAN bus (NONE, ACCURATE or WORST_CASE)
    """
    data_bit_rate: int = 8_000_000
    """
    The data transmission rate of the CAN bus in Bits/s. Default is 8 mbit/s
    """

bit_stuffing_mode: BitStuffingMode = BitStuffingMode.NONE class-attribute instance-attribute

Configure the bit stuffing mode of the CAN bus (NONE, ACCURATE or WORST_CASE)

data_bit_rate: int = 8000000 class-attribute instance-attribute

The data transmission rate of the CAN bus in Bits/s. Default is 8 mbit/s

feral3gp.feral.CANNodeConfig dataclass

Bases: NodeConfig

Source code in feral3gp/feral/network/can_config.py
 7
 8
 9
10
11
12
13
@dataclass
class CANNodeConfig(NodeConfig):
    drop_duplicated_frames: bool = True
    """
    Configure if duplicated frames should be dropped (true) or not (false)
    """
    fault_injectors: typing.List[FaultInjectorConfig] = None

drop_duplicated_frames: bool = True class-attribute instance-attribute

Configure if duplicated frames should be dropped (true) or not (false)