|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Public Member Functions | |
| __init__ (self, str actuator_board_ip, int command_port=5005, int status_port=5006) | |
| bool | start (self) |
| stop (self) | |
| bytes | create_actuator_command_packet (self, List[Tuple[int, int]] commands) |
| bool | send_command (self, int actuator_id, int state) |
| bool | send_commands_batch (self, List[Tuple[int, int]] commands) |
| List[ActuatorStatus] | parse_actuator_status (self, bytes data, str source_ip) |
| reset (self) | |
Public Attributes | |
| actuator_ip = actuator_board_ip | |
| command_port = command_port | |
| status_port = status_port | |
| Optional[socket.socket] | command_sock = None |
| Optional[socket.socket] | status_sock = None |
| dict | actuator_statuses = {} |
| deque | status_queue = deque(maxlen=1000) |
| Optional[threading.Thread] | status_thread = None |
| bool | running = False |
Actuator command/status communication handler
Definition at line 74 of file controller_integration.py.
| controller_integration.ActuatorComm.__init__ | ( | self, | |
| str | actuator_board_ip, | ||
| int | command_port = 5005, | ||
| int | status_port = 5006 ) |
Definition at line 77 of file controller_integration.py.
| bytes controller_integration.ActuatorComm.create_actuator_command_packet | ( | self, | |
| List[Tuple[int, int]] | commands ) |
Create an actuator command packet (exact format from combined_gui.py).
Args:
commands: List of (actuator_id, actuator_state) tuples
actuator_id: 1-10 (1-indexed)
actuator_state: 0 = OFF, non-zero = ON
Returns:
Packet bytes, or empty bytes if invalid
Definition at line 128 of file controller_integration.py.
| List[ActuatorStatus] controller_integration.ActuatorComm.parse_actuator_status | ( | self, | |
| bytes | data, | ||
| str | source_ip ) |
Parse actuator current sense data from sensor data packet.
Actuator board sends current sense as PT samples on same port as sensors (5006).
These come as sensor data packets with channel_id = actuator_id (1-10).
Returns:
List of ActuatorStatus objects
Definition at line 247 of file controller_integration.py.
| controller_integration.ActuatorComm.reset | ( | self | ) |
Reset controller state
Definition at line 308 of file controller_integration.py.
| bool controller_integration.ActuatorComm.send_command | ( | self, | |
| int | actuator_id, | ||
| int | state ) |
Send actuator command via UDP (exact DiabloAvionics format).
Args:
actuator_id: 1-10 (1-indexed channel on actuator board)
state: 0=OFF, 1=ON (hardware level)
Returns:
True if sent successfully
Definition at line 182 of file controller_integration.py.
| bool controller_integration.ActuatorComm.send_commands_batch | ( | self, | |
| List[Tuple[int, int]] | commands ) |
Send multiple actuator commands in a single packet.
Args:
commands: List of (actuator_id, state) tuples
Returns:
True if sent successfully
Definition at line 223 of file controller_integration.py.
| bool controller_integration.ActuatorComm.start | ( | self | ) |
Start actuator communication
Definition at line 96 of file controller_integration.py.
| controller_integration.ActuatorComm.stop | ( | self | ) |
Stop actuator communication
Definition at line 119 of file controller_integration.py.
| controller_integration.ActuatorComm.actuator_ip = actuator_board_ip |
Definition at line 80 of file controller_integration.py.
| dict controller_integration.ActuatorComm.actuator_statuses = {} |
Definition at line 89 of file controller_integration.py.
| controller_integration.ActuatorComm.command_port = command_port |
Definition at line 81 of file controller_integration.py.
| Optional[socket.socket] controller_integration.ActuatorComm.command_sock = None |
Definition at line 85 of file controller_integration.py.
| bool controller_integration.ActuatorComm.running = False |
Definition at line 94 of file controller_integration.py.
Referenced by imu_calibration_gui.UDPReceiver.run().
| controller_integration.ActuatorComm.status_port = status_port |
Definition at line 82 of file controller_integration.py.
| deque controller_integration.ActuatorComm.status_queue = deque(maxlen=1000) |
Definition at line 90 of file controller_integration.py.
| Optional[socket.socket] controller_integration.ActuatorComm.status_sock = None |
Definition at line 86 of file controller_integration.py.
| Optional[threading.Thread] controller_integration.ActuatorComm.status_thread = None |
Definition at line 93 of file controller_integration.py.