UAVCAN telemetry (#3129)

* UAVCAN telemetry

* [modules] Actuator feedback rewrite

---------

Co-authored-by: Freek van Tienen <freek.v.tienen@gmail.com>
This commit is contained in:
Christophe De Wagter
2023-10-04 16:29:40 +02:00
committed by GitHub
parent db4c67d64a
commit 5b254269fc
33 changed files with 221 additions and 90 deletions
+1
View File
@@ -22,6 +22,7 @@
<file_arch name="actuators_dshot_arch.c"/>
<file_arch name="esc_dshot.c" cond="ifeq ($(RTOS),chibios)"/>
<file_arch name="hal_stm32_dma.c" dir="mcu_periph" cond="ifeq ($(RTOS),chibios)"/>
<test/>
</makefile>
</module>
+11 -2
View File
@@ -6,8 +6,8 @@
<define name="THROTTLE_CURVE_RPM_FB_P" value="0" description="The RPM controller feeadback P gain of the PI controller"/>
<define name="THROTTLE_CURVE_RPM_FB_I" value="0" description="The RPM controller feeadback I gain of the PI controller"/>
<define name="THROTTLE_CURVE_RPM_INC_LIMIT" value="512" description="Amount of RPM the controller can increase or decrease per second"/>
<define name="THROTTLE_CURVE_RPM_ID" value="ABI_BROADCAST" description="The ABI sender ID to listen for RPM messages"/>
<define name="THROTTLE_CURVE_RPM_ACT" value="0" description="The ABI RPM message motor index"/>
<define name="THROTTLE_CURVE_ACT_FEEDBACK_ID" value="ABI_BROADCAST" description="The ABI sender ID to listen for RPM messages"/>
<define name="THROTTLE_CURVE_RPM_ACT" value="0" description="The RPM message motor index (generated from airframe.h)"/>
</doc>
<settings>
<dl_settings>
@@ -25,6 +25,15 @@
<makefile target="ap">
<file name="throttle_curve.c"/>
<define name="USE_THROTTLE_CURVES" value="TRUE"/>
<test firmware="rotorcraft">
<define name="THROTTLE_CURVE_RPM_ACT" value="0"/>
<define name="THROTTLE_POINTS_NB" value="3"/>
<define name="THROTTLE_CURVES_NB" value="2"/>
<define name="THROTTLE_CURVES" value="{{0}}"/>
<define name="THROTTLE_CURVE_MODE_INIT" value="0"/>
<define name="RADIO_FMODE" value="0"/>
<define name="COMMAND_COLLECTIVE" value="0"/>
</test>
</makefile>
</module>
+8 -4
View File
@@ -38,10 +38,14 @@
<!-- <file name="ahrs.c" dir="subsystems"/> -->
<file name="ahrs_aligner.c" dir="modules/ahrs"/>
<!-- <file name="pprz_algebra_float.c" dir="math"/> -->
<raw>
$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"modules/ins/ins_flow.h\"
$(TARGET).CFLAGS += -DPRIMARY_AHRS=ahrs_icq
</raw>
<raw>
$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"modules/ins/ins_flow.h\"
$(TARGET).CFLAGS += -DPRIMARY_AHRS=ahrs_icq
</raw>
<test firmware="rotorcraft">
<define name="MOTOR_MIXING_NB_MOTOR" value="4"/>
<define name="USE_MAGNETOMETER" value="true"/>
</test>
</makefile>
</module>
+1
View File
@@ -8,6 +8,7 @@
<configure name="RPM_PWM_CHANNEL" value="PWM_INPUTX" description="Select PWM input channel for RPM sensor"/>
<define name="RPM_PULSE_PER_RND" value="14" description="Amount of pulses per round"/>
<define name="RPM_FILTER_TAU" value="0.3" description="1/cut-off-frequency = filter time"/>
<define name="RPM_SENSOR_ACTUATOR_IDX" value="" description="the actuator which we are sensing the RPM for"/>
</doc>
<dep>
<depends>pwm_meas</depends>
+2
View File
@@ -47,6 +47,8 @@
<define name="ADAPTIVE_MU" value="0.0001" description="adaptation parameter"/>
<define name="WLS_PRIORITIES" value="{1000, 1000, 1, 100, 100}" description="WLS control objective priorities: roll, pitch, thrust, yaw, thrust_x"/>
<define name="WLS_WU" value="{1, 1, 1, 1}" description="WLS actuator cost (size of INDI_NUM_ACT)"/>
<define name="RPM_FEEDBACK" value="FALSE" description="enable RPM feedback"/>
<define name="ACT_FEEDBACK_ID" value="ABI_BROADCAST" description="listening for RPM feedback on this ABI id"/>
</section>
</doc>
<settings>