Dev Call July 19, 2021

Issues & Pull Requests
















Plane

Copter

Rover

GSOC

Attendee count (max): 15

UTC2300 - https://github.com/ArduPilot/pymavlink/pull/568

  • Fix pymavlink’s interpretation of garbage strings
  • Not ready for merge yet, needs debug removed
  • Should never, ever throw an exception
  • Should always return something
    • That’s what the XXX thing is for
  • Does the best it can
  • Need a specific example
    • What input, what output?
    • Device name of smart batteries
  • Many silent exceptions
  • “Try something until it sticks”
  • Mavlogdump and/or the status command in MAVProxy
  • We have a function in pymavlink to chop a string at the first zero byte
  • Annotation that something is a null-terminated string in the XML?
  • This should have worked with whatever input passed in
  • Null-term
  • This function could almost certainly be improved

UTC2312 - https://github.com/ArduPilot/ardupilot/pull/17668

  • Add interpolated motors matrix backend
  • Comment is now wrong - no longer the 1D case
  • This is the fully-dynamic one
  • Risks to existing users?
    • Not really
  • Flash cost?!
    • Zero on 405
    • 2kB
  • Cant of each of the motors could be set
  • 6dof-dynamic is coming sometime!
  • Merged!

UTC2320 - https://github.com/ArduPilot/ardupilot/pull/17820

  • I2c addresses for batteries
  • I2c buses into a variable pointer subgroup
    • And analog stuff
    • Different class backends for different options
    • I2c hidden from analogue etc
  • Parameter conversion was interesting
    • It has been tested for both analogue and i2c bus in SITL
    • Needs to be tested across multiple vehicles
    • Different levels of nesting might a problem across different vehicles
    • G2 is one level below g
    • We can now go beyond 256 at the top level (to 512)
    • Could also have gone into a separate table
    • If AP_BatteryMontitor is a different levels in different vehicles then this will break
    • Valgrind!
  • Flash cost is actually minimal
    • Hundred of bytes
  • How to make sure this only happens one time?
  • Tridge is a bit worried we might hit some time issues
    • Probably not a significant part of our boot times
    • Should measure to be sure

UTC2346 - https://github.com/ArduPilot/ardupilot/pull/18004

  • Backs up auto state before entering mission RTL
  • Just auto with a different name on it
  • When you exit it will restore auto’s state….
  • Currently using a new structure but could be done with two instances
  • Last waypoint number might be sufficient to do this
  • Lot less flash if we just have an if
  • Rejig things as “when you failsafe you go to auto”
  • Rtl-on-a-switch?
    • New switch “do-land-start” switch
  • How about the mode switch?
    • It isn’t really a mode?
    • Make it one….
    • New class which uses the auto object?
  • Mis_change_detect is wasting flash

UTC0009 - https://github.com/ArduPilot/ardupilot/pull/18009

  • ADIS first if it has one
  • 4288 second
  • Then the others
  • Users will need to redo accel cals
  • Can be merged so long as a recal is forced

UTC0013 - https://github.com/ArduPilot/ardupilot/pull/18014

  • Move mode-init and run methods to mode classes
  • Saves flash
  • What happens if you don’t get here when not initialised?
    • Its the same as before
  • Good time in the development cycle to put this sort of thing in
  • PH will make this two PRs, one changing namespaces, another moving code

UTC0028 - https://github.com/ArduPilot/ardupilot/pull/18015

  • Making a tailsitter class
  • Tailsitter_enable is nice
  • Needs a rebase
  • Random quadplane change?
  • Cannot be both tailsitter and tiltrotor error message to long

UTC0037 - https://github.com/ArduPilot/ardupilot/pull/18018

  • BRD_PWM_COUNT is a pain
  • So get rid of it
  • How do we do parameter conversion on this?
    • Current parameter system is self-contadictory
    • 54 for relay pin
    • Brd_pwm_count of 8
    • Two uses for same pin….
      • People relying on default values will have problems with this PR
      • -2 also for disable?
      • Are we willing to wear parameter breakage for this conversion?
      • Param diff will show changes required
      • Servo function will need to be gpio
      • Base parameter conversion off things like RPM_TYPE
      • Gpio by default?
        • Mission scripts might be broken
          • Servo 7 to 1200
    • Was being treated as a mask in the places it was being used….
      • If you have RPM but don’t have a pin assigned then you have a prearm failure?
    • Prearm check would seem to be nice
      • Things like parachutes we want to be configured correctly
  • Pin registry would be nice……
    • So you have to check a pin out
  • cts/rts still a bit messy
  • Tridge will bring this back with some pre-arm checks

UTC0056 - https://github.com/ArduPilot/ardupilot/pull/18038

  • Allow alt frames to be set
  • This seems to change the parameter
  • Need to change interpretation
  • Generally we don’t change parameters from underneath users
  • Probably only a few places that consume the variable
  • Change things so the interface specifies the frame the value comes back in
  • Changes recommended

UTC0109 - https://github.com/ArduPilot/ardupilot/pull/18021

  • Allow yaw at zero throttle
  • Now with velocity check
  • Thanks for this
  • Merged

UTC0110 - https://github.com/ArduPilot/ardupilot/issues/15941

  • Plane updates

  • Lots of updates from Paul

  • Expo parameters!

    • https://github.com/ArduPilot/ardupilot/pull/18043
    • Ranges?
      • Henry wants 0 to 100
    • Zero to 1?
    • Users really want percentages
    • Leonard used full expo range for the maths
      • -0.5 to 1
    • Square or cube functions
    • Function being used is Expo_curve and is a cube function
    • What use is a negative value?
      • Steeper near zero stick
      • Why is this a good idea?
        • Probably not for pilot input
        • More resolution at outer end
      • Currenlty constrained 0 to 10
    • Mimics behaviour of OpenTX
    • Should we default to having a bit?
      • 15% or 20%?
    • MOT_EXPO can use the negative expo
      • Brushed motors
    • [11:19 AM] MichelleR: For interest, Betaflight seems to use the decimal version.

UTC0123 - https://github.com/ArduPilot/ardupilot/issues/17116

  • Terrain following issues being fixed in auto
    • Scurve terrain following wasn’t great
  • Bendy-ruler was rather rough
    • Fixed with position controller changes
    • Vehicle flies much faster while doing avoidance
    • You now get what you asked for…
  • Copter issues list
    • Pos.lat and pos.lng oscillating
    • May be switching between GPS and its own estimates….
    • Good! replay log!
  • Main loop stuck when doing motor test
  • Matek slim compass unhealthy when can baro enabled
    • Longer bootup period when CAN enabled?
    • Losing CAN frames?
    • No log yet….

UTC0140 - https://github.com/ArduPilot/ardupilot/issues/17116

  • Serial improvements did fix gps for yaw
    • Make yaw a separate property from GPS has been requested by Paul
      • Different timestamp
        • 4.1 or 4.2?
    • Getting unhealthy messages
      • Maybe one to document?

UTC0140 - GSoC update

  • Will has made some progress on the custom build server
    • Still work on configuration and directory structure
    • Next steps worked out
    • Sadly out for next two weeks
    • Should get a lot done in last two, ‘though
  • Arsh’s build issues have been sorted
    • ROS2 issues still outstanding
    • Custom serial protocol required on both AP and dds2 sides
  • Only two evaluations in this GSoC

00146 - close