An implementation of the WPILib WebSocket protocol for Python
Project description
wpilib-ws-py
An implementation of the WPILib WebSocket protocol for Python3
This library is an implementation of the WPILib simulation WebSocket, used for controlling non-frc hardware using WPILib. The specification of this protocol is found here.
from wpilib_ws import WPILibWsServer
server = WPILibWsServer()
# The on_message decorator will let you create handlers for message events.
# Optionally a device type can be entered to only handle messages for that
# specific device type. A list of device types and other hardware messages can
# be found here:
# https://github.com/wpilibsuite/allwpilib/blob/main/simulation/halsim_ws_core/doc/hardware_ws_api.md#hardware-messages
@server.on_message("PWM")
async def pwm_handler(event):
payload = event.payload
print(f"Recieved PWM event: {payload}")
# ...
@server.on_message("CANMotor")
async def can_motor_handler(event):
payload = event.payload
print(f"Recieved CANMotor event: {payload}")
# ...
# The while_connected decorator is a loop that runs alongside the server, and
# can be used for periodic tasks, such as sending battery voltage, like below.
@server.while_connected(buffer=0)
async def while_connected():
await server.send_payload(
{"type": "RoboRIO", "device": "", "data": {">vin_voltage": 12.0}}
)
server.run()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
wpilib-ws-py-0.2.0.tar.gz
(5.3 kB
view hashes)
Built Distribution
Close
Hashes for wpilib_ws_py-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79f319ba5a60400ec258e42019b4abadc4d3478b4c43fbcb3f1b83024d1b4ca3 |
|
MD5 | 16e2132ad0f06c22d72f6bf089b02c63 |
|
BLAKE2b-256 | 6186cdd732fbbd3930a7fb73a04eb0b6a01073e54132cf35e494e810de2824b8 |