RoboidControl-python/BinaryMsg.py
Pascal Serrarens e218e0ea51 Event handling
2025-01-20 19:26:30 +01:00

27 lines
780 B
Python

from .Messages import IMessage
from .Thing import Thing
class BinaryMsg(IMessage):
id = 0xB1
def __init__(self, buffer):
self.network_id = buffer[1]
self.thing_id = buffer[2]
self.thing: Thing = Thing.Get(self.network_id, self.thing_id)
self.data = buffer[3:]
def SendTo(participant, thing, data: bytearray):
length = 3
if thing.network_id is None or thing is None or data is None:
return False
participant.buffer[0:length] = [
BinaryMsg.id,
participant.network_id,
thing.id
]
full_length = length + len(data)
participant.buffer[length:full_length] = data
participant.SendBuffer(full_length)
return True