Dev Call June 12, 2023

Issues & Pull Requests

Plane

Copter

Attendee count (max): 18

UTC1102 - https://github.com/ArduPilot/ardupilot/pull/22661

  • Direct drive tail rotors
  • PH had made some suggestions on minimising impact on other vehicles
  • Parameters in higher-level table but also in lower-level table?
    • One variable in two tables?!
    • Depth becomes an issue
    • #define out the table for multi-copter
    • Group info pointer or varptr?
    • Can’t do a subclass (like we do for attitude controller) as we’re in the library code
    • Heli ones exist in the subclass
  • PH and Bill will work on something around #ifdef’ing out the code

UTC1108 - AP_Scripting: dual-aircraft synchrosised aerobatics by tridge · Pull Request #22879 · ArduPilot/ardupilot · GitHub

  • Dual aircraft synchronised aerobatics
  • Only contention is timing
  • Should we use 64-bit numbers?
    • We use 32-bit numbers ATM in LUA, even though most of the time it’s 64
    • There’s another PR to allow for 64-bit numbers
      • Allows for time since 1970 (or GPS epoch)
    • Time-since-boot in millis gets worse as you go along in LUA as floating point precision degrades
    • Uint32_t is horrendously slow in LUA
    • Double-precision would be much faster on H7
    • Surprisingly no more RAM usage for double
      • LUA aligning to 8-byte boundaries?!
    • 17kB to go to 64-bit
      • Exp and pow
      • But EKF3 uses double maths
        • We use single-precisions of these in EKF3
    • Position controller uses 64-bit arithmetic in many places
    • F4 is single-precision for LUA
  • Tridge doesn’t want to do 64-bit integers and not 64-bit floats
  • Uint64_t same as we do our uint32_t?
    • With the structure….
  • Using GPS bindings has a race
    • 200ms granularity
    • 3 calls
    • Use time of last fix to get a global time
  • Lots of bindings to get 64-bit
  • Fewest code is existing approach to return a tuple
  • Many places doing millis*0.001 which is bad
  • Anything doing distances is bad across long distances in scripting
    • Same reason we went to 64-bit maths in position controller
  • Scripting on F4 is simply not a reasonable thing to do?
    • Drop F4 scripting?
  • Check the return values and magically make the bindings 64-bit?
  • [9:26 AM]Tim Tuxworth: You can’t even build scripting into an F4.
  • [9:26 AM]Tim Tuxworth: It doesn’t work
  • [9:28 AM]Tim Tuxworth: If you savagely drop almost all other functionality you might get scripting to build if you are very lucky.
  • [9:30 AM]rmackay9: I’d say scripting doesn’t work on F4 so don’t make any special changes for it
  • PH will look later in the week

UTC1142 - Compilation error luminousbee5 , using OSCILLATOR_HZ 24Mhz in the hwdef · Issue #23924 · ArduPilot/ardupilot · GitHub

  • Luminousbee5 compilation problem
  • Maybe just change this to use the same clock tree as CubeOrange?
  • Try deleting the assert and see if it is only the one clock which is faulty?
  • Put the pinout into CubeMX
    • Peter and tridge will try to sit down with CubeMX later today and nut it out

UTC1147 - https://github.com/ArduPilot/ardupilot/pull/23943

  • Fix for RPi in hte linux HAL
  • Now uses files to determine base
  • Want bluerobotics input
    • Willian will test

UTC1153 - AP_HAL_ChibiOS: Added RADIX2HD by mluessi · Pull Request #23948 · ArduPilot/ardupilot · GitHub

  • Add radix2hd board
  • Closed base bootloader
    • Like the SPRacingH7
  • Needs some documentation
  • And splitting
  • Backport?
    • Would need to show the external flash optimisations didn’t affect anything without external flash

UTC1156 - AP_Mount: implement user defined angle limits (especially for Siyi) by rmackay9 · Pull Request #24011 · ArduPilot/ardupilot · GitHub

  • Implement user-defined angle-limits
  • If you point using ROI then the limits aren’t honoured
  • Setting min and max to zero should disable yaw
    • Vehicle will yaw instead
  • Complicated by the fact the limits are in body frame
  • Might have some oddities at extremes
  • Gimbal can get confused at limits

UTC0007 - Copter/Rover-4.4.0 issues list · Issue #23192 · ArduPilot/ardupilot · GitHub

  • Copter update
  • Beta went out
  • Some issues did come up
    • Want beta builds on the custom build server
  • RPLidar not working
    • just treat the startup string ignored?
    • Not a regression
  • Gremsy WRE not working
    • Not a regression
  • Rover autotune went out for testing
    • Script
    • 4.3 never went out the door for stable
  • Once Rover autotune is working there’s still a couple of issues to make a 4.4
    • SCurves doesn’t respect the turn radius of the Rover
    • Long boat with a long turning radius?
    • SCurves doesn’t care
      • Overshoots the corners
      • Need to modify SCurves so the planned path takes into account the turning radius
    • I-term build-up if the vehicle can’t keep up or ovre-speeds
      • PSC
      • Zero out position i-term in forward/back direction
  • Corner accel parameter can only ead to corners being cut less, so nota solution

UTC0015 - AP_Notify: tidy defines by peterbarker · Pull Request #23990 · ArduPilot/ardupilot · GitHub

  • Tidy notify defines
  • Merged!

UTC0018 - A solution for broken usage of DEFAULTGPIO in hwdef by offshore · Pull Request #23995 · ArduPilot/ardupilot · GitHub

  • Deprecation really doesn’t help - nobody reads the output
  • DEFAULTGPIO
    • Avoid ESD problems
      • pull-downs on all pins to avoid it
    • But you don’t want to do this without hinking as you cause current draw
  • Which is worse?
    • ESD issues or current draw?
  • Defaultgpio applies to all pins which aren’t otherwise used…
  • Tridge thinks we should make it work regardless of location in the file
    • Minimise vulnerability to ESD MCU

UTC0030 - Save some flash on various boards to get them compiling again by peterbarker · Pull Request #24000 · ArduPilot/ardupilot · GitHub

  • No longer required

UTC0032 - Copter: Add a bitmask parameter to block mode entry from GCS by IamPete1 · Pull Request #24017 · ArduPilot/ardupilot · GitHub

  • Add a bitmask to disable mode change from GCS for specific modes
  • Longer-term solution is to fix the GCS
    • “Favourites” list?
  • Too basic a feature to go into scripting?
    • Safety thing

UTC 0050 Plane: stable 4.4.x issues list · Issue #15941 · ArduPilot/ardupilot · GitHub

UTC0100 AP_GPS: fixed ublox M10S auto-config by tridge · Pull Request #24035 · ArduPilot/ardupilot · GitHub

  • M10 does not follow datasheet
  • May need to be backported to 4.4

UTC 0105 Reload defaults file at end of AP_Vehicle::setup by peterbarker · Pull Request #24007 · ArduPilot/ardupilot · GitHub

UTC0125 AP_SerialManager: provide informative error if requested protocol is not enabled or is a duplicate by andyp1per · Pull Request #24026 · ArduPilot/ardupilot · GitHub