Skip to content

System Internals

pypack.system contains the runtime transport and state machinery used by the SDK. These types are documented here so cross-references from controller and telemetry models resolve cleanly.

Data Center

datacenter

Device module-attribute

Device = Enum('Device', ('Uwb', 'Plane', 'Sys'))

PlaneType module-attribute

PlaneType = Enum('PlaneType', ('Height', 'Yaw', 'PlaneX', 'PlaneY', 'PlaneZ', 'TimeToken', 'AuxToken', 'Battery', 'RangeSafe', 'TakeoffAllow', 'LocationSensor', 'DanceX', 'DanceY', 'DanceZ', 'RealDanceMD5', 'DanceName', 'Time', 'Rgb_status', 'Socket', 'Address'))

UwbType module-attribute

UwbType = Enum('UwbType', ('DemarcateState', 'Station0_X', 'Station0_Y', 'Station0_Z', 'Station1_X', 'Station1_Y', 'Station1_Z', 'Station2_X', 'Station2_Y', 'Station2_Z', 'Station3_X', 'Station3_Y', 'Station3_Z'))

SysType module-attribute

SysType = Enum('SysType', ('Delta_T', 'TimeToken', 'AuxToken', 'DanceMD5', 'AuxSetupYaw'))

dc module-attribute

dc = DataCenter()

DataCenter

empty_datacenter

empty_datacenter()

set_data

set_data(device, datatype, value, id=0)

get_data

get_data(device, datatype, id=0)

device_exist

device_exist(device)

id_exist

id_exist(device, id)

datatype_exist

datatype_exist(device, id, datatype)

get_device_list

get_device_list()

get_id_list

get_id_list(device)

get_datatype_list

get_datatype_list(device, id)

del_device

del_device(device)

del_id

del_id(device, id)

del_datatype

del_datatype(device, id, datatype)

show_data

show_data()

get_flight_data

get_flight_data(drone_id: int = 0) -> FlightData | None

Get typed flight telemetry data.

Parameters:

Name Type Description Default
drone_id int

Drone ID (default 0)

0

Returns:

Type Description
FlightData | None

FlightData model or None if not available

get_battery_percent

get_battery_percent(drone_id: int = 0) -> int | None

Get battery percentage.

Parameters:

Name Type Description Default
drone_id int

Drone ID (default 0)

0

Returns:

Type Description
int | None

Battery percentage (0-100) or None if not available

get_obstacles

get_obstacles(drone_id: int = 0) -> Obstacles

Get obstacle detection state.

Parameters:

Name Type Description Default
drone_id int

Drone ID (default 0)

0

Returns:

Type Description
Obstacles

Obstacles model (empty if no data)

get_drone_status

get_drone_status(drone_id: int = 0) -> int | None

Get drone status from heartbeat.

Parameters:

Name Type Description Default
drone_id int

Drone ID (default 0)

0

Returns:

Type Description
int | None

Drone status code or None if not available

is_drone_ready

is_drone_ready(drone_id: int = 0) -> bool

Check if drone is in ready state.

Parameters:

Name Type Description Default
drone_id int

Drone ID (default 0)

0

Returns:

Type Description
bool

True if drone is ready (status == 2)

has_telemetry

has_telemetry(drone_id: int = 0) -> bool

Check if telemetry data is available.

Parameters:

Name Type Description Default
drone_id int

Drone ID (default 0)

0

Returns:

Type Description
bool

True if flight_data exists

has_heartbeat

has_heartbeat(drone_id: int = 0) -> bool

Check if heartbeat data is available.

Parameters:

Name Type Description Default
drone_id int

Drone ID (default 0)

0

Returns:

Type Description
bool

True if heartbeat exists