from ....Internal.Core import Core
from ....Internal.CommandsGroup import CommandsGroup
from ....Internal import Conversions
from .... import repcap
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class BitrateCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("bitrate", core, parent)
[docs]
def set(self, bitrate: float, bus=repcap.Bus.Default) -> None:
"""
``BUS<*>:CAN:BITRate`` \n
Snippet: ``driver.bus.can.bitrate.set(bitrate = 1.0, bus = repcap.Bus.Default)`` \n
For CAN buses, the Bit rate sets the number of transmitted bits per second. For CAN FD buses, this parameter is called
Arbitration rate and sets the bit rate of the arbitration phase. The maximum bit rate for High Speed CAN is 1 Mbit/s. The
bit rate is uniform and fixed for a given CAN or CAN FD bus.
:param bitrate: 100 to 5E+6
:param bus: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Bus')
"""
param = Conversions.decimal_value_to_str(bitrate)
bus_cmd_val = self._cmd_group.get_repcap_cmd_value(bus, repcap.Bus)
self._core.io.write(f'BUS{bus_cmd_val}:CAN:BITRate {param}')
[docs]
def get(self, bus=repcap.Bus.Default) -> float:
"""
``BUS<*>:CAN:BITRate`` \n
Snippet: ``value: float = driver.bus.can.bitrate.get(bus = repcap.Bus.Default)`` \n
For CAN buses, the Bit rate sets the number of transmitted bits per second. For CAN FD buses, this parameter is called
Arbitration rate and sets the bit rate of the arbitration phase. The maximum bit rate for High Speed CAN is 1 Mbit/s. The
bit rate is uniform and fixed for a given CAN or CAN FD bus.
:param bus: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Bus')
:return: bitrate: 100 to 5E+6
"""
bus_cmd_val = self._cmd_group.get_repcap_cmd_value(bus, repcap.Bus)
response = self._core.io.query_str(f'BUS{bus_cmd_val}:CAN:BITRate?')
return Conversions.str_to_float(response)