diff options
author | Thomas Gubler <thomasgubler@gmail.com> | 2014-12-05 09:43:40 +0100 |
---|---|---|
committer | Thomas Gubler <thomasgubler@gmail.com> | 2014-12-05 09:43:40 +0100 |
commit | 041aea7532b9bf6725c73d47686ba808a48fcc56 (patch) | |
tree | 709d8f563c5c98ed47b60c2dd0b0c979ad48ff0a /src/modules/uavcan/uavcan_main.cpp | |
parent | c64c184948bed07f354904c0549b93225c85ad58 (diff) | |
parent | 92135d155d36096fad5c215f119cca166f6ac611 (diff) | |
download | px4-firmware-041aea7532b9bf6725c73d47686ba808a48fcc56.tar.gz px4-firmware-041aea7532b9bf6725c73d47686ba808a48fcc56.tar.bz2 px4-firmware-041aea7532b9bf6725c73d47686ba808a48fcc56.zip |
Merge branch 'ROS_shared_lib_base_class' into dev_ros_rossharedlib
Diffstat (limited to 'src/modules/uavcan/uavcan_main.cpp')
-rw-r--r-- | src/modules/uavcan/uavcan_main.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/modules/uavcan/uavcan_main.cpp b/src/modules/uavcan/uavcan_main.cpp index 8147a8b89..60901e0c7 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,32 @@ 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"); + } + + orb_unsubscribe(esc_sub); } // Sensor bridges |