aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Wilks <sjwilks@gmail.com>2014-12-03 10:30:49 +0100
committerSimon Wilks <sjwilks@gmail.com>2014-12-03 10:30:49 +0100
commit7a344b933738d9caedc0fe177cc4615c294eaf51 (patch)
tree11ea58032ceaa5db351807ae631848f4287dc677 /src
parentd5debc2f421290c23345a28f2f074f3630c75f26 (diff)
downloadpx4-firmware-7a344b933738d9caedc0fe177cc4615c294eaf51.tar.gz
px4-firmware-7a344b933738d9caedc0fe177cc4615c294eaf51.tar.bz2
px4-firmware-7a344b933738d9caedc0fe177cc4615c294eaf51.zip
Display ESC data in the status output
Diffstat (limited to 'src')
-rw-r--r--src/modules/uavcan/uavcan_main.cpp22
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