diff options
author | Simon Wilks <sjwilks@gmail.com> | 2014-12-03 10:30:49 +0100 |
---|---|---|
committer | Simon Wilks <sjwilks@gmail.com> | 2014-12-03 10:30:49 +0100 |
commit | 7a344b933738d9caedc0fe177cc4615c294eaf51 (patch) | |
tree | 11ea58032ceaa5db351807ae631848f4287dc677 /src/modules | |
parent | d5debc2f421290c23345a28f2f074f3630c75f26 (diff) | |
download | px4-firmware-7a344b933738d9caedc0fe177cc4615c294eaf51.tar.gz px4-firmware-7a344b933738d9caedc0fe177cc4615c294eaf51.tar.bz2 px4-firmware-7a344b933738d9caedc0fe177cc4615c294eaf51.zip |
Display ESC data in the status output
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/uavcan/uavcan_main.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/modules/uavcan/uavcan_main.cpp b/src/modules/uavcan/uavcan_main.cpp index 8147a8b89..7213c72c6 100644 --- a/src/modules/uavcan/uavcan_main.cpp +++ b/src/modules/uavcan/uavcan_main.cpp @@ -46,6 +46,8 @@ #include <arch/board/board.h> #include <arch/chip/chip.h> +#include <uORB/topics/esc_status.h> + #include <drivers/drv_hrt.h> #include <drivers/drv_pwm_output.h> @@ -612,10 +614,30 @@ UavcanNode::print_info() if (_outputs.noutputs != 0) { printf("ESC output: "); + for (uint8_t i=0; i<_outputs.noutputs; i++) { printf("%d ", (int)(_outputs.output[i]*1000)); } printf("\n"); + + // ESC status + int esc_sub = orb_subscribe(ORB_ID(esc_status)); + struct esc_status_s esc; + memset(&esc, 0, sizeof(esc)); + orb_copy(ORB_ID(esc_status), esc_sub, &esc); + + printf("ESC Status:\n"); + printf("Addr\tV\tA\tTemp\tSetpt\tRPM\tErr\n"); + for (uint8_t i=0; i<_outputs.noutputs; i++) { + printf("%d\t", esc.esc[i].esc_address); + printf("%3.2f\t", (double)esc.esc[i].esc_voltage); + printf("%3.2f\t", (double)esc.esc[i].esc_current); + printf("%3.2f\t", (double)esc.esc[i].esc_temperature); + printf("%3.2f\t", (double)esc.esc[i].esc_setpoint); + printf("%d\t", esc.esc[i].esc_rpm); + printf("%d", esc.esc[i].esc_errorcount); + printf("\n"); + } } // Sensor bridges |