Komunikaci mezi dvěma Briany¶
- class brian.sensors.BrianBrianComm.BrianBrianComm(port: SensorPort, is_master: bool)
Základ:
Sensor
Třída zajišťující komunikaci mezi dvěma zařízeními Brian připojenými přes senzorový port.
Senzor (druhý Brian) je automaticky registrován v konstruktoru základní třídy a odregistrován v jejím destruktoru.
V celém programu může být v daném okamžiku maximálně jedna instance libovolné třídy senzoru na port.
- __init__(port: SensorPort, is_master: bool) None
Inicializuje nového obslužného komunikátoru pro přenos dat mezi Brian zařízeními na zadaném portu. Komunikaci lze inicializovat v jednom ze dvou režimů – master nebo slave, přičemž jeden konec musí být master a druhý slave.
- Parametry:
port – Port senzoru, ke kterému je senzor připojen.
is_master – true, pokud má být použit v režimu master, false pro režim slave
- available() int
- Vrací:
bajty dostupné ke čtení
- read(size: int | None = None) bytes
čte data přicházející z druhého zařízení Brian.
- Parametry:
size – limit velikosti, kolik bajtů zkopírovat. Pokud není zadán, přečtou se všechna dostupná data.
- Vrací:
přečtené bajty
- Vyvolá:
OSError – Pokud dojde k chybě během operace zápisu.
Error Codes:
MP_EIO
: BrianBrianComm is not ready or is disconnected.
- write(message: bytearray | str | bytes) int
Odešle zadaný buffer druhému zařízení Brian.
- Parametry:
message – str, bytearray nebo bytes buffer obsahující skutečnou zprávu.
- Vrací:
počet zapsaných bajtů
- Vyvolá:
OSError – Pokud dojde k chybě během operace zápisu.
Error Codes:
MP_EIO
: BrianBrianComm is not ready or is disconnected.