Dev Call Dec 2 2019 2300 UTC

Issues & Pull Requests




1 Like

Attendee count (max): 22


  • rangefinder-on-ground thing - multiple rangefinders pointing down issue

UTC1103 -

  • Loop rate issue on BMI sensor
  • Andy to do measurements
  • Corrections are probably correct for this sensor
  • Tridge will dig for a board with this sensor on it

UTC1104 -

  • Count backends correctly
  • Should probably fix the Durandal (and Cube Orange) to only probe sensors it actually has
    • Overspecifies IMUs
  • This changes things to always probe but then delete
  • To do higher loop rates you may need to disable some IMUs
  • IMU mask is incorrect
    • Andy wanted to test the IMUs independently
      • Could have just used the parameters…
  • Better not to probe a potentially faulty IMU (as things currently do)
  • We use a different mechanism in Compass
    • Disable-by-type
  • Will change the probing to only probe sensors that are going to be present on the specific boards
  • Durandal hasn’t been converted to use the IMU specifier in the hwdef
    • Using generic fmuv5 probe
    • Need to change this to use the IMU specifier lines in the hwdef

UTC1111 -

  • Correct Omnibus Nano i2c timeout
    • Can’t be merged as-is
  • This could be a problem in the ST data sheet
    • Three typos previously
    • Symptoms are that the operation just fails
  • Tridge would like the debug output which should indicate which SPI periph is failing
    • Then look at which DMA channel was being used
      • Then try the other DMA channel
  • SPI4 isn’t used in the hwdef
    • User must be using a custom board or something to get errors on SPI4
      • Maybe trying to talk to a non-existent periph?
  • Check history of generated hwdef stuff to see tridge patching bugs derived from ST datasheets
  • Trige has one of these boards on the way

UTC1124 -

  • DMA on Kakute F7
  • Turns off DMA
  • Turns off uart7 tx?
    • Only an RX pin on that board
  • Weird why this happens
  • Tridge is worried this might hide a problem in our DMA code
  • This patch should have done nothing
    • [10:27 AM] (Channel) AndrewTridgell: // auto-generated DMA mapping from

    • // Note: The following peripherals can’t be resolved for DMA: [‘UART7_TX’, ‘UART7_RX’]

    • No DMA on that pin

  • Tridge will work with Andy to work out what’s going on

UTC1128 -

  • Generates motor peak based on the thrust from the throttle
    • For each motor
    • Skew when you’re yawing
  • Added fft code to Python to detect where motor peak is
  • Testing for dynamic notch filter
  • A few issues to go through
  • Would make for a great demo video
    • Walk-through to learn about this sort of filtering

UTC1136 -

  • Merged

UTC1137 -

  • This change will increase the cost of that queue
  • MdB likes the alternate way
    • Chunk / reassemble
    • Mavlink1 will get all the messages
    • Tridge: considerable more work for a GCS
    • fragment/reassembly allows you to have arbitrary length
    • MdB wants compiler errors to be sent
      • Maybe a “scripting_debug” message?
      • Was going to just send 5 statustexts
      • Message per specific message
  • Tridge wants to change to mavlink2 by default
    • Users with e.g. OSDs doing mavlink1 will need to change their parameters
  • 4500 extra bytes to have the longer queue
  • Extensions for reassembly
  • Use backslash instead of assembly
  • Latency on reassembly
  • Script compile?
    • Just do whatever goes into uart buffer?
    • Emit statustext2s?
  • Runtime errors too
  • Separate message for scripting could mean separating stack entries etc etc
  • Peter will implement the fragment-reassembly concept so we can see that

UTC1152 -

  • Needs to go into the next Copter
  • Arming in loiter without GPS can happen without locks
  • Shouldn’t loiter mode and poshold mode stop navigating instead?
  • EKF failsafe?
    • 2 axes would need to go bad
  • Flow sensor velocity but no position?
  • In 3.6 you weren’t able to do this
  • This covers the arming case but doesn’t cover the flying case
  • EKF failsafe too slow to trigger
  • EKF is saying “no position”
  • You need to disable the EKF failsafe to get a fly-away problem
  • Quadplane: falling back to DCM position means it winds up integrators because position has frozen and you wander off
    • Tridge has plans on fixing this
      • Vertical velocity estimate
      • Either not use inertialnav or have inertialnav check
  • We’re not checking a boolean return for something like get_position
  • Inertial nav library needs a boolean on it

UTC0004 -

  • SRTM database only to 60 degrees
    • Finland is above that
  • It gets tiles from the GCSs but those tiles are essentially flat
  • Maybe we didn’t download the data?
  • Somebody did reference a different source
  • Should we have our own composite database
  • MAVProxy gives a terrain height of zero if we don’t have a tile
  • The groundstations need fixing
    • No tile above 60N? Or below 54S? Fail rather than ocean tile
    • Existing users will still have bad tiles
  • QGC?
  • [11:12 AM] (Channel) JamesPattison: could switch to the JAXA dataset: that has the poles

UTC0010 -

UTC0015 -

  • Handle QGC command uploads
  • Peter will create a patch for this later today

UTC0019 -

  • Singletons are good
  • People are happy …

UTC0021 -

  • Patch needs some adjustment on the #endif

UTC0022 -

  • Add test that scripting initialisation has worked
  • Usually memory allocation issues
  • Randy will address MdB’s comments
  • Note that autopilot can reports lots of memory but you fail anyway
    • Scripting wants contiguous
    • Some F4 boards have CCM and main memory
    • MdB: We could actually use multiple sub chunks, just needed more support

UTC0026 -

  • RGB LED override binding
  • MdB doesn’t like the update method due ot the race condition
  • Use the existing parameter on LEDs instead
    • Won’t give you the timeout….
  • Control LEDs for a bit but then let them go back

UTC0030 -

UTC0038 -

  • Fixed yaw mag calibration
  • Tridge and Randy have done some work
  • Point-north and hit cal
    • Randy has played with this
    • Specify angle in GCS would be nice
    • MAVProxy click two points and you get a heading
      • MP has something like it on the mission planning tab
    • Should this one zero the scale or leave the scale?
      • This assumes your compass is correctly scaled
        • Some compasses don’t have correct scale
      • Make it an option in the packet?
        • Could be changed later
  • Tridge will rebase this
  • Need to decide whether this goes in or the other compass
  • Randy’s results
    • Z-axis off by 70 degrees
      • Compared to a regular compass calibration
      • Would need to fly both to work out which was correct
      • Lsm303d
  • New script for calibrating based on flight log

UTC0049 -

  • Intended to improve compass coming up on system
  • UAVCAN compasses to show up after bootup is completed
  • Empty slots are bad says tridge
    • This has been fixed
  • Order is based on priorities
    • Users nominiate primary, secondary, tertiary
      • If you want data, you nominate something from that order
    • Parameters still go off the other indexing
    • If this works we might try it on other places as well
    • Losing COMPASS_PRIMARY might be bad?
  • If you replace a compass it will create an empty slot
    • Will be filled
    • UX to allow reordering
  • Exchanging uavcan compasses would mean you end up with internal as priority
    • Recalibration would be required anyway
    • UX can allow the user to reorder at that point
    • We’ve previously said external compasses come up before internal compasses
      • CAN didn’t do this, which was bad
    • What happens when users aren’t using a recent GCS?
      • Bad things
  • Auto testing this isn’t possible ATM
    • Need better simulation options
    • Would need things like SIM_MAG_DEVID or whatever to influence device ID
  • Only magic on new parameters is filling in when autodetection is done
  • COMPASS_OFS2_X refers to instance number NOT COMPASS_2ND_DEVID
    • Can’t make COMPASS_OFS2_X read-only as GCS calibration is required
      • UI really required to make sure correct ones are set
  • Reorder parameters after doing a cal
  • Make COMPASS_OFS2_X be for the secondary compass
  • Automatic reordering at boot time?
    • GCS could just reset the compass ordering
    • Reboot would re-sort the parameters
    • Prearm check for devids matching to ensure a reboot is done
  • [12:18 PM] (Channel) AT: 1ST
  • [12:18 PM] (Channel) AT: 2ND
  • [12:18 PM] (Channel) AT: 3RD
  • Reorder at end of cal too

UTC0118 -

  • Some patches to do to the prearm failure messages
  • Randy and tridge are happy
  • Peter suggests a slightly different way of doing the prearm failures

UTC0126 -

  • Allow changes to speed during item
  • Reduce speeds if EKF is getting close to thresholds
    • Use AC_Avoid?
      • More like optical flow control limits
  • Randy will review today

UTC0132 -

  • New parameter for
  • Calls velocity update function on radius change
  • Bitmask instead?
    • Add checks for conflicting options
  • Randy will review before next devcall

UTC0137 - Plane update

  • Want to get the i2c and compass-scaling fixed out
  • Safety-switch-over-can
    • Here2 safety switch would be nice

UTC0139 - Randy and Copter

  • 3.6.13 needs to be done for i2c storm fix
  • Copter will go out at same time
    • 4.0 beta testing will go on ice while the Copter beta 3.6.13 is done
  • Need 4.0 out there for the F7 boards
    • Focussing on the blockers
  • New RC coming soon, probably soon after the .13 is out

UTC0042 - Randy and Rover

UTC0044 - close

1 Like