Welcome to pyrbs documentation!

pyrbs is a Restbus-Simulation package for Python that provides comprehensive tools for CAN bus communication, message handling, and signal processing.

Getting Started

Installation

the pyrbs package commes preinstalled on every pyCANdo device
and can be found under https://{your_device_hostname}/pypi/simple/
a update of the package can be triggered via the pyCANdo Browser Dashboard or
the command line interface:

pcdusr@pycando42: ~/$ pcdup update

the cmd line tool runp is used for updating a venv and starting a pyCANdo Restbus-Simulation.

Quick Example

# ./rbs/main.py
from pyrbs import PyRbs, CanMessage, CanSignal, SysVar, Timer

# Initialize PyRbs
rbs = PyRbs()

# Define all the resources you need
msg_control_01: CanMessage = rbs.can_message.get("CAN1.Control_01")
sig_control_01_activate: CanSignal = rbs.can_signal.get("CAN1.Control_01.Activate")
crtl_activate: SysVar = rbs.sysvar.add("crtl_activate", 1)
timer_100ms: Timer = rbs.timer.add("timer_100ms", 0.1, active_on_start=True)

@rbs.timer.on("timer_100ms")
def on_timer_100ms(self: Timer):
   msg_control_01.send()
   sig_control_01_activate.raw = 1

@rbs.sysvar.on_change("crtl_activate")
def on_crtl_active_change(self):
   if self.value == 0:
      timer_100ms.stop()
      sig_control_01_activate.raw = self.value

Indices and tables