dotbot.protocol module#
Module for the Dotbot protocol API.
- class dotbot.protocol.ApplicationType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Bases:
IntEnumTypes of DotBot applications.
- DotBot = 0#
- Freebot = 2#
- LH2_mini_mote = 4#
- SailBot = 1#
- XGO = 3#
- class dotbot.protocol.ControlModeType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Bases:
IntEnumTypes of DotBot control modes.
- AUTO = 1#
- MANUAL = 0#
- class dotbot.protocol.PayloadAdvertisement(metadata=<factory>, application=ApplicationType.DotBot)[source]#
Bases:
PayloadDataclass that holds an advertisement (emtpy).
- Parameters:
metadata (list[PayloadFieldMetadata])
application (ApplicationType)
- application: ApplicationType = 0#
- metadata: list[PayloadFieldMetadata]#
- class dotbot.protocol.PayloadCommandMoveRaw(metadata=<factory>, left_x=0, left_y=0, right_x=0, right_y=0)[source]#
Bases:
PayloadDataclass that holds move raw command data fields.
- Parameters:
metadata (list[PayloadFieldMetadata])
left_x (int)
left_y (int)
right_x (int)
right_y (int)
- left_x: int = 0#
- left_y: int = 0#
- metadata: list[PayloadFieldMetadata]#
- right_x: int = 0#
- right_y: int = 0#
- class dotbot.protocol.PayloadCommandRgbLed(metadata=<factory>, red=0, green=0, blue=0)[source]#
Bases:
PayloadDataclass that holds a complete rgb led command fields.
- Parameters:
metadata (list[PayloadFieldMetadata])
red (int)
green (int)
blue (int)
- blue: int = 0#
- green: int = 0#
- metadata: list[PayloadFieldMetadata]#
- red: int = 0#
- class dotbot.protocol.PayloadCommandXgoAction(metadata=<factory>, action=0)[source]#
Bases:
PayloadDataclass that holds an XGO action.
- Parameters:
metadata (list[PayloadFieldMetadata])
action (int)
- action: int = 0#
- metadata: list[PayloadFieldMetadata]#
- class dotbot.protocol.PayloadControlMode(metadata=<factory>, mode=ControlModeType.MANUAL)[source]#
Bases:
PayloadDataclass that holds a control mode message.
- Parameters:
metadata (list[PayloadFieldMetadata])
mode (ControlModeType)
- metadata: list[PayloadFieldMetadata]#
- mode: ControlModeType = 0#
- class dotbot.protocol.PayloadDotBotAdvertisement(metadata=<factory>, calibrated=False, direction=65535, pos_x=4294967295, pos_y=4294967295, pos_z=4294967295, battery=0)[source]#
Bases:
PayloadDataclass that holds a dotbot advertisement packet.
- Parameters:
metadata (list[PayloadFieldMetadata])
calibrated (bool)
direction (int)
pos_x (int)
pos_y (int)
pos_z (int)
battery (int)
- battery: int = 0#
- calibrated: bool = False#
- direction: int = 65535#
- metadata: list[PayloadFieldMetadata]#
- pos_x: int = 4294967295#
- pos_y: int = 4294967295#
- pos_z: int = 4294967295#
- class dotbot.protocol.PayloadDotBotSimulatorData(metadata=<factory>, theta=65535, pos_x=0, pos_y=0)[source]#
Bases:
PayloadDataclass that holds direction and GPS data and heading from SailBot application.
- Parameters:
metadata (list[PayloadFieldMetadata])
theta (int)
pos_x (int)
pos_y (int)
- metadata: list[PayloadFieldMetadata]#
- pos_x: int = 0#
- pos_y: int = 0#
- theta: int = 65535#
- class dotbot.protocol.PayloadGPSPosition(metadata=<factory>, latitude=0, longitude=0)[source]#
Bases:
PayloadDataclass that holds GPS positions.
- Parameters:
metadata (list[PayloadFieldMetadata])
latitude (int)
longitude (int)
- latitude: int = 0#
- longitude: int = 0#
- metadata: list[PayloadFieldMetadata]#
- class dotbot.protocol.PayloadGPSWaypoints(metadata=<factory>, threshold=0, count=0, waypoints=<factory>)[source]#
Bases:
PayloadDataclass that holds a list of GPS waypoints.
- Parameters:
metadata (list[PayloadFieldMetadata])
threshold (int)
count (int)
waypoints (list[PayloadGPSPosition])
- count: int = 0#
- metadata: list[PayloadFieldMetadata]#
- threshold: int = 0#
- waypoints: list[PayloadGPSPosition]#
- class dotbot.protocol.PayloadLH2Location(metadata=<factory>, pos_x=0, pos_y=0, pos_z=0)[source]#
Bases:
PayloadDataclass that holds LH2 computed location data.
- Parameters:
metadata (list[PayloadFieldMetadata])
pos_x (int)
pos_y (int)
pos_z (int)
- metadata: list[PayloadFieldMetadata]#
- pos_x: int = 0#
- pos_y: int = 0#
- pos_z: int = 0#
- class dotbot.protocol.PayloadLH2Waypoints(metadata=<factory>, threshold=0, count=0, waypoints=<factory>)[source]#
Bases:
PayloadDataclass that holds a list of LH2 waypoints.
- Parameters:
metadata (list[PayloadFieldMetadata])
threshold (int)
count (int)
waypoints (list[PayloadLH2Location])
- count: int = 0#
- metadata: list[PayloadFieldMetadata]#
- threshold: int = 0#
- waypoints: list[PayloadLH2Location]#
- class dotbot.protocol.PayloadLh2CalibrationHomography(metadata=<factory>, index=0, homography_matrix=<factory>)[source]#
Bases:
PayloadDataclass that holds computed LH2 homography for a basestation indicated by index.
- Parameters:
metadata (list[PayloadFieldMetadata])
index (int)
homography_matrix (bytes)
- homography_matrix: bytes#
- index: int = 0#
- metadata: list[PayloadFieldMetadata]#
- class dotbot.protocol.PayloadLh2ProcessedLocation(metadata=<factory>, polynomial_index=0, lfsr_index=0, timestamp_us=0)[source]#
Bases:
PayloadDataclass that holds LH2 processed location data.
- Parameters:
metadata (list[PayloadFieldMetadata])
polynomial_index (int)
lfsr_index (int)
timestamp_us (int)
- lfsr_index: int = 0#
- metadata: list[PayloadFieldMetadata]#
- polynomial_index: int = 0#
- timestamp_us: int = 0#
- class dotbot.protocol.PayloadRawData(metadata=<factory>, count=0, data=<factory>)[source]#
Bases:
PayloadDataclass that holds raw bytes data.
- Parameters:
metadata (list[PayloadFieldMetadata])
count (int)
data (bytes)
- count: int = 0#
- data: bytes#
- metadata: list[PayloadFieldMetadata]#
- class dotbot.protocol.PayloadSailBotData(metadata=<factory>, direction=65535, latitude=0, longitude=0, wind_angle=65535, rudder_angle=0, sail_angle=0)[source]#
Bases:
PayloadDataclass that holds SailBot data from SailBot application.
- Parameters:
metadata (list[PayloadFieldMetadata])
direction (int)
latitude (int)
longitude (int)
wind_angle (int)
rudder_angle (int)
sail_angle (int)
- direction: int = 65535#
- latitude: int = 0#
- longitude: int = 0#
- metadata: list[PayloadFieldMetadata]#
- rudder_angle: int = 0#
- sail_angle: int = 0#
- wind_angle: int = 65535#
- class dotbot.protocol.PayloadType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Bases:
IntEnumTypes of DotBot payload types.
- ADVERTISEMENT = 4#
- CMD_MOVE_RAW = 0#
- CMD_RGB_LED = 1#
- CMD_XGO_ACTION = 11#
- CONTROL_MODE = 7#
- DOTBOT_ADVERTISEMENT = 6#
- DOTBOT_SIMULATOR_DATA = 250#
- GPS_POSITION = 5#
- GPS_WAYPOINTS = 9#
- LH2_CALIBRATION_HOMOGRAPHY = 14#
- LH2_PROCESSED_DATA = 12#
- LH2_WAYPOINTS = 8#
- RAW_DATA = 16#
- SAILBOT_DATA = 10#