Commit Graph

49009 Commits

Author SHA1 Message Date
Iampete1
f75919e727 plane: QLoiter: move functions to ModeQLoiter 2021-08-17 11:46:49 +10:00
Iampete1
921116e7a3 Plane: QLand: move functions to ModeQLand 2021-08-17 11:46:49 +10:00
Iampete1
737096f342 Plane: QHover: move functions to ModeQHover 2021-08-17 11:46:49 +10:00
Iampete1
a1fa683272 plane: Qautotune: move functions to ModeQAutotune 2021-08-17 11:46:49 +10:00
Iampete1
e293866245 plane: Qacro: move functions to ModeQAcro 2021-08-17 11:46:49 +10:00
Peter Barker
bf7474c940 Blimp: DCM handles centrifugal correction application internally now 2021-08-17 10:36:46 +10:00
Peter Barker
f35a94a730 ArduSub: DCM handles centrifugal correction application internally now 2021-08-17 10:36:46 +10:00
Peter Barker
000b410daa ArduCopter: DCM handles centrifugal correction application internally now 2021-08-17 10:36:46 +10:00
Peter Barker
608608f32f AP_AHRS: internalise application of correct_centrifugal
This is a DCM-only option but that's not clear with the interface.
Internalise the variable and base it off build type.
2021-08-17 10:36:46 +10:00
Peter Barker
683806714c Rover: move VehicleClass handling to AHRS frontend
.... and renaming the enumeration while we're at it
2021-08-17 10:34:07 +10:00
Peter Barker
6868557efd Blimp: move VehicleClass handling to AHRS frontend
.... and renaming the enumeration while we're at it
2021-08-17 10:34:07 +10:00
Peter Barker
9f8d01827a ArduSub: move VehicleClass handling to AHRS frontend
.... and renaming the enumeration while we're at it
2021-08-17 10:34:07 +10:00
Peter Barker
515a994c59 ArduPlane: move VehicleClass handling to AHRS frontend
.... and renaming the enumeration while we're at it
2021-08-17 10:34:07 +10:00
Peter Barker
6f5e3bf4ff ArduCopter: move VehicleClass handling to AHRS frontend
.... and renaming the enumeration while we're at it
2021-08-17 10:34:07 +10:00
Peter Barker
fc6d8222e7 AP_DAL: move VehicleClass handling to AHRS frontend
.... and renaming the enumeration while we're at it
2021-08-17 10:34:07 +10:00
Peter Barker
1cfd9f57ce AP_AHRS: move VehicleClass handling to AHRS frontend
.... and renaming the enumeration while we're at it
2021-08-17 10:34:07 +10:00
Iampete1
f5c68d54cb Copter: flowhold: use correct angle max 2021-08-17 09:23:47 +09:00
Iampete1
bd2fed31ee Plane: actualy fail to enter mode, don't just put the mode back and reutrn true 2021-08-17 10:20:53 +10:00
Randy Mackay
a1eb84ebfd AP_HAL_ChibiOS: swap Pixhawk4 blue and red LEDs 2021-08-17 10:13:39 +10:00
Patrick José Pereira
190f1c5098 Sub: Parameters: Add default value for MNT_TYPE
It's very unlikely that a ROV may exist without a gimbal or any kind of camera control,
the common use case is to use a single servo to control the camera and this is why
we set the default value of MNT_TYPE as 1 (Servo).

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-08-16 17:49:54 -04:00
Andrew Tridgell
5c86cc6828 AP_NavEKF3: added EK3_PRIMARY parameter
allows for selection of which IMU to use on startup
2021-08-17 06:42:42 +10:00
Tatsuya Yamaguchi
8bd04c17c8 Copter: add DO_LAND_START description to THR/GCS FS action 2021-08-16 20:53:56 +09:00
Tatsuya Yamaguchi
1f8df7e5ff Copter: correct compilation when AUTO mode is disabled 2021-08-16 20:53:56 +09:00
Iampete1
59a158d7be Plane: don't output throtte in when safe 2021-08-16 21:22:35 +10:00
Andrew Tridgell
c6efbdd359 Plane: update release notes for 4.1.0beta5 2021-08-16 15:19:43 +10:00
Andrew Tridgell
25ee57080f AC_AttitudeControl: this fixes an issue with Z accel initialisation
tailsitter quadplanes were climbing a lot on transition from fixed
wing to Q modes. Leonard tracked it down to a bug in the Z accel init
2021-08-16 08:33:34 +10:00
Andrew Tridgell
9507f7883f SITL: prevent flip over of RF9 quadplanes on reboot
send a zero channel mask until we are initialised
2021-08-16 08:33:34 +10:00
Randy Mackay
0b0ca6a9e9 Rover: 4.1.0-beta7 release notes 2021-08-14 11:16:44 +09:00
Randy Mackay
d7e0c65d55 Copter: 4.1.0-beta7 release notes 2021-08-14 11:03:42 +09:00
Pierre Kancir
aebe2beba5 AP_HAL_SITL: check that _sitl is not nullptr before using it 2021-08-14 10:20:33 +10:00
Pierre Kancir
c91c570814 AP_HAL_SITL: don't use timer_event() that is static from the _scheduler instance 2021-08-14 10:20:33 +10:00
Hwurzburg
0d3b1d90b0 AP_OSD: fixes bug introduced by #16477 2021-08-14 10:17:42 +10:00
Dr.-Ing. Amilcar do Carmo Lucas
d53299ecb0 Tools: comment out the FETtecESC_safety_switch() function for now because it is failing
I do not understand why it is failing, and failed at fixing it.
2021-08-13 16:22:37 +10:00
Dr.-Ing. Amilcar do Carmo Lucas
a3d9a1d463 AP_FETtecOneWire: Do not write to the UART buffer if the previous transfer did not complete yet
Required for stable operation on F4 processors
2021-08-13 16:22:37 +10:00
Peter Barker
20f58afa93 Tools: complete rewrite of the ESC-configuration state machine
Co-authored-by: Dr.-Ing. Amilcar do Carmo Lucas <amilcar.lucas@iav.de>

tidy message sending using templates
Calculate and enforce the minimum update period.
Disable unused features to save flash
forced time gaps between all transmits
correct ESC reset functionality
Avoid re-initialization repeatition
Make sure we stop FETtec if safety is on (ignore reverse) this reduces duplicated code
Error count calculation changed
   as the telemetry error count is absolute only the overflow status can be safed and used for the percentage calculation
Update the README to add autotests information
FETtec needs a time gap between frames
  This allows running at high fast_loop_rates
do not send fast_throttle data if a configuration command just got sent
Example parameter configuration file is for a Quadcopter with ESCs connected to Telem2
remove two FIXME
fix compilation in master
Fix the ESC not re-initializing issue.
  Now we re-init whenever we loose connection
RVMASK parameter changes only take effect when not armed
Improve documentation
Always use the same wording when referring to fast-throttle commands
fix pre-arm check message
assure the length of the memmove is positive
Set HAL_AP_FETTEC_CONFIGURE_ESCS to 0 when no ESC hardware is available and you want to test the UART send function
2021-08-13 16:22:37 +10:00
Peter Barker
ea7c7f9d19 AP_FETtecOneWire: complete rewrite of the ESC-configuration state machine
Co-authored-by: Dr.-Ing. Amilcar do Carmo Lucas <amilcar.lucas@iav.de>

tidy message sending using templates
Calculate and enforce the minimum update period.
Disable unused features to save flash
forced time gaps between all transmits
correct ESC reset functionality
Avoid re-initialization repeatition
Make sure we stop FETtec if safety is on (ignore reverse) this reduces duplicated code
Error count calculation changed
   as the telemetry error count is absolute only the overflow status can be safed and used for the percentage calculation
Update the README to add autotests information
FETtec needs a time gap between frames
  This allows running at high fast_loop_rates
do not send fast_throttle data if a configuration command just got sent
Example parameter configuration file is for a Quadcopter with ESCs connected to Telem2
remove two FIXME
fix compilation in master
Fix the ESC not re-initializing issue.
  Now we re-init whenever we loose connection
RVMASK parameter changes only take effect when not armed
Improve documentation
Always use the same wording when referring to fast-throttle commands
fix pre-arm check message
assure the length of the memmove is positive
Set HAL_AP_FETTEC_CONFIGURE_ESCS to 0 when no ESC hardware is available and you want to test the UART send function
2021-08-13 16:22:37 +10:00
Peter Barker
e263063600 autotest: a gap in the beginning of the SERVO_FTW_MASK is now allowed, test it
make sure the SERVO_FWT_MASK is valid:
  - it can have bit gaps between active channels, but channels higher than 12 are not allowed (AP_EST_TELEM limitation)
  - Explain that the FETtec ESC IDs inside the FETtec Firmware need to be contiguous and start at 1.
add tests for ESC power outages
add test that safety switch zeroes PWM for FETtec ESC
2021-08-13 16:22:37 +10:00
Dr.-Ing. Amilcar do Carmo Lucas
1b7b705856 AP_FETtecOneWire: Convert into an ArduPilot device driver
Co-authored-by: Torsten Z <t.zunker@fettec.net>
    Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>

- use ArduPilot's coding guidelines and naming conventions
- control motor speed
- copy ESC telemetry data into MAVLink telemetry
- save ESC telemetry data in dataflash logs
- use RPM telemetry for dynamic notch filter frequencies
- sum the current telemetry info from all ESCs and use it as virtual battery current monitor sensor
- average the voltage telemetry info and use it as virtual battery voltage monitor sensor
- average the temperature telemetry info and use it as virtual battery temperature monitor sensor
- report telemetry communication error rate in the dataflash logs
- warn the user if there is a gap in the bitmask parameter.
- re-enumerate all ESCs if not armed (motors not spinning) when
  - there is a gap in their address space IDs
  - communication with one of the ESCs is lost
  - some of the configured ESCs are not found
  - some of the configured ESCs are not correctly configured
- allows the user to configure motor rotation direction per ESC (only gets updated if not armed)
- adds a serial simulator of FETtec OneWire ESCs
- adds autotest (using the simulator) to fly a copter over a simulated serial link connection
2021-08-13 16:22:37 +10:00
Dr.-Ing. Amilcar do Carmo Lucas
38a825c987 AP_HAL_ChibiOS: disable FETtec OneWire device driver 2021-08-13 16:22:37 +10:00
Peter Barker
2cf22112a2 AP_Arming: call fettec prearm checks 2021-08-13 16:22:37 +10:00
Peter Barker
3bc4cf710f autotest: add test for FETtecESC 2021-08-13 16:22:37 +10:00
Peter Barker
97057a1350 SITL: add simulated FETtec ESC 2021-08-13 16:22:37 +10:00
Peter Barker
26f2393014 AP_HAL_SITL: add simulated FETtec ESC 2021-08-13 16:22:37 +10:00
Dr.-Ing. Amilcar do Carmo Lucas
72a69ec274 AP_ESC_Telem: implement get_active_esc_mask()
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2021-08-13 16:22:37 +10:00
Peter Barker
2251e442cc AP_Math: move crc8_dvb_update into crc library 2021-08-13 16:22:37 +10:00
Pierre Kancir
2020fbaa26 SRV_Channel: add FETtec support 2021-08-13 16:22:37 +10:00
Pierre Kancir
28706f5e23 Tools: link AP_FETtecOneWire 2021-08-13 16:22:37 +10:00
Pierre Kancir
c1ad7253b6 AP_SerialManager: add FETtecOneWire protocol 2021-08-13 16:22:37 +10:00
Pierre Kancir
6346739466 AP_FETtecOneWire: Conversion to C++ and initial ArduPilot support 2021-08-13 16:22:37 +10:00
Torsten Z
35861ab616 AP_FETtecOneWire: Initial protocol implementation in C provided by FETtec 2021-08-13 16:22:37 +10:00