Dev Call Mar 26, 2018 2300 UTC

Issues & PRs




GSoC

  • Today is final day for student applications
  • We have 39 proposals so far which is getting close to last year’s 52.
  • We have given feedback on about 32 so a few more to review today.

Plane

Copter

  • BL Heli Pass through
  • move Loiter to separate library
  • Beta testing to start next week

Rover

Attendee count (max): 21

UTC2301 - https://github.com/ArduPilot/ardupilot/issues/7985

  • Safety switch is always active
    • Even if you “disable” it
    • BRD_SAFETY_ENABLE just changes initial state
      • Essentially button gets “pressed” at boot
      • If you still have one plugged in then you can enable/disable it with the switch
        • Aircraft disarming in sky due to hardware failure
  • Add new parameter?
  • MdB: You will be making a decent amount of changes in the PX4 IO firmware btw for this
  • [10:03 AM] (Channel) MdB: the button is connected to io firmware
  • [10:03 AM] To Weekly devcall: Maybe do it after the ChibiOS IO firmware is ready?
  • [10:04 AM] (Channel) MdB: peter and I had discussed at the unconf a version of the switch that is inverted state as well (as far as arming checks are concerned)
  • Relying on heuristics for your safety button is problematic
  • “Single use” button
    • Once active you can’t deactivate
    • MdB: it breaks a lot for what I do…
    • [10:06 AM] (Channel) MdB: Does not survive my flight regime
  • Base things on armed/disarmed?
    • Have to disarm before toggling button
    • Removes ability to disarm crashed aircraft
  • Safety switch should work regardless of other external inputs to vehicle
  • MdB: the inadvertent one breaks the other one at the moment
  • MdB: we can’t get is flying to that level
  • Rule: safety button should be predictable… not heuristics
    • MdB: IO firmware also has no clue what is_flying really is…
  • More values for enum
    • An option to not take vehicle to safe state when vehicle is armed
  • It’s scary how easy it is to get a false positive on these safety switches
    • No such thing as a “good enough switch”
      • Really smart safety switches from industry?
  • TP: Once, I had a bird attack my Skywalker X8 and PRESS THE DAMN POWER SWITCH off
  • Floating input?
    • It is pulled up
    • But how much pinning is enough?
    • Is it dangerous as is?
      • Pull it to 3.3V if you want to!
  • MdB: the disable parameter should just mean we ignore the pin, but we don’t
  • Couple of changes
    • BRD_SAFETY_ENABLE set to 0 should mean disabled entirely
    • Another enum value which says it can’t move to outputs disabled when armed
  • MdB: GCS’s can also actuate the button. That should probably be brought forward on the GCS side
  • MdB: Can we have another enum to invert the arming check
    • Can only arm when safety enabled
    • Would need to poll the switch
    • Could actually use a non-momentary switch instead of a button!
  • Do we change the existing behaviour of value 0
    • Or add another parameter?
    • This was just a lazy way of getting the behaviour
    • Answer: yes
      • We can add existing behaviour as a new enum value
  • How about fmuv4?
    • Not a hardware safety switch in that there’s no IO board

UTC2324 - https://github.com/ArduPilot/ardupilot/issues/5275

  • We decided we’d add a bitmask parameter
    • It was added to the issue
  • Tridge has way too many issues assigned to hom

UTC2327 - https://github.com/ArduPilot/ardupilot/pull/7980

  • Just an announcement to trigger Copter release proposal
    • Want to get battery failsafe
      • Motor compensation on QuadPlanes works now
    • Want to get external position stuff in
    • Move loiter to a separate library
    • Rename from wpnav to LOIT
    • Five-point heli curve

UTC2330 - GSoC

  • Final day of student proposal submissions
  • Late on the 27th UTC
    • Maybe 12 hours left
  • 40 proposals so far
    • Big rush right at end
    • Some really good ones
  • 2 weeks to review proposals
    • April 9th?
  • Then we find out how many slots we get
  • Someone needs to add MdB so he can

UTC2333 - tridge and d-shot

  • Pass-through works!
  • You can flash escs after you plug in USB
  • More than one protocol on a uart
    • Auto-sensing protocols
    • Register new protocol on a uart
      • Actually on a mavlink channel
      • Function pointer for new protocol
      • Both protocols are parsed in parallel
        • Once a protocol receives a good packet it locks onto that protocolk
          • Until one doesn’t get a packet for 4 seconds
            • Then it goes back to parsing both protocols
      • Currently just one additional protocol ATM
        • But can be extended later
  • In pr-chibios branch
    • Several people have now tested it successfully on various blheli ECSs
  • Parameters to control all of this
    • SERVO_BLH_*
  • Should do nothing until activated
  • Only works on comm0 ATM (USB)
    • [10:38 AM] To Weekly devcall: radio packets are going to screw things up a little :slight_smile:
  • KISS do d-shot but don’t do blheli protocol
  • MOT_PWM_TYPE to 4,5,6 or 7 for d-shot
    • And SRVO_BL_AUTO to 1 to enable pass-through
  • Act of probing an ESC could damage normal servos
    • 19,200 serial stream into a servo is going to lead to unpredictable results and/or damage
    • So be careful with your mask
  • Blheli but no d-shot?
    • Yes, older ESCs
  • D-short is a one-way protocol
    • Bit to say send telem
      • But telem is sent on a different wire
  • Blheli is bi-directional
  • Choice of protocol used is dependant on wire length
    • Short wires allow high frequency
  • MdB: I feel like BLH_AUTO/BLH_MASK can probably be collapsed, but asks users to actually read docs…
    • Too difficult
    • Can only use auxiliaries on the Cube
    • Confusing for users having to to bitshifts
  • Tridge wants to know if it doesn’t work with your blheli ESC!
    • Timeouts need tweaking
  • Blheli suite changes depending on the ESCs…
  • Reboots may be required
  • Tridge will be looking at KISS ESCs next
  • 8kHz PID rates?
    • D-shot supports 32kHz output
    • So 400Hz is a little slow…
  • to abuse it? :slight_smile:
  • [10:54 AM] (Channel) MdB: We need MAVLink stuff to send telemetry back to the GCS
  • [10:54 AM] (Channel) MdB: that’s what I really really want to see :slight_smile:
  • [10:54 AM] (Channel) MdB: ESC status on the GCS
  • [10:54 AM] (Channel) MdB: skipping ESC range cal fixes a lot :slight_smile:
  • [10:55 AM] (Channel) MdB: a massive amount and gets you out of a reboot :slight_smile:
  • This stuff is serial read/serial write
    • So is applicable to other 1-wire protocols
  • Interleaved DMA is awesome
    • Four different LED strips on four different strips doing four different patterns with one DMA engine

UTC2359 - scripting?

  • Overhead building up when pushing to own thread
    • Moving data between the two is getting expensive

UTC2359 - New partner - IR-Lock

  • Already on partner’s page
  • Welcome!
  • Blog post coming

UTC0002 - New developers

  • Adding lots of little issues
  • With well-fleshed-out descriptions
  • For lower-level development
    • A list of hw tools
      • E.g. dronecode probe?
        • Clone stlink adaptors seem better?
          • And better than the original
    • Need to know what cabling
    • E.g. cable for the cube with the debugging got the st-link adaptor
      • SUR cables?
      • Soldering required

UTC0004 - nsh prompt equivalent for ChibiOS?

  • No SD card == boots anyway
    • [11:09 AM] (Channel) MdB: YAY
    • [11:09 AM] (Channel) MdB: THANK YOU
    • [11:09 AM] (Channel) MdB: THAT FEATURE IS ANNOYING
  • LUA console instead?
    • On any uart of we felt like it
  • Lighter-weight implementation of performance counters required for ChibiOS