Dev Call Aug 6, 2018 2300 UTC

Issues & Pull Requests

GSOC

  • Update

Funding & Marketing

  • Update

Plane

Copter

Rover

Attendee count (max): 22

UTC2301 - https://github.com/ArduPilot/ardupilot/pull/9131

  • Discussion of whether it is new-release-worthy
    • By static analysis
    • Probably only get channels vs channels-raw
  • Worth running through all coverity report before releases go out

UTC2311 - timing issues - and threading discussions

  • Simple patch
  • 1Hz overruns
  • AP_Stats
    • Set_and_save
    • Assumed you would get a time source
      • GPS or ground station
    • Would always set-and-save 5 parameters when no time source present
    • Changed to set-and-save-ifchanged
  • Saving parameters takes a surprising amount of time and tends to happen in main thread
    • Good idea to save parameters in different thread
    • Patch to save parameters on IO thread
      • Simple enough
      • But sending notification to GCS on parameter change is problematic
      • So patch also makes send_text thread-safe
      • Uarts were already thread-safe on everything but Linux
        • Made mavlink_send itself thread-safe
        • Mutex on each channel
        • Grabs on start of send and releases at end of send
      • Can now send mavlink messages from multiple threads
      • Send_statustext needed additional mutex because of the shared buffer
    • Looking to use threads more and more
    • Next big step is to move main gcs handling into separate thread
      • Lots of mutexing on key accessors on library
        • Also required for lua
    • [9:19 AM] To Weekly devcall: We can choose not to go whole-hog and do the mavlink parsing in a separate thread and have a queue of mavlink_message_ts for the main thread to handle.
    • [9:20 AM] To Weekly devcall: Doing so in a memory-efficient-manner could be interesting.
    • Limiting factor on main loop rate in Copter is the GCS stuff
      • Would allow the mavlink code to be simpler
      • Gcs would be removed from scheduling table
    • [9:22 AM] To Weekly devcall: Maybe we should go the other way and move the flight stuff to a separate thread :slight_smile:
    • Pointer to an AP_HAL-semaphore
      • Can’t put a mutex in a static object
        • Because hal may not be initialised and able-to-allocate
    • Tridge is working on a new semaphore which can be available immediately at boot
  • [9:24 AM] (Channel) MdB: I’m not enthused on the mutexes… I think it’s going to get screwed up a lot…
  • [9:25 AM] (Channel) JC: if the goal is to just split mavlink out of the main loop, why not use a single global mutex to accomplish that?
  • [9:25 AM] (Channel) MdB: ^ that was the Lua approach
  • [9:25 AM] (Channel) MdB: Because the many mutex approach looked like it was going to be a massive patch set with real overhead + chances of people getting it wrong
  • Mutex simplification is coming
    • Declare a hal semaphore as a type
  • Scope-defined semaphores?
  • Longer-term thing

UTC2330 - https://github.com/ArduPilot/ardupilot/pull/9119

  • Change get-enabled-fences to return empty set instead?

UTC2336 - https://github.com/ArduPilot/ardupilot/pull/9114

  • Also fixes problems with GCSs not sending through parameter updates
  • Esc calibration or not?
    • Default motor output range
    • Rc3 min/max if output channels are not configured
    • With a throttle-in value of 1100 people’s motors might start to spin
      • Change things so users have to set mot-pwm-min and max and use that
  • Change to only do min/max configured on throttle channel
  • Change esc calibration procedure to set min/max
  • One-time copy to populate min/max if values are zero
  • Will do esc calibration checks before merging this PR
    • Worried people’s motors will spin up
      • But most escs won’t unless they see a stop-value first
      • So we’ll merge

UTC2345 - CPU and CAN?

  • Francisco’s reduce-CPU patches don’t work on newer ChibiOS
    • 200fps vs 400fps on older ChibiOS
  • Not relevant for current stable releases
  • Tridge will be looking at 2 CAN PRs soon

UTC2347 - https://github.com/ArduPilot/ardupilot/pull/9012

  • Corrections for confusing nav-controller-output
  • Altitude-error in particular
  • Merged!

UTC2349 - https://github.com/ArduPilot/ardupilot/pull/8999

  • Using battery status as sole indicator of battery voltage
  • Split voltage between cells
    • Where battery doesn’t give cell voltages
  • Merged
  • So now you get voltage on GCS even when battery backend doesn’t give cell voltages

UTC2352 - https://github.com/ArduPilot/ardupilot/pull/8987

  • Skipped because nobody bit tridge on devcall who can sensibly discuss it
  • And the other CAN ticket

UTC2354 - get GPS lag from driver

UTC2355 - https://github.com/ArduPilot/ardupilot/pull/7970

  • Jonathon and AP_Compass
  • Time for this to go in now!
  • FF had issues with an if statement.
    • Tridge isn’t sure and thinks it is harmless
  • Merged!
  • Set-and-save required

UTC0000 - https://github.com/ArduPilot/ardupilot/issues/5988

  • Revive slew-rate limiting as an option
  • Waiting on Leonard?
    • assigned….
  • Unless Jon wanted to resurrect his code
    • Probably not
  • Ping Leonard

UTC0003 - GSoC

  • Randy’s playing with his BalanceBot with Ebin

    • It stands up
    • Some missing control
      • Maybe a velocity feedforward
    • Trouble moving forward
  • Maybe angular controller is doing all the work

    • If it wants to move forward then the i term has to build up to move it forward
      • Too much pressure on PID
    • Basic wheel-speed should be speed of vehicle
    • Needs feed-forward
    • In apm control library
      • Rather than velocity controller?
  • People need to test Arnav’s dynamic video resolution

UTC0010 - marketing and funding?

  • Updating partner’s mailing list
    • Taking out non-renewing partners
    • Adding new partners
  • Funding request coming for interdrone
  • Partner’s call 22 hours from now
  • ardupilot-funding@googlegroups.com

UTC0012 - Plane update

  • New plane stable is out!
    • 3.9.0
    • Check coverity before release!!
    • Half-a-dozen patches for 3.9.1 already
      • Zero bad frames on d-shot
      • Blheli enumeration and configuration very, very reliable
        • Slow-spinup on motors
        • Corrupt d-shot frame interpreted as multishot
      • New tone-alarm code
      • DMA heap-reserve omnibus patch
    • Next day or two for 3.9.1
  • QGC flashing is broken
  • Want a dropdown for firmware selection in MP
    • Three different firmware for Cube Black e.g.
  • Two dropdowns?
    • One for board
    • One for which firmware
  • Tridge wants it easier to install from master branch

UTC0016 - Rover update

  • Working towards Rover 3.5
  • Not planning on more 3.4 releases

UTC0016 - Copter update

  • 3.6rc7 is out
    • Big release
    • Tridge has fixed a whole bunch of things
  • Boost function isn’t working?
  • Lightware LW/20 needs to poke the sensor to wake it up on a particular interface
  • Pixhack v5 issues
  • Tower not working?
    • vfr-hud-altitude change?
  • Nav-delay doesn’t work?
  • Bunch more
  • No d-shot on iomcu
    • Pixhawk mini issues
      • Fmuv3
    • Need auxiliary pins
  • Rc8 coming soon
  • Not planning enhancements for 3.6
  • MdB: @tridge: did you see my notes about RCProtocol stuff?