From 1be41b83fc88f07cf5192dfb0acadc055db07407 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 25 Mar 2018 09:23:03 +1100 Subject: [PATCH] SRV_Channel: added SERVO_BLHI_ parameters --- libraries/SRV_Channel/SRV_Channel.h | 5 +++++ libraries/SRV_Channel/SRV_Channel_aux.cpp | 2 ++ libraries/SRV_Channel/SRV_Channels.cpp | 6 ++++++ 3 files changed, 13 insertions(+) diff --git a/libraries/SRV_Channel/SRV_Channel.h b/libraries/SRV_Channel/SRV_Channel.h index 692dfc2126..be7b8408d8 100644 --- a/libraries/SRV_Channel/SRV_Channel.h +++ b/libraries/SRV_Channel/SRV_Channel.h @@ -19,6 +19,7 @@ #include #include #include +#include #define NUM_SERVO_CHANNELS 16 @@ -445,6 +446,10 @@ private: AP_SBusOut sbus; static AP_SBusOut *sbus_ptr; + // support for BLHeli protocol + AP_BLHeli blheli; + static AP_BLHeli *blheli_ptr; + SRV_Channel obj_channels[NUM_SERVO_CHANNELS]; static struct srv_function { diff --git a/libraries/SRV_Channel/SRV_Channel_aux.cpp b/libraries/SRV_Channel/SRV_Channel_aux.cpp index dd304067e7..b6cc4445ca 100644 --- a/libraries/SRV_Channel/SRV_Channel_aux.cpp +++ b/libraries/SRV_Channel/SRV_Channel_aux.cpp @@ -164,6 +164,8 @@ void SRV_Channels::enable_aux_servos() hal.rcout->enable_ch(channels[i].ch_num); } } + + blheli_ptr->update(); } /// enable output channels using a channel mask diff --git a/libraries/SRV_Channel/SRV_Channels.cpp b/libraries/SRV_Channel/SRV_Channels.cpp index 5258c41a02..05ed7f7c80 100644 --- a/libraries/SRV_Channel/SRV_Channels.cpp +++ b/libraries/SRV_Channel/SRV_Channels.cpp @@ -28,6 +28,7 @@ SRV_Channel *SRV_Channels::channels; SRV_Channels *SRV_Channels::instance; AP_Volz_Protocol *SRV_Channels::volz_ptr; AP_SBusOut *SRV_Channels::sbus_ptr; +AP_BLHeli *SRV_Channels::blheli_ptr; bool SRV_Channels::disabled_passthrough; bool SRV_Channels::initialised; @@ -122,6 +123,10 @@ const AP_Param::GroupInfo SRV_Channels::var_info[] = { // @Path: ../AP_SBusOut/AP_SBusOut.cpp AP_SUBGROUPINFO(sbus, "_SBUS_", 20, SRV_Channels, AP_SBusOut), + // @Group: _BLH_ + // @Path: ../AP_BLHeli/AP_BLHeli.cpp + AP_SUBGROUPINFO(blheli, "_BLH_", 21, SRV_Channels, AP_BLHeli), + AP_GROUPEND }; @@ -143,6 +148,7 @@ SRV_Channels::SRV_Channels(void) volz_ptr = &volz; sbus_ptr = &sbus; + blheli_ptr = &blheli; } /*