Warning #1: an issue has been found with Tower's Pause button which can cause the vehicle to fly to an old position if the vehicle has not sent a position update to Tower in some time.
Warning #2: Copter-3.3.2 fixes a bug found in Copter-3.3.1's desired climb rate initialisation which could lead to a sudden momentary drop when switching from Stabilize or Acro to AltHold, Loiter or PosHold.
Warning #3: Copter-3.3.2 fixes an issue found in Copter-3.3.1 which could lead to hard landings in RTL or AUTO if the WPNAV_SPEED_DN was set too high (i.e. >400 or 4m/s) and/or the WPNAV_ACCEL_Z was set too low (i.e. <100 or 1m/s/s).
Warning #4: a bug was found in Copter-3.3 which could cause a sudden crash if you abort a Take-off initiated from a ground station. Video description is here. The bug is fixed in Copter-3.3.1 so we recommend upgrading.
Note #1: AC3.3-rc8 corrected a long standing bug in the HDOP reporting. HDOP values will appear about 40% lower than previously but this does not actually mean the GPS position is better than before.
Note #2: if upgrading from AC3.2.1 the vehicle's accelerometer calibration needs to be done again.
Note #3: set SERIAL2_PROTOCOL to "3" and reboot the board to enable FrSky telemetry like in previous versions.
Note #4: the wiki will be updated over the next few weeks to explain how to use the new features
Copter-3.3.1 is available through the mission planner. The full list of changes vs AC3.2.1 can be see in the ReleaseNotes and below are the most recent changes since AC3.3.
Sadly this version (and all future versions) will not run on the APM2.x boards due to CPU speed, flash and RAM restrictions.
Changes from 3.3:
1) Bug fix to prevent potential crash if Follow-Me is used after an aborted takeoff
2) compiler upgraded to 4.9.3 (runs slightly faster than 4.7.2 which was used previously)
Changes from 3.3-rc11:
1) EKF recovers from pre-arm "Compass variance" failure if compasses are consistent
Changes from 3.3-rc10:
1) PreArm "Need 3D Fix" message replaced with detailed reason from EKF
Changes from 3.3-rc9
1) EKF improvements:
a) simpler optical flow takeoff check
2) Bug Fixes/Minor enhancements:
a) fix INS3_USE parameter eeprom location
b) fix SToRM32 serial protocol driver to work with recent versions
c) increase motor pwm->thrust conversion (aka MOT_THST_EXPO) to 0.65 (was 0.50)
d) Firmware version sent to GCS in AUTOPILOT_VERSION message
a) pre-arm check of compass variance if arming in Loiter, PosHold, Guided
b) always check GPS before arming in Loiter (previously could be disabled if ARMING_CHECK=0)
c) sanity check locations received from GCS for follow-me, do-set-home, do-set-ROI
d) fix optical flow failsafe (was not always triggering LAND when optical flow failed)
e) failsafe RTL vs LAND decision based on hardcoded 5m from home check (previously used WPNAV_RADIUS parameter)
Thanks for your testing!
Thanks Randy and Thorsten for the info~
Yes the peak was at about 8000-9000rpm from ctrl-F FFT plot but that is due to my 2-blades props I believe. So the motor PRM should be spinning at 4000~4500rpm. At 70~80Hz (4200~4800rpm) the ctrl-F FFT plot also has a peak but much weaker.
Tonight (in UTC+8 timezone) let me post some pictures here to show the setup. Be prepared my setup is going to upset you. Those wiring are so messy!!!
I'm going to assume here that you are using telem1 for your radio.
If you connect your telemetry via less than 6 wires, IE, your radio doesn't have or doesn't connect RTS/CTS and if you have BRD_SER1_RTSCTS configured for automatic flow control (2, the default), then you have encountered the bug I reported here: https://github.com/diydrones/ardupilot/issues/2532
This bug was present in the code for older releases, but seemed not to manifest there.
You can work around the bug by setting BRD_SER1_RTSCTS to 0, no flow control. Please let us know if this is your problem.
I submitted a pull request 3 weeks ago which fixes the bug and also vastly reduces the time required to detect the lack of flow control, but so far the developers do not seem to have had time to review and merge the fix.
I realized a very bad autotune with both rc7 and rc8.
I hope you will see this, I have seen this condition for several times now.
With 2 GPS units, not sure if it is specific for this configuration only, this new algorithm for HDOP value computation sometimes for no obvious reason glitches and it forces HDOP value on the first compass into 0 value. And it remains 0 forever. It is also a problem in the all standard telemetry readers like minimOSD and scripts for taranis to see what factual HDOP is used by the board as by default all scripts only show value from a GPS on a lower serial port. It would be probably better to show in the telemetry values from a currently active GPS unit.
If I unplug and plug power back in - it goes to something reasonable like 0.8 and then works as expected. I have seen it now at least 2-3 times, out of may be a dozen flights, so, it is definitely a repeatable condition.
I also believe it was responsible for very erratic drone`s behavior once where gps 0 on a lower port did not hook up to sats well, had may be 9 sats but with 0 hdop it was chosen over gps unit 1 with 14 sats and HDOP of 0.7.
Here are pictures of my copter. 3DR pixhawk sits inside the TBS "fuselage"
Looking from the side pixhawk can be seen. MinimOSD is on the "ceiling", right above the pixhawk. Wires run in-between, touching both pixhawk and minimOSD.
3DR vibration foam is used beneath the pixhawk.
There are this many wires running from bottom pixhawk to the ceiling!
Looking from the copter's back.
Thanks for the replies gentlemen,
The problem was fixed by Brad's suggestion. Working on 3.2.1 but not on the latest really confused me.
I really appreciate your help.
The new RTL_CLIMB_MIN parameter made me think of this. Not that I plan to try this, but someone will probably do it by accident eventually. What happens if your RTL altitude parameter is higher than your geofence altitude parameter? This would be an operator error in configuration, but curious what would happen. What happens if RTL_CLIMB_MIN causes you to climb higher than the geofence altitude?