Actual node code. Nodes available are the following:
mmpsu_v2_node
mmpsu_debug_pane
This node does the actual communication with the MMPSU over UART using pyserial and offers several topics and services (see sections below).
mmpsu/mmpsu_core
: Core telemetry messages of typemmpsu_v2_interfaces.msg.MmpsuCoreTelem
.mmpsu/mmpsu_aux
: Auxilliary telemetry messages of typemmpsu_v2_interfaces.msg.MmpsuAuxTelem
.
mmpsu/set_output_enabled
: enable or disable the output (std_srvs.srv.SetBool
)mmpsu/set_vout
: set the voltage setpoint of the output (mmpsu_v2_interfaces.srv.SetFloat32
)mmpsu/set_iout_limit
: set the total output current limit (mmpsu_v2_interfaces.srv.SetFloat32
)
A Tkinter-based GUI that allows basic control and debugging of MMPSU. It requires the mmpsu_v2_node
to be running to actually control the hardware.
The mmpsu_v2_node
needs several parameters to be set in order to function correctly. In this repo we have an example launch file mmpsu_v2/launch/mmpsu_v2_launch.py
which calls on a config file called mmpsu_v2_config.yaml
in the mmpsu_v2/config/
directory. The chief parameter you very likely need to change is the uart_path
parameter. The value required will depend on what UART peripheral you have available and choose to use for MMPSU comms.
Defines message and service types.
MmpsuAuxTelem
: Less important telemetry than the core telemetry.MmpsuCoreTelem
: More important telemetry than the auxilliary telemetry.
SetFloat32
: Allows setting of a float32 type, analagous to the standard service Set- types.