packageRuntime

External objects and sync points (C interface of the embedded Python runtime, serial and I2C devices, radio modems, logic analyser)

Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).

Contents

NameDescription
PyRuntimeExternal Object wrapping the CPython interpreter that runs the user script in a worker thread, with sleep() interception - see requirements.md
PartialPyRuntimeSyncInterface of the sync point PyRuntime_sync: passes the pin states, wakes the worker thread up to its next blocking point, returns the driven state and the next requested wake-up
PyRuntime_syncSync point between the Python script and the simulation: passes the pin states, wakes the worker thread up to its next blocking point, returns the driven state and the next requested wake-up
I2cDeviceExternal Object wrapping the state of an I2C slave peripheral (bus decoding, Python script) - see requirements.md, decision "Bus I2C électrique en drain ouvert"
I2cDevice_syncSync point of an I2C slave peripheral: interprets the SCL or SDA edge that just occurred, calls the script at the right moments, and returns the state of its SDA output
UartDeviceExternal Object wrapping the state of an external serial device (TX/RX queues, decoding, command table or Python script, deadlines) - see requirements.md, decision "Périphériques UART externes connectables"
UartDevice_syncSync point of an external serial device: advances transmission and reception, delivers the received lines, arms the transmissions, and returns the next deadline
RadioModemExternal Object wrapping the state of a transparent radio modem (serial and radio frames, buffers, delays) - see requirements.md, decision "Liaison radio modulée"
RadioModem_syncSync point of a radio modem: advances the serial and radio frames, moves the bytes through the buffers, and returns the next deadline
LogicAnalyzerCaptureExternal Object of Peripherals.Analyzers.LogicAnalyzer: recording of the logic levels of its channels (VCD file) and decoded frames (text file) - see requirements.md, decision "Analyseur logique"
LogicAnalyzer_recordRecords the logic levels of the channels of a LogicAnalyzer at the current instant
LogicAnalyzer_finishNotes the final instant of the simulation, so that the recording of a LogicAnalyzer covers the whole simulated time