external mode has been running. Also don't publish if we are not controlling anything,
e.g. in rotary wing mode
Signed-off-by: RomanBapst <bapstroman@gmail.com>
add RunwayControl messge to pass wheel steering controls to wheel controller
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
Runway takeoff: specify that RWTO_TKOFF is directly applied during takeoff
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
msg/RateCtrlStatus: remove unused wheel_rate_integ field
The wheel rate controller is not run in the moduels that are now
running the MC/FW rate controllers, so thsi field canot be filled.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
wheel rate controller: use speed scaler quadratically on integrator
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
wheel yaw controller: use a time constant of 0.1
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
FW Attitude Controller: lock heading setpoint for wheels to initial heading
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
Params that are used by FW Mode Manager
- FW NPFG: NPFG params, should be renamed to FW Lateral Control once moved to the lat/lon controller
- FW Auto Takeoff
- FW Auto Landing
Params used by Fw Lat/Long Controller:
- FW Lateral Control
- FW Longitudinal Control
Params used by both:
- FW General
Params used by Performance model:
- FW Performance (could be moerged with FW General?)
Signed-off-by: Silvan <silvan@auterion.com>
- split up old module into two, one handling setpoint generation, one control
- add lateral and longitudinal control setpoints topics that can also be
injected from companion computer
- add configuration topics that (optionally) configure the controller
with limits and momentary settings
Signed-off-by: RomanBapst <bapstroman@gmail.com>
It turns out that we set the ADC range incorrectly leading to the
measured current being capped at a certain level as the ADC on the
sensor saturates.
Instead, we need to set the range according to the formula given in the
interface datasheet.
* adis16507: enhance driver to handle and recover from all failure modes
- Clean up driver
- Add optional hardware reset
- Fix scale and range for 125 deg/s variant
- Handle communication errors when read returns zeroes
- Improved perf counters
* change prints to PX4_DEBUG, define BURST_READ_CMD, do both soft and hard reset, use ScheduleNow instead of 1ms delay, change read/write stall period to SPI_STALL value
* hrt: Fix PPM input on channel 2
The CCMR1_PPM define for PPM input on channel 2 was incorrectly set to 2,
which was setting bits for channel 1 instead of channel 2. This prevented
PPM input from functioning properly on channel 2.
Changed CCMR1_PPM for channel 2 from 2 to (1 << 8), which correctly
configures the CC2S bits for input capture mode on TI2.
This fixes an issue noted in the existing code comment:
"FIXME! There is an interaction in the CCMR registers that prevents
using Chan 1 as the timer and chan 2 as the PPM"
Tested on STM32H743 with PPM input on PC7 (TIM8_CH2).
* rc_input: enable sharing serial and PPM pin
By setting RC_SERIAL_PORT_SHARED_PPM_PIN_GPIO_RX it is now possible to
use the same pin on the STM32 for PPM input as well as serial input.
* boards: Add support for Holybro KakuteH7-Wing
* gz: print version number in init, remove gst plugin spam, rename function
* fix 0 timestamp issue by waiting for clock callback before subscribing to other topics. Refactor to cleanup topic subscriptions
* format
* change gzerr to gzwarn
- only use data from airspeed_validated topic if source is SENSOR
- add 1s timeout (set to NAN if older)
- use FW_USE_AIRSPD consitently (treat the same as CAS=NAN)
Signed-off-by: Silvan <silvan@auterion.com>
Gravity fusion uses the bias corrected accelerometer data to correct the
tilt estimate. We should not continue to estimate the accel bias when
this is active as it creates an unwanted feedback loop.