Dev Call June 18, 2018 2300 UTC

Issues & Pull Requests
image














Build Server

  • Adding more boards

GSOC

Conference

Plane

Copter

Rover

Attendee count (max): 25

UTC2301 - Record number of PRs to get through

  • Blame Peter

UTC2304 - Hardware flow control issues on ChibiOS

  • Floating CTS pin would cause a DMA channel to block
    • DMA channel shared with I2C
    • Could cause compass not to appear, or possibly fail in flight
  • Very important bugfix
  • New beta required for Copter and Plane and Rover
  • Waiting for Sid’s (or anybody else’s) review on the PR
  • More likely to happen if HW flow control is forced on
  • Amilcar has seen this on Rover
  • Lots of bench-testing
    • Forced conflicts between uart transmits by causing timeouts
  • Testing appreciated
  • https://github.com/ArduPilot/ardupilot/pull/8667

UTC2308 - Use CLOEXEC in more places

  • https://github.com/ArduPilot/ardupilot/pull/8599
    When combined with a pymavlink patch (ArduPilot/pymavlink#188), this allows the reboot command in SITL (and autotest, hopefully!) to work entirely.
  • Maybe not be needed in all places
  • Like here
  • Harmless
  • Further patches to make out behaviour uniform in the future
  • merged

UTC2315 - AP_AHRS: AP_AHRS_DCM: do not use home altitude if it is not set

UTC2325 - Add ability to send extended-sys-state message

  • https://github.com/ArduPilot/ardupilot/pull/8587
  • Provides additional info to gcs to aircraft status, e.g. plane if in transition
  • Requires careful review
  • When should say landing phase in VTOL
    • RTL Final descent vs landing
    • Randy considers final-descent as landing
  • Should add this to data stream?
    • GCS should request message if handle it?
    • Could get it in without data stream
      • Not worried with bitrotting on this one
  • This can go in once message-intervals is in

UTC2334 - AP_BattMonitor: support ESC telemetry for virtual battery

  • https://github.com/ArduPilot/ardupilot/pull/8539
  • Allows BLHeli ESC’s to report info to Ardupilot to replace Battery Monitor (ie: voltage, current)
  • Tridge thinks the code is OK
  • MdB thinks there’s an existing bug in the code
  • Review dismissed and PR merged!

UTC2336 - Copter: change default streamrate for ADSB from 5 to 0

  • https://github.com/ArduPilot/ardupilot/pull/8535
  • Ping devices - one is passive one is active
  • Tom agrees with the pull request
  • If this is merged as-is some users will see regressions as if a GCS is relying on DATA_STREAM_ALL to set the stream rate it will fail
    • Existing bug related to ADSB stream
  • Can’t find adsb stream rate in Mission Planner
  • Put on ice for now

UTC2349 - RFC - AP_UAVCAN: add redundancy feature to mute outputs

  • https://github.com/ArduPilot/ardupilot/pull/8531
  • What is this trying to solve?
    • What types of failures is this trying to cope with?
    • What failure modes does it introduce?
    • If a CPU crashes, the other CPU should pop up and start sending outputs ¼ of a second later
    • How do ESCs behave if you stop sending them messages for a little while?
      • Some will go to their uninitialised state
        • And then need to see 0% throttle before they will accept anything higher than that
          • Meaning your vehicle would still crash…
    • Autopilot on stm32 and on Linux?
      • If you reboot Linux then the stm32 takes control…
    • Two autopilots trying to fly the vehicle at the same time
      • Crash checks would trigger if the non-actually-flying autopilot wasn’t in complete agreement with the primary
        • Also integrator wind-up
    • NE: The second flight controller could be merely a loiter controller on a completely separate radio system.
  • Is there any scenario in which this patch set would save a vehicle?
    • Additional patches would be required to make AP aware that it was a backup so it didn’t do crash checks and the like
    • This is a CAN-layer thing, rest of flight code is not currently aware
    • NE: Should you focus on CAN ESC’s, or PWM ESC’s? I would initially propose PWM ESC’s because there are so many of them.
    • Tridge thinks we should do things up at the vehicle level
    • We need a google doc to design this
      • This PR is acting as a great conversation-starter, but…
    • Some sort of AP_Redundancy
      • Some hooks in the flight code for it
      • [10:03 AM] (Channel) MdB: param sync + tuning could bite you hard on that one :stuck_out_tongue:
      • [10:03 AM] (Channel) MdB: (ensuring the secondary control is armed/ready is an issue)
      • Mavlink packet that can go over CAN?
      • A pin?
      • [10:04 AM] To Weekly devcall: pilot-monitoring may be a better idea, 'though.
      • Rover might be a good place to start with this
    • F103 doesn’t have sensors on it on PixHawk
    • Two F4s and two F7s on a single board?
      • Sensors, power buses etc etc needed
        • And they need to be redundant or you’re missing the point
    • Two boards may give you redundancy. One board will not
    • https://youtu.be/OAR8plnN_10?t=167
    • Two processors fighting over vehicle
      • Watchdog processor to switch?
      • STONITH?
  • PR will be closed

UTC0010 - MAVLink-over-CAN virtual serial port

  • https://github.com/ArduPilot/ardupilot/pull/8508
  • Very cool
  • Why the high message loss?
    • Tom found some odd stuff
      • But hasn’t got to a root cause
  • Tridge and Tom to work together on this
    • Eventually
    • Tridge might work on this if Tom’s availability doesn’t allow for it
    • Tridge will do the rebase
  • [10:12 AM] To Weekly devcall: @tridge could you ensure dataflash logging is running when doing your tests, please?
  • [10:12 AM] To Weekly devcall: JC reported that CAN seemed to be interfering with dataflash logging.

UTC0015 - Github: update issue templates

  • https://github.com/ArduPilot/ardupilot/pull/8475
  • Github issue templates
  • New github feature
  • Checkbox mechanism
    • Used to have it but it was more confusing than anything else
  • Added four lines at top saying people should remove stuff
  • General agreement this should go in
  • merged!

UTC0019 - Create and use a check-failed function

UTC0037 - Use function pointers to send IMU messagesCreate and use a check-failed function

UTC0045 - Move mavlink reboot up to base class

UTC0050 - Force arm

UTC0058 - libuavcan

  • If we bring this one in we are not diverged from upstream
  • https://github.com/UAVCAN/libuavcan/pull/130
  • If we merge this then there’s no reason to fork in the short term
  • These commits still have to pass via Pavel, but he seems positive about it
  • This needs to be tested a little more before getting merged in
  • There was a lot of copy-pasta but Tom’s been trying to fix that
  • Not tested by Tom yet
    • Needs to be tested before being merged
    • This is merging our changes into UAVcan
      • We are already running with them
        • These patches are for upstream
  • There doesn’t seem to be any downside to pushing ahead with this PR

UTC0102 - build server and adding more boards

  • Peter ran tests 2.5 hours for current
  • 3 times that time for all builds
  • Current built scripts not optimized
  • Good reason for us to think about optimizing
  • J: Do we want to charge people for a service to produce binaries for boards automatically on our servers?
    • J: Sell to the hardware vendors?
    • Tridge is not in favour
      • Community boards / hobbyists
      • Wants PRs against master
        • This is our normal flow and ensures quality is maintained
  • Compiler flag modifications might make ccache work much more effectively
    • And relative paths and debug options when not needed
    • Maybe a factor of 4 or 5
  • [11:11 AM] (Channel) JP: There’s a difference between firmware builds and embedding parameters for rtf’s etc. I think we should build as much as we have resources for. The apj tool for custom firmware defaults might be a better area to look at for the”services” idea, if we want to go down that path (personally I’m not a fan, but done carefully wouldn’t oppose).
  • J: User accounts where people can put their own hardware definitions up and have our servers build binaries?
    • Tridge would prefer them PR against master
  • Resolution: will not produce all boards as not all of them work and the time-cost is too high

UTC0113 - China conference

  • Moving along nicely
  • Arranging face-to-face meetings between devs and partners
  • Randy and Leonard and Tom and Jani will be speaking

UTC0122 - Rover with Randy

  • 3.4rc1 is out there
    • Being tested
    • Won’t make it out as-is as vehicle doesn’t slow down for corners as much as it used to
      • Needs to be at least as conservative as it was

UTC0122 - Copter with Randy

  • 3.6rc2 is out there
  • Will need at least an rc3 because of the ChibiOS i2c issues
  • 2D occupancy grid is moving along!
    • Focussing this on Rover ATM

UTC0124 - Plane with tridge

  • Due for new beta due to sensor issue
  • Wants landing gear in too

UTC0126 - best contribution

  • Won by both sh83 and chobitsfan
    • Funding team will be arranging payment, as usual.

UTC0128 - random