Dev Call March 2, 2020

Issues & Pull Requests




1 Like

Attendee count (max): 20

UTC1102 - random PRs merged

UTC1116 -

  • Use c preprocessor to use block libraries out from scripting?
  • MdB would prefer to do it in scripting itself
  • Allows definition of motors matrix from scripting
  • Scripting would preclude the ability to compile out a feature without this
  • MdB doesn’t like fragmenting features with the defines
    • It can cause issues for people who actually use it
      • E.g. booting faster has previously caused gps firmware loading issues due to initialisation races
    • New and interesting failure modes which others can’t reproduce
    • Tridge We have a 1000 parameters which modify our behaviour
      • Enable parameters at zero is essentially the same as disabling things?
        • It changes the compilation layout…
  • Support load comes from massive number of parameters we have
  • Compiling features out reduces the number of parameters so the firmware is simpler
  • SmartRTL is an example
    • Company complained about getting SmartRTL buffer overflow
      • Keeps the buffer in case you switch to SmartRTL later
      • [10:24 AM] To Weekly devcall: Isn’t there a parameter for the buffer size?
      • [10:24 AM] (Channel) MdB: peter yeah :stuck_out_tongue:
      • [10:25 AM] To Weekly devcall: So if it is zero we shouldn’t bitch about it being full, I’d guess.
  • Piping out to gcc?
  • To get Mark’s patch in we’d need to generation-per-build
  • Use stubs instead?
  • Vector3f - scripting can make and manipulate and pass them in/out
    • To make it optional we couldn’t just comment out the creation of that function as all referencers need to be fixed
  • Concept:
    • Put special case in for the time being
    • Teach generator to add the ifdef programatically?
    • Strcmp motorsmatrix in generator?
      • Add singleton ap motors vehicle copter plane or vice-verse for a blacklist
        • Emit a #ifdef APM_Vehicle() conditional compilation into generated code
    • Compiling out a feature would break scripts?
  • Perhaps something more general in the generator
    • Some sort of an expression in the singleton table?
      • Literally copied?
  • We often have an enable (e.g. HAL_ENABLE_BLHELI)
    • Make singletons depend on those?
  • MdB will help out on Wednesday.

UTC1136 - defines.h and config.h

  • Use hwdef.dat?
    • Doesn’t work on Linux!
    • Linux.h has the equivalent
      • Ifdef per vehicle type
  • Want to move AP_Stats up to base class
  • AP_HAL/Boards/Linux.h
    • Not Copter vs Plane, ‘though
  • Want to be able to move AP_Stats up to AP_Vehicle

UTC1145 -

  • Fix compilation of toymode
  • Rename T constants to include TOYMODE
  • Can then be merged

UTC1150 -

  • merged!

UTC1150 -

  • Posxy
  • Can be merged once it is tested
  • The …. Comment has to go

UTC0003 -

  • Add a priority column?
  • Navigation has to happen after GPS updates for example
  • When should this sort of patch go in?
    • Need a pace for the small structural improvements
  • Parameter reset issue is soaking a huge amount of time
  • Clock performance
  • Put this one on hold for the time being

UTC0023 - Clock drift on CPUs

  • Really long logfiles with fixes for different boards would be good to get to MdB
  • Not sure if it is crappy clocks or us misconfiguring
  • We really should know what the cause is
  • Drifting at the AP_HAL::micros() level?
  • Maybe there are some stm32 registers we can poke?
  • Get relative drift from two boards at same time without GPS by connecting both
    • External reference is good

UTC0034 -

  • Send text to users when calibration is bounced
  • Arming was disabled
  • merged!

UTC0035 -

UTC0043 -

  • Several more days of effort required around this work
  • Tridge is actively working in the area

UTC0050 -

  • More testing required
  • Several comments still to be addresses
  • Logging is done out in ekf3 library
    • Should be done in the gsf library instead would be better
  • Backport to EKF2?
    • Relies on time alignment of data from the EKF
    • Would need to do its own alignment to be usable from EK2.
  • Some cases where EK3 performs much worse than EK2 in master
  • Need Replay working again
  • Generic delay buffer?
    • Make this the relay buffer?
    • Isolate EK2/EK3 from reset of ArduPilot and it has to go via a shim layer
      • The shim layer does the logging
      • Maybe a GSoC project?
    • Different namespace rather than AP::?
      • So Replay::baro()?!
  • EK3 is used in high-end vehicles
    • So we really do need to get to the mag issue

UTC0103 -

  • Make devices optional
  • A bunch of #defines
  • Inside rangefinder
  • So turn rangefinder backends off individually
  • Broken in CI
  • Supposed to be NFC
  • Not enough benefit
  • Granularity of ifdefs too great; no appetite for this sort of change

UTC0105 -

  • Spend time solving fundamental issues we have
  • Not going to merge this one as is

UTC0112 - plane takeoff

  • Comment added
    • Henry will have a go at a PR for it

UTC0119 -

  • Syntax change required

UTC0120 -

  • Keeping button or killing it?
  • Tridge thinks we should keep it for scripting
  • Basic debouncing

UTC0120 -

  • Incorrect fix; we should be trying to get rid of these entries

UTC0129 - Copter issues

UTC0132 - Plane issues

  • Plane beta RSN

UTC0132 - close

1 Like