aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPavel Kirienko <pavel.kirienko@gmail.com>2015-01-17 04:04:31 +0300
committerLorenz Meier <lm@inf.ethz.ch>2015-01-21 14:54:23 +0100
commit6bbacc4271680cc262094af7f9a34807ff5c34ed (patch)
treea443289301c45920629d4f1428789832241b0210 /src
parent543cb231282fdb899557f42003f53ac2f7a7dcc7 (diff)
downloadpx4-firmware-6bbacc4271680cc262094af7f9a34807ff5c34ed.tar.gz
px4-firmware-6bbacc4271680cc262094af7f9a34807ff5c34ed.tar.bz2
px4-firmware-6bbacc4271680cc262094af7f9a34807ff5c34ed.zip
Intrusive changes made for UAVCAN profiling. Will be reverted in the next commit (this one is needed to keep the changes in history)
Diffstat (limited to 'src')
-rw-r--r--src/modules/uavcan/actuators/esc.cpp10
-rw-r--r--src/modules/uavcan/uavcan_main.cpp10
2 files changed, 15 insertions, 5 deletions
diff --git a/src/modules/uavcan/actuators/esc.cpp b/src/modules/uavcan/actuators/esc.cpp
index 995c8987c..f7adbed76 100644
--- a/src/modules/uavcan/actuators/esc.cpp
+++ b/src/modules/uavcan/actuators/esc.cpp
@@ -98,11 +98,11 @@ void UavcanEscController::update_outputs(float *outputs, unsigned num_outputs)
/*
* Rate limiting - we don't want to congest the bus
*/
- const auto timestamp = _node.getMonotonicTime();
- if ((timestamp - _prev_cmd_pub).toUSec() < (1000000 / MAX_RATE_HZ)) {
- return;
- }
- _prev_cmd_pub = timestamp;
+// const auto timestamp = _node.getMonotonicTime();
+// if ((timestamp - _prev_cmd_pub).toUSec() < (1000000 / MAX_RATE_HZ)) {
+// return;
+// }
+// _prev_cmd_pub = timestamp;
/*
* Fill the command message
diff --git a/src/modules/uavcan/uavcan_main.cpp b/src/modules/uavcan/uavcan_main.cpp
index af5f2ec96..c29cd8323 100644
--- a/src/modules/uavcan/uavcan_main.cpp
+++ b/src/modules/uavcan/uavcan_main.cpp
@@ -357,6 +357,16 @@ int UavcanNode::run()
_actuator_direct_poll_fd_num = add_poll_fd(_actuator_direct_sub);
}
+ _esc_controller.arm_all_escs(true);
+ while (true) {
+ for (int i = 0; i < 1000; i++) {
+ node_spin_once();
+ _outputs.noutputs = 8;
+ _esc_controller.update_outputs(_outputs.output, _outputs.noutputs);
+ }
+ ::usleep(1000);
+ }
+
while (!_task_should_exit) {
// update actuator controls subscriptions if needed
if (_groups_subscribed != _groups_required) {