Dev Call Apr 27, 2020

Issues & Pull Requests




1 Like

Attendee count (max): 30

UTC 1100

  • discussions on one of Andy’s PRs. fport telemetry shenanigans.
  • Sport and fport code-sharing
  • Stack-size interesting stuff
  • Tridge will review PR again before merge

UTC1100 -

  • FFT enhancements and notes
  • Bit of a monster PR now
  • Will need a bit of review
  • Should do better on larger Copters with larger Copters with more complex noise
  • 1st harmonic can sometimes be larger than base frequency and vice-versa
  • Should have better peak tracking
  • Ascii art!
  • Modifies fast loop?
    • Too much CPU?
  • Self-implemented ring buffer code needs to go away
    • Semaphore issues

UTC1104 -

  • Minimise features problem fixed
  • Naming issues
  • Have an enable parameter
  • Prearm check that if your rotation isn’t custom that your custom values must be zero
    • Not for the time being, only if people complain
  • 108 bytes of memory on every flight controller?
    • Custom matrix
  • Parameter descriptions should mention the requirement of having custom-rotation in orientation field
  • Custom orientation will apply to any compass that has the orientation set to custom
  • Only works for external compasses
    • We may have some issues with internal/external masks on some boards?

UTC1130 -

  • Double-harmonic-notch filters
  • Performance testing
    • CPU load numbers supplied
  • We’d like some comments on the functions noting how long the functions take to run
  • E.g. 427us on stm32 with

UTC1132 -

  • Plane compensate throttle for battery voltage
  • Implementation here might break the throttle slewrate code
  • PH to test some more

UTC1136 -

  • left/right swap
  • Merged

UTC1137 -

  • Change GPS to select worse one
  • Currently uses parameter
  • [9:38 AM] To Weekly devcall: I think this ought to be an RC option if anything
  • Noisy input?
  • Synthesised GPS receiver which supplies noise?
  • Use companion computer and mavlink GPS
  • Fakegps in MAVProxy
  • GPS autoswitch 4 is already pretty horrible
  • Current GPS option doesn’t work?
    • It actually should…
  • [9:44 AM] (Channel) MdB: I’m not thrilled with the param honestly, but I wanted to have the discussion here if others want it
  • What’s wrong with the RC switch?
  • Many places are asking for stuff from the GPS object without checking its status
  • ADSB case is probably OK as it is sending the fix type
    • Maybe “certified GPS” stuff in ADSB?
    • [9:48 AM] (Channel) MdB: ADS-B is highly tighed to TSO’d units in places…
    • [9:48 AM] (Channel) MdB: Which sometimes you can connect to ArduPilot
  • Landing code?
    • GPS in the slope?
  • Advanced failsafe
  • Camera feedback
  • When would you take GPS rather than GPS?
    • Crashed vehicle?
    • Ublox gives last position if fixtype is none?
  • Arduplane attitude
    • Reset yaw/pitch/roll controller
  • Systemically kill better than RC switch?
  • Tom can get away with current functionality
  • Tom will create an issue to collect places we’re using gps directly when we shouldn’t

UTC1150 -

  • Merged!
  • Moving solo gimbal logging around

UTC1156 -

  • Commit message needs fixing
  • Two-factor authentication on github can lead to real usability problems in terms of pushing over other’s branches
  • Any disadvantage to pushing directly to master and then closing the PR?
    • Yes, you lose the link back to the PR in the commits interface on github

UTC1156 -

  • Fix specified declination issue
  • Looking at replacing table with full model
    • Matters near polls
    • Declination changes very rapidly
      • Strength and inclination don’t
      • 360 change if you do laps around the polls
    • Spherical harmonic model of the Earth
    • 2 or 3k worth of data + flash space for maths
    • Fortran -> C in late 70s
    • [10:06 AM] (Channel) MdB: Peter: yeah the whole thing is just mathhhsssss :smiley:
  • May impact those who have added a bogus declination to their vehicle

UTC0008 -

  • Need to be able to check with math check indices
  • Tridge and Randy will look at

UTC0011 -

  • Peter still to look at

UTC0011 -

  • If always-use-ekf then get-position doesn’t fall back to DCM
  • Fix for vision position jumping back to home
  • Randy thinks this is safe as it moves us back to July 2019
  • Won’t show up on map until EKF starts to use GPS?
    • No, it returns GPS
    • False but returns location
  • Not initialising location fixed mid-week
  • get_location/get_position doesn’t seem quite right

UTC0021 -

  • Uartb is serial3
  • This gets rid of the uart-order definition
  • You specify the SERIAL_ORDER instead with the positional arguments
  • Setting stm32 PLLs is confusing and hard
    • Doing it centrally instead
      • Off the CPU type / oscillator frequency
  • -Werror
    • Didn’t want any #define overridden by any other #define
    • Wanted to use the warning you get when redefinining a macro to generate an error
    • No pragma for just turning that one warning
  • All stm32 builds with no warnings
    • The scripting ones are the most intrusive
  • Turning on Werror in CI?
    • Existing PRs will break the tree
      • Any that have introduced a warning
    • Compiler-specific
      • Whitelisted compilers
    • MdB and Peter think on-by-default
      • Peter thinks whitelisted compilers
  • No zero-warnings in SITL ATM
    • Standard linux includes have warnings in string libraries
  • Adding werror as defaults will come in in a later PR

UTC0032 -

  • Already fixed

UTC0032 -

  • Already fixed / subsumed

UTC0033 -

  • Small optimisation
  • General case is rotation-none
    • So save a bit of time and code space
  • Get rid of the mag-board-orientation entirely?
    • Bebop / earlebrain etc etc?
      • Probably bugs
  • merged!

UTC0033 -

  • AP_AHRS for sub
  • Sub guys happy?
  • Yep!
  • Merged

UTC0038 -

  • Originally from Kelly
    • MdB fixed things up
  • Flown on real vehicle
  • Copter stable backport?
    • Up to Randy

UTC0040 -

  • Update SITL model dynamics
  • From actual data
  • Existing lag filter on servos is bad
  • Should we use Bill’s new model everywhere?
  • More data coming in which might help us to make the servo lag better
    • Under-load and not coming
  • Merged!
  • Useful for autotune for Copters
    • Doesn’t work well in realflight, even for multis

UTC0046 -

  • Generate internal error for invalid rotation
  • Have a table in AP_InternalError to give you the string for the error

UTC0053 -

  • Layering violation by getting orientation from vehicle?
    • Already doing that…
  • Merged!
  • Won’t be able to set up mismatching AHRS orientations at the moment

UTC0057 -

  • AP_NaveEKF3: add support for external navigation
  • Paul will review this tomorrow
  • Math-check-indices option
  • Want to eliminate the indexes as much as possible
    • Arrays of different lengths make things problematic
      • [11:01 AM] (Channel) AndrewTridgell: P[7][7] = P[8][8] = sq(extNavDataDelayed.posErr);
  • Position error and angle error
    • TODO list to use the covariances

UTC0103 -

  • Merged
  • May need to apologise to people if we’ve broken Morse or Webots or whatever

UTC0110 -

  • Lock out control surfaces?
  • Script could still take control by resetting parameters…
  • Maybe stop babying people with scripts too much. More than enough rope!

UC0014 -

  • Peter still to look at. Again

UTC0015 -

  • What should we do if we detect a stack overflow in flight?
  • Watchdog message should specify thread
  • Option bit to add watchdog reset?
  • MdB: I think we need to know what actually happens on chSysHalt() at a minimum…
  • Tridge will work on that today

UTC0020 -

  • Lucas will be reviewing it tomorrow

UTC0023 - system stuff

  • Tridge is currently looking at performance stuff
  • Intricate thing
  • Difference between Mutexes and binary semaphores
  • Binary semaphores don’t do priority inheritance
    • Can get a high-priority thread locked up on a low-priority thread who holds a binary semaphore
  • Mutexes don’t work well in interrupt context
  • Contention on DMA threads is one of the major things stopping us from moving to higher loop rates
  • Tridge would love to brainstorm this stuff with people

UTC0026 -

  • Not much happening with Plane

UTC0026 -

  • Not much happening with Rover

UTC0027 - close

1 Like