OP-1156 fixes as suggested per review
[librepilot.git] / WHATSNEW.txt
blob5f329b8767265e4c2fa2ecec8eb5ecfd21080d89
1 --- RELEASE-14.06 --- Peanuts Schnapps ---
2 This is the Mid 2014 release. 
3 This version supports the CopterControl, CC3D, Atom and the Revolution Flight controllers as well as the OPLink Modems.
5 This release includes many additions, improvements and fixes, it is the result of many thousands of hours of development and testing.
6  
7 Some key additions in this release:
8 -  Many additions and changes aimed at gps/navigation functionality for the Revolution platform including GPS assisted flight modes: Return To Base, Position Hold, AutoCruise and Position Vario(LOS, FPV and NSEW).
9 - Stabilization refactoring and enhancements for even better flight performance.
10 - Completely new sensor calibration routines and greatly enhanced GUI. 
11 - Additional 3rd Party Hardware support, notably the MS4525DO based airspeed sensors and WS281x LED drivers.
12 - Performance improvements in both embedded firmware and GCS.
14 The full list of features, improvements and bugfixes in this release is accessible here:
16 http://progress.openpilot.org/issues/?filter=11460
18 ** New Feature & Improvements
19     * [OP-943] - Start using F4's Core Coupled RAM for more than just the IRQ handler stack
20     * [OP-974] - Make Bootloader Version available while flight software is running
21     * [OP-975] - Reconsider the calibration process
22     * [OP-1063] - Multirotor Configuration
23     * [OP-1068] - Add support for magnetometer calibration matrix in place of scaling parameters
24     * [OP-1149] - handle thermal bias calculation/calibration to gyro and accel
25     * [OP-1150] - Create UI to allow users to perform board thermal calibration
26     * [OP-1159] - Remove "Rev" checkboxes on input tab for channels on which it doesn't have an affect
27     * [OP-1161] - Add Alarm for Magnetometer if disturbed or uncalibrated
28     * [OP-1174] - Beautify Uploader gadget popups
29     * [OP-1194] - Scope gadget - plot and legend visibility state should be persisted between runs
30     * [OP-1198] - Allow GCS gadgets to save/restore individual state
31     * [OP-1216] - Refactor Flight Control Modules
32     * [OP-1230] - automatically load the correct firmware file when GCS is running in a development environment
33     * [OP-1233] - Add make options to skip qmake and build a specific GCS directory
34     * [OP-1245] - Add GUI to control if, what, when and how to do flight side logging.
35     * [OP-1247] - Remove Noise calibration from Revo calibration config widget
36     * [OP-1250] - Add GPS Protocol configuration in the Hardware configuration panel
37     * [OP-1258] - Update GCC ARM Embedded to 4.8-2014-q1
38     * [OP-1259] - Cruise Control tweaks
39     * [OP-1260] - Rattitude tweaks
40     * [OP-1273] - Implementation of the PixHawk airspeed sensor based on the MS4525DO
41     * [OP-1282] - Include I2C Alarm into Eagletree speed sensor module
42     * [OP-1287] - GPS assisted flight for Revo
43     * [OP-1299] - Autodetect number of cells in Battery module
44     * [OP-1302] - Improve on board led functionality
45     * [OP-1303] - Add PathPlan Alarm in System Health
46     * [OP-1307] - Create a bare DiscoveryF4 target for debugging and development purposes
47     * [OP-1308] - Set the same logic to CRITICAL Alarm and same logic to ERROR Alarm
48     * [OP-1312] - Implement a PIOS WS281x driver
49     * [OP-1335] - ConfigTaskWidget - Add support to bind GComboBox to integer property
50     * [OP-1339] - System Health panel improvement
51     * [OP-1378] - Check Limits for flight modes
52     * [OP-1342] - PFD widget emits lots of warning
53     * [OP-1350] - TakeOff location handling to be used with RTB
54     * [OP-1358] - Split board rotation into user set configuration and calibrated offset
55     * [OP-1365] - Add instrumentation functions for flight code
56     * [OP-1374] - Automatically enable the right PathFollower
57     * [OP-1390] - OpenGL support for older Graphics Cards
58     * [OP-1413] - Disable Land flight mode
59 ** Bug
60     * [OP-792] - 'Autotune' still showing up in flight mode settings in GCS
61     * [OP-1026] - Provide some standard method of calibrating CPU speed and load measurement for boards
62     * [OP-1033] - Data transfer errors on USB HID on F1 devices
63     * [OP-1043] - Ground OPLinkMini refuses to connect to one Revo unless first connected to another Revo
64     * [OP-1056] - GPS does not set home location when erased after lock has been established
65     * [OP-1080] - Unreliable detection of board through OPLink
66     * [OP-1100] - gcs plist for mac shows wrong associated filetypes, leftover from qtcreator
67     * [OP-1131] - Firmware mismatch check is not done if Uploader gadget is not active
68     * [OP-1172] - Some fonts are not defined in config files
69     * [OP-1196] - Board rotation in GCS not shown correctly upon connection but correctly saved in memory
70     * [OP-1212] - Fix Priority queue handling in telemetry
71     * [OP-1226] - screen problems
72     * [OP-1227] - High CPU load in ratitude mode on CopterControl
73     * [OP-1232] - Setting high telemetry rates for periodic uavobject triggers eventsystem warning.
74     * [OP-1235] - Some fixes for altitude estimation
75     * [OP-1237] - Blank/Black Buttons on Vehicle Configuration Multirotor Throttle Curve
76     * [OP-1241] - TxPID Does not work for Bank 3 PID settings
77     * [OP-1243] - OPMap widget context menu duplicating some menu separators each time its opened
78     * [OP-1252] - Update GCS to qt 5.2.1
79     * [OP-1266] - Gyro and accel thermal compensation is not applied if one or more coefficients have negative value
80     * [OP-1267] - Incorrect UAV position on GCS OPMap after homeLocation modification
81     * [OP-1272] - Unable to debug in SWD mode a revo board
82     * [OP-1283] - SystemHealthGadgetWidget::updateAlarms misinterprets coordinates in SVG file
83     * [OP-1284] - RTB flies into ground if base is high
84     * [OP-1285] - Erase Settings ToolTip is wrong
85     * [OP-1288] - GPS PositionHold immediately flies several meters away if Home is not close
86     * [OP-1291] - fix matlab import after UAVTalk changes
87     * [OP-1294] - Fix stack sizes for CopterControl
88     * [OP-1295] - Autoupdate not working
89     * [OP-1296] - Altitude Hold causes copter to ascent at full throttle when far from home location
90     * [OP-1297] - OPMap fails to read in saved waypoints correctly
91     * [OP-1300] - SystemHealth gadget does not show "Configuration Alarm"
92     * [OP-1301] - Hardware settings can't be saved with CC/CC3D
93     * [OP-1304] - Revo stack alarm
94     * [OP-1314] - Fix Airspeed stack size
95     * [OP-1315] - Unable to arm UAV when AirspeedSensorType is set to GroundspeedBaseWindEstimation
96     * [OP-1323] - GCS font fixes
97     * [OP-1325] - fix event system warnings to be errors
98     * [OP-1326] - set AIrspeedSensor default back to "None"
99     * [OP-1327] - SystemAlarms must be non-acked
100     * [OP-1329] - Various fixes to airspeed module
101     * [OP-1330] - Cannot set homelocation.set=false when gps reception is optimal
102     * [OP-1331] - Input and Output Channel Configuration alignments issues
103     * [OP-1332] - PiOS alarms does not reset alarm state on timer overflow
104     * [OP-1333] - Output Channel Configuration alignments issues
105     * [OP-1340] - Auto-update greyed out - not available
106     * [OP-1343] - GCS Configuration - Input Channel ResponseTime not saved
107     * [OP-1346] - Input Channel Response Time mismatch between GCS config screen and UAVObject
108     * [OP-1347] - Flight logs settings - UI / segfault
109     * [OP-1348] - Config Gadget flashes next panel when connecting/disconnecting board
110     * [OP-1351] - GCS Calibration UI polishing
111     * [OP-1352] - Headwind-improvements for FixedWingPathFollower
112     * [OP-1353] - HITL Flightgear fails to set Position and velocity correctly
113     * [OP-1354] - Current and voltage not shown in PFD
114     * [OP-1355] - magnetometer calibration and board rotation don't play along
115     * [OP-1363] - sanitychecks MUST check if magnetometers and GPS are enabled for any pathfollower modes (outdoor mode selected)
116     * [OP-1371] - sanitychecks overzealous: hitl/sitl broken
117     * [OP-1375] - Update Mag Ki and Kp default settings
118     * [OP-1376] - Calibration results not saved to SD
119     * [OP-1377] - Calibration config panel has Apply button even when not in Expert mode
120     * [OP-1383] - GCS crashes when connected via serial port
121     * [OP-1384] - Revo Board Rotation data is cleared to zero by other calibration steps
122     * [OP-1389] - GCS Crashes exiting Flight side log window
123     * [OP-1391] - System allows arming if current flight mode uses Thrust Control = AH or AV
124     * [OP-1393] - SerialPlugin destructor generates valgrind error
125     * [OP-1394] - Flight display widget - telemetry data does not zero on disconnection
126     * [OP-1408] - Board rotation is not always saved during Revo calibration
127     * [OP-1412] - INS13Outdoor Yaw Gyro drift
128     * [OP-1415] - Repeated names in CREDITS.txt
129     * [OP-1419] - GCS does not set Z magnetometer scale correctly on mag calibration
130     * [OP-1421] - Cruise Control xml defaultvalue incorrect
132 ** Tasks
133     * [OP-1274] - Update FreeRTOS to 8.0
134     * [OP-1337] - French translations updates (14.04/05)
135     * [OP-1254] - Update to QT5.2.1 for Linux x86/64
136     * [OP-1263] - Move SDL out of Qt install
137     * [OP-1309] - Stabilization refactoring
139 --- RELEASE-14.01 --- Cruising Ratt ---
140 This is the first 2014 software release. 
141 This version still supports the  CopterControl and CC3D.
142 It includes some major "under the hood" changes like migration
143 to Qt5.1 and QtQuick2 widgets, an overhaul of UAVTalk to improve
144 Telemetry and OPLink reliability.
145 Some additions in this release:
146 - "Rattitude" flight mode;
147 - Altitude Hold Reimplementation;
148 - Multiple PID banks;
149 - "Cruise Control" 
151 the full list of features, improvements and bufixes shipping
152 in this release is accessible here:
154 http://progress.openpilot.org/issues/?filter=11260
156 ** Improvement
157     * [OP-771] - Change Wizard wording for better usability
158     * [OP-791] - Integrate About Authors, OpenPilot GCS, Plugins dialogs into a single dialog window
159     * [OP-803] - Gadgets get their configuration set twice when restoring workspaces during GCS startup
160     * [OP-835] - Upgrade GCS to use Qt 5.1.0
161     * [OP-883] - Make system and flight targets cleanup, pass 01
162     * [OP-913] - Poor UAVObject data structure alignment on flight side causes performance degradation
163     * [OP-951] - Add -Wshadow to flight CFLAGS and fix compilation breakage that results
164     * [OP-966] - Scope Plugin Cleanup
165     * [OP-984] - Provide multi PID banks, these should be assignable per flight mode. 
166     * [OP-996] - Add GCS option to remember the last selected workspace
167     * [OP-1022] - Additional improvements for altitude hold
168     * [OP-1036] - Improvements to Fixed Wing PathFollower and Nav
169     * [OP-1059] - Typo (2x) in OpenPilot Setup Wizard - Output Calibration Window
170     * [OP-1063] - Multirotor Configuration
171     * [OP-1071] - Make map "emergency" lines less strong and dashed
172     * [OP-1079] - Update to FreeRTOS v7.5.2
173     * [OP-1082] - Add a ticker on the Welcome page showing Jira activity alongside the 'Project News'
174     * [OP-1083] - Fix minor English spelling errors in stabilization tooltips
175     * [OP-1085] - Upgrade GCS to use Qt 5.1.1
176     * [OP-1094] - Turn on Progress for large SDK downloads / remove for MD5 files
177     * [OP-1104] - Create BL version 6 to support larger firmware
178     * [OP-1105] - If firmware .info blob is missing, test string is too long
179     * [OP-1107] - Convert About dialog to QTQuick 2.0 and cleanup code.
180     * [OP-1110] - Move Welcome screen to QtQuick 2
181     * [OP-1111] - Move About to QtQuick2
182     * [OP-1112] - Update contributors in GCS
183     * [OP-1113] - Convert new PFD design to QtQuik2
184     * [OP-1117] - Implement Horizon mode
185     * [OP-1120] - Waypoint upload to board should be transacted
186     * [OP-1133] - UAVTalk - expose send/request all instances of multi instance uav objects + related uavtalk fixes
187     * [OP-1137] - Make Configuration Checkbox checked by default during uninstall
188     * [OP-1141] - Add a further bias correction to barometer to better handle thermal variations
189     * [OP-1143] - Missing Linux udev rules for Revolution boards 
190     * [OP-1153] - Provide a mean to instrument SystemMod stack utilization
191     * [OP-1154] - Config Option to Automatically Increase Copter Throttle per 1/cos(bank_angle)
192     * [OP-1158] - Add flight plan consistency checks
193     * [OP-1160] - Some dev Env improvements,  git hooks for messages, make prepare etc.
195 ** Task
196     * [OP-775] - Add ARM DSP library to OP codebase
197     * [OP-813] - Manage merge of translation work to French 
198     * [OP-839] - Disable pyMyte dependency until really used
199     * [OP-901] - Update STM32 StdPeriphLib to current
200     * [OP-1087] - Update Qt used from Makefile to 5.1.1 for Windows and Mac
201     * [OP-1109] - Created share Qt5 QtQuick2 port branch
202     * [OP-1115] - Remove old artwork from the Artwork folder in Git
203     * [OP-1119] - Write GCS plugin to access and display on board logs through uavtalk and export .opl files from logged uavobjects
204     * [OP-1058] - UAVO:Implement a structured named accessors for multielement fields (Flight side)
206 ** Bug
207     * [OP-844] - Fix header comments in altitudehold.c
208     * [OP-845] - Fix reading serial number from USB device on mac platform
209     * [OP-846] - make qt_sdk_install fails
210     * [OP-865] - PWM output 6 does not work on RM
211     * [OP-887] - Provide some standard method of calibrating CPU speed and load measurement for boards
212     * [OP-924] - PPM output does not have failsafe
213     * [OP-934] - Incorrect timeout handling in rfm22b receiver
214     * [OP-971] - Add UI to set AccellTau with revo board
215     * [OP-1004] - UAVObjectBrowser, buttons don't work when scientific display is turned on
216     * [OP-1014] - Com port connections are not working on OPLink
217     * [OP-1018] - Zero point initialization in ETASv3 Airspeed sensor buggy
218     * [OP-1027] - Segfault in UAVObjectBrowser when "Request"ing a UAVObjectCategory
219     * [OP-1042] - Revo firmware version isn't read correctly through OPLink
220     * [OP-1046] - Waypoint upload incomplete, no visual confirmation of failed uploads in uavobjectbrowser and waypoint editor
221     * [OP-1048] - Attitude is not working with AccelTau > 0
222     * [OP-1049] - CC3D attitude estimation failure after multiple settings changes and reboots
223     * [OP-1067] - Invalid value for "LinkState"
224     * [OP-1076] - CF Attitude filter in next randomly re-initializes on arming.
225     * [OP-1078] - GCS segfaults if you close it after playing a log file
226     * [OP-1080] - Unreliable detection of board through OPLink
227     * [OP-1095] - GCS crashing on macosx 10.9 upon connection of oplink mini
228     * [OP-1098] - CDC driver fails installation in Windows 8 or 8.1
229     * [OP-1099] - Hidden icons in Configuration tab
230     * [OP-1101] - Tools.mk has a few tabs and they need to be converted to spaces
231     * [OP-1102] - OP GCS registers some file types is should not
232     * [OP-1103] - GCS can not be compiled on OSX 10.8 after update to Qt5.1.1
233     * [OP-1108] - Minor bugs found while reading the code
234     * [OP-1114] - QGLWidget prohibits QListWidgetItem, set AA_DontCreateNativeWidgetSiblings as work around
235     * [OP-1118] - QComboBox in UAVObjectBrowser does not stay in focus on Mac OSX
236     * [OP-1121] - GCS will not exit if the Waypoint editor/PathPlanner dialog is open
237     * [OP-1123] - GCS assertion failure when loading a waypoint file
238     * [OP-1125] - UAVTalk - acking/nacking multi instance uavobjects is broken (when sending individual instances)
239     * [OP-1132] - LIBEAY32.dll missing from installer
240     * [OP-1139] - Add higher order correction to MS5611 driver for low and very low temperature compensation 
241     * [OP-1142] - No yaw in Horizon mode
242     * [OP-1145] - OPLM to GCS link not reliable
243     * [OP-1148] - Futaba R7008SB S.Bus protocol not supported
244     * [OP-1151] - PFD display - inverted flight
245     * [OP-1152] - Check Stack usage for CopterControl & CC3D
246     * [OP-1155] - Fix OSX Packaging for GCS
247     * [OP-1157] - sin_lookup_deg() returns garbage for negative angles
248     * [OP-1166] - GCS misses yaw neutral setting on sync from initial connection
249     * [OP-1167] - New flight mode switch position UAVO to work better with SITL, HITL
250     * [OP-1168] - GCS Reload Board Data button doesn't work
251     * [OP-1169] - GCS UAVO object titles off by one
252     * [OP-1176] - Cruise Control checkboxes use wrong Default button
253     * [OP-1177] - AltHold - Need a setting to allow disabling of bank angle throttle compensation in AH
254     * [OP-1178] - After re-factoring of ConfigTaskWidget code the OPLink config page does not work reliably.
255     * [OP-1179] - About box not working in Linux64 build (but probably the same is for Linux32)
256     * [OP-1180] - GCS AltHold Tab - Reload button and update in real time
257     * [OP-1181] - on radio configuration the pitch slider has maxed out on its own three times randomly
258     * [OP-1182] - Telemetry monitor widget is too small on Mac
259     * [OP-1183] - UAVBrowser displays hex string as decimal
260     * [OP-1184] - Scope gadget - Stack monitor configurations need a cleanup
261     * [OP-1188] - Optimize Stabilization Module stack size usage 
262     * [OP-1191] - Revo OPLink bug in GCS
263     * [OP-1192] - Even though Throttle is off there is motor movement in some situations.
264     * [OP-1211] - dT calculation in Stabilization and other modules unsafe
265     * [OP-1218] - PIOS_COM is not thread safe
266     * [OP-1228] - GCS Quits unexpectedly
268 --- RELEASE-13.06.04 ---
269 This maintenance release includes the following fixes missing in (previously not released to public) RELEASE-13.06.03.
270 - Fixed issues with Google Maps;
271 - Includes new signed version of CDC drivers for Windows platforms;
273 JIRA issues addressed in this maintenance release:
274 OP-1044, OP-1070, OP-1072
275 Use the following link for a comprehensive list of issues addressed by this release
277 http://progress.openpilot.org/issues/?filter=11060
279 --- RELEASE-13.06.03 ---
281 This maintenance release addresses the following issues:
282 - Fixed CC3D attitude estimation failure after multiple settings changes and reboots.
283 - Fixed OPLink crashes when erasing settings
285 JIRA issues addressed in this maintenance release:
286 OP-1049, OP-1050 
288 --- RELEASE-13.06.02 ---
290 Refactoring of OPLink radio driver.  Auto-configuration was removed, and a
291 one-way link was added, including a ppm-only mode that is intended to be used
292 when only a PPM link is desired.  PPM-only mode configures the modem as a
293 one-way link running at 9600 bps (air datarate) and only sends PPM packets.
295 --- RELEASE-13.06.01 --- Italian Stallion Release ---
296 It applies the following changes to previously not released to public RELEASE-13.06
298 - Temporary disabled AltitudeHold and AltitudeVario flight modes. They were not
299 officially supported. But since people expected well-known production quality
300 behavior, it is better to make them final, then reenable
301 - Fix windows hid connection failure if board was already connected and gcs started;
302 - Fixed a bug that lead to disabled controls with some settings combination in CC/CC3D hardware page
303 - Fixed a bug that prevent to correct saving stabilization settings for CC/CC3D
304 - Fixes Uploader GUI and automatically close AutoUpdate panel after 7s
306 JIRA issues addressed in this release:
307 OP-1028 OP-1020 OP-1024  
309 --- RELEASE-13.06 ---
311 This is the first official OpenPilot Revolution software release. This version
312 also supports the CopterControl, CC3D, OPLinkMini and the upcoming OP OSD.
313 There a number of significant backend changes in this version compared to
314 previous software releases: from new toolchains and build system to a source
315 code reformatting that is inline with our project style guidelines.
317 The goal of this release is to provide CC3D-style features for the new
318 Revolution platform (using the Revo's internal modem and external OPLinkMini
319 board). Advanced features such as Altitude Hold, Position Hold, Guidance,
320 Return to Home, and AutoLanding are still in development and will be available
321 in future releases. The availability of those features will depend on how many
322 people are able to contribute with code, testing and documentation.
324 Remember that the first Revo hardware batch was intended for developers/
325 bleeding-edge testers, not end users who want a 100% final platform.
327 - New bootloaders are REQUIRED for this release to support new features such
328   as erase settings and others. As always, bootloaders can be updated without
329   any special programmer hardware using the bootloader updater firmware files.
330 - F1 boards (CC, CC3D, OPLinkMini) require bootloader version 4 or higher.
331 - F4 boards (Revolution, OSD prototype) require bootloader version 5 or higher.
332 - Check the wiki for details of how to update them:
333   http://wiki.openpilot.org/display/BUILDS/Bootloader+update
335 Please remember to take a moment to view these important tutorials:
336   http://wiki.openpilot.org/display/Doc/OpenPilot+Tutorials
338 What's New / Release Notes
339 --------------------------
341 NEW:
343 - Firmware folders removed.
344   The firmware files folder has been removed in this release. These files
345   are now integrated into the GCS so they are always up to date and there is
346   less risk of a firmware mismatch. To update your firmware you must use
347   either Vehicle Setup Wizard (big green button at the top right on the
348   Welcome GCS tab) or the new Auto-Update button on the GCS Firmware tab.
350 - Responsiveness sliders.
351   To simplify tuning, we have introduced a new Responsiveness slider that
352   will allow you to modify stick response. For best results, you should
353   still tune your system with PIDs as tight as possible for better
354   stabilisation. This will result in better stabilisation, and at the
355   same time soft or sharp response according to your preferences.
357 - Auto-Update firmware.
358   This feature simplifies all OpenPilot board firmware updates. Now all
359   you have to do is click "Auto-update" on the Firmware tab and follow the
360   instructions to reflash your OpenPilot board. This is essentially the
361   same as Rescue but uses the embedded firmware images so there is no need
362   to browse for them anymore.
364 - Erase Settings Option.
365   We previously had a hacky way to delete bad or incompatible settings from
366   our OpenPilot boards. This old special firmware that did this is now
367   deprecated and the functionality is now integrated into the latest
368   bootloaders and firmwares.
370   To erase settings enter DFU (boot) mode (using Halt or Rescue function)
371   and click the "Erase settings" button on the Firmware tab and follow the
372   instructions. This will NOT work with an older bootloader and the "Erase
373   settings" button will be disabled if an out of date bootloader is detected.
375 - Language defaults.
376   GCS now uses the system default language (only French and English are
377   available currently, please contribute translations). You can change the
378   language in the GCS Options at any time.
380 - CDC driver install option (Windows only).
381   This is an optional USB virtual serial port that is useful, for example,
382   for updating your GPS configuration using the U-Blox u-Center software.
383   It is NOT required for normal configuration of OpenPilot boards. If it is
384   not installed, virtual serial port features will not be available. This
385   driver is not signed by Microsoft, but in fact it uses serial port drivers
386   from Windows and only the driver information INF file is supplied by
387   OpenPilot.
389 - Lots of help tooltips were added to the GCS. Hovering your mouse over an
390   option in the GCS will show them, please review for help during tuning/
391   setting up.
393 - A large amount of general improvements, code clean ups and minor bugs
394   resolved.
396 KNOWN ISSUES:
398 - On Linux you should remove the OpenPilot package if it was previously
399   installed, then install this new one. This is a known issue and likely
400   be fixed later.
402 - Due to changes in USB descriptors to support new features, USB drivers
403   on Windows must be updated. If after using Rescue or Wizard or Auto-Update
404   button the GCS cannot connect to the board, you may be experiencing this
405   USB issue. To resolve it you should remove the old drivers (ones with
406   yellow exclamation mark) and allow Windows to find them again.
408   Here is how to do it:
410   Windows XP:
411    - Right click on "My Computer" on your desktop and select "Properties".
412    - Select the "Hardware" tab.
413    - Select the "Device Manager".
414    - Scroll down the list until you see the "Universal Serial Bus Controllers"
415      selection.
416    - Click it to expand the list of USB drivers. Right-click on the driver(s)
417      you wish to uninstall and select "Uninstall".
419   Windows 7/Vista:
420    - Right click on "My Computer" on your desktop and select "Properties".
421    - Select "Device Manager" in the upper left-hand corner of the window.
422    - Scroll down the list until you see the "Universal Serial Bus Controllers"
423      selection.
424    - Click it to expand the list of USB drivers. Right-click on the driver(s)
425      you wish to uninstall and select "Uninstall".
427   Then disconnect the board from USB, wait few seconds and re-connect it to
428   your computer. Windows should find new drivers and install them properly.
430 - If GCS crashes when switching to the Flight Data tab, it usually means
431   your PC needs newer video drivers. That tab contains a ModelView widget
432   which uses OpenGL. It is known to crash on some graphics cards with old
433   and buggy drivers.
435 - Sensor calibration is not final. It will be reworked completely to
436   increase its accuracy and make it easier to use.
438 - Until the calibration is reworked, default attitude estimation algorithm
439   used by Revo is a complimentary filter with magnetometers disabled. Hence
440   Revo does not use them yet to correct yaw drift. Magnetometers can be
441   enabled, but you should properly calibrate them first. That's the reason
442   why they are disabled by default.
444 - AltitudeHold/Vario modes are enabled but not officially supported. Do
445   not expect it to work perfectly and be considered production quality.
446   You may play with it and report your issues and suggestions at your own
447   risk. If you are not using a case for your Revo, we strongly recommend
448   covering the barometer sensor with some foam to shield the sensor from
449   wind and light.
451 - Note that throttle stick in AltitudeVario mode is used to control vertical
452   velocity, sometimes called vario altitude in other platforms, centre stick
453   means hold altitude and there is a dead band around centre stick.
455 - There are currently no configuration options for the Radio module in
456   the Revolution except for Radio enable/disable and output power. This is
457   intentional because all configuration should be done using its paired
458   ground OPLink coordinator.
460   How to configure the Revolution to OPLinkMini radio link:
462   - Make sure you have the newest bootloaders and matching firmwares
463     between the Revolution, GCS and OPLink.
464   - Enable the radio in the Revolution, click save and disconnect the board
465     from USB.
466   - Power it from external supply to continue.
467   - Then connect the OPLink board to USB and scroll down in the GCS config
468     widget to find OPLink icon at the end of list. This icon is only
469     available when an OPLink is detected.
470   - To pair the two radios, select the Revolution side radio address in the
471     list of found boards, select it, click Add to add to the list of paired
472     radios and click Save. After unplugging the board from the USB and
473     plugging back your OPLink it should show "Connected", and you can
474     continue with the configuration.
476 - Do not set the Revolution modem or OPLinkMini output power to high values
477   without antenna connected, this can damage the hardware.
479 JIRA issues addressed in this release:
481 Due to major rework of all code and integration of Revo code into mainline
482 (next) it is almost impossible to list all corresponding JIRA issues for the
483 list above. Some of them can be found using this link:
484   http://progress.openpilot.org/issues/?filter=10860
486 OP-678,  OP-682,  OP-693,  OP-719,  OP-726,  OP-727,  OP-747,  OP-761,  OP-769,
487 OP-770,  OP-772,  OP-781,  OP-784,  OP-792,  OP-804,  OP-807,  OP-812,  OP-816,
488 OP-817,  OP-820,  OP-821,  OP-834,  OP-843,  OP-846,  OP-854,  OP-855,  OP-856,
489 OP-861,  OP-864,  OP-867,  OP-871,  OP-873,  OP-874,  OP-875,  OP-879,  OP-885,
490 OP-886,  OP-888,  OP-889,  OP-890,  OP-891,  OP-892,  OP-893,  OP-894,  OP-895,
491 OP-896,  OP-897,  OP-898,  OP-899,  OP-900,  OP-903,  OP-905,  OP-906,  OP-907,
492 OP-910,  OP-912,  OP-917,  OP-920,  OP-925,  OP-926,  OP-928,  OP-935,  OP-936,
493 OP-939,  OP-952,  OP-955,  OP-957,  OP-958,  OP-965,  OP-968,  OP-969,  OP-970,
494 OP-977,  OP-979,  OP-980,  OP-981,  OP-982,  OP-983,  OP-988,  OP-989,  OP-990,
495 OP-991,  OP-993,  OP-997,  OP-998,  OP-999,  OP-1000, OP-1002, OP-1005, OP-1007,
496 OP-1008, OP-1009, OP-1010, OP-1011, OP-1012, OP-1013, OP-1015, OP-1016, OP-1021
498 Short summary of changes. For a complete list see the git log.
500 Flight code changes:
501 - initial version of Revo code;
502 - initial version of OPLinkMini code;
503 - CopterControl/CC3D code reworked to reuse parts of Revo code;
504 - switched to new ARM-supported GCC 4.7 toolchain with hardware floating point support;
505 - major code cleanup and use of compiler warning flags to early catch errors;
506 - major directory and Makefiles reorganisation and cleanup;
507 - all source code fixed to use float variables instead of doubles (to use hardware FPU);
508 - added multi-binding support for OPLinkMini;
509 - added frequency hopping for Revo and OPLinkMini;
510 - added auto-configuration for OPLinkMini remote modem / Revo;
511 - replaced entire flash generation code;
512 - new U-Blox GPS binary protocol parser;
513 - added STM32 DSP library;
514 - updated STM32 CMSIS library;
515 - updated STM32 USB OTG driver;
516 - updated STM32 F1 StdPeriph driver library;
517 - updated STM32 F4 StdPeriph driver library;
518 - updated FreeRTOS (real-time operating system used by the flight code to run many tasks);
519 - PyMite moved to a library;
520 - fixed nasty bug in PyMite Makefile, single file was rebuilt 5 times fo no reason;
521 - added configurable accel/gyro rates;
522 - added visualisation of errors in bootloader updater;
523 - added numerous sanity checks to the flight code to prevent unsafe arming;
524 - new flash file system, much faster and higly optimised;
525 - Revo data flash is splitted into two partitions, one for settings, another for user data (logs, etc);
526 - OPLinkMini now stores settings in the MCU flash using FlashFS too;
527 - a catalog of known flash types is used to support different flash types by the same firmware;
528 - fixed broken overo submodule remote repository link;
529 - fixed DSMX protocol error with some Tx/Rx combintions;
530 - added new pios_*.h headers to support commonly used constants, functions and defines;
531 - numerous fixes for data alignment and memory allocation strategy;
532 - new bootloaders to support more features (for example, board settings erase);
533 - added new feature to erase settings without special firmware;
534 - removed CC/CC3D setting erase firmware (now not necessary due to new erase feature);
535 - introduced new delayed callback scheduler to run modules from a single task;
536 - many changes to AeroSim-RC simulator interface;
537 - fixed broken debug pins API;
538 - fixed few bugs in the EKF code;
539 - introduced bootloader updater for F4 boards (including Revo and OSD);
540 - some changes in RAM and flash memory partitioning to better utilize resources;
541 - changes in bootloader to allow remote reboot via serial port or radio modem;
542 - the EKF "Huge Formula" is replaced by optimised set of of loops to make it editable;
543 - Cyr's attitude patch is ported from CC3D to Revo;
544 - added magnetometer options (mags are disabled by default for Revo complimenary filter);
545 - advance camera stabilisation is now officially released;
546 - Revo alarm led now distinguish between Critical(lit led), Error(blink fast), Warning(blink slowly) Alarm condition
547 - Revo alarm led flash fast(like in Error Alarm) during calibration using complementary attitude estimation.
548 - Redo gyro bias zero after calibration parameters changes
549 - Do not raise GPS alarm if a gps port is not configured.
550 - fixed numerous internal firmware bugs (too many to list here).
552 GCS code changes:
553 - nice loading splash screen;
554 - now GCS uses system language by default if translation is available, English otherwise;
555 - French translation officially added. Please help with other languages;
556 - fixed some crashes of uploader gadget;
557 - fixed double config read on restore;
558 - improvements in GCS options dialog handling;
559 - optimised option dialog creating;
560 - added UI tooltips for many options;
561 - removed unused yet options from configuration UI;
562 - removed GCS config dialog on the first run, one default is used now if missing;
563 - added Revo configuration page, similar to CC/CC3D one;
564 - added OPLinkMini configuration page;
565 - hardware options are now dynamically enabled/disabled to allow supported configurations only;
566 - new artwork for all boards everywhere;
568 - optimised some 3D models;
569 - new About dialog showing version info and contributors list;
570 - fixed badly broken HiTL options dialog;
571 - fixed compilation problem on OSX, now GCS should be compatible with OSX 10.5+;
572 - major vehicle config cleanup with lazy creation (speeds up GCS start);
573 - UI config pages improvements (responsiveness, etc)
574 - new auto-update feature added, *.opfw firmware files removed from distributables;
575 - anti-aliased scope plugin;
576 - numerous code fixes and cleanups (too many to list here);
577 - USB HID code is replaced by new cross-platform hidapi library to fix old Linux/OSX problems.
578 - Adds GUI to set Altitude Hold filter parameters.
579 - Adds configurable units for velocity/speed and altitude in QML PFD. Units are configured in settings panel.
580 - Reduces precision of the PDOP value in the PFD display to 1 decimal.
581 - Remove deprecated powerlog
583 Common parts:
584 - added simple toolchain install make targets;
585 - added self-hosted toolchains to ensure that they're always available;
586 - added support for globally istalled tools used by many working copies;
587 - added Windows bootstrap script to pull all other build tools;
588 - added unit testing framework, also supported by Bamboo CI server and agents;
589 - added code style formatting make targets, easy to use by developers;
590 - added doxygen make targets. The documentation still must be completely revised, though;
591 - enforced global line ending policy, source files are updated accordingly;
592 - reworked packaging to provide correct dependencies and safe multi-threaded builds;
593 - multiply renames of board names and directories, now we have correct names;
594 - fixed dependencies in Makefiles, now 'make -j' works reliably;
595 - CLEAN_BUILD make option is deprecated, use 'package' or 'clean_package' instead;
596 - simposix elf is now included into linux distribution and can be run with default GCS settings;
597 - revised 'make help' message;
598 - updated Windows driver to support Revolution and use correct board names.
600 Android GCS:
601 - old and buggy code was removed;
602 - full rewrite has been started.
604 Infrastructure:
605 - Bamboo continuous integration server is actively used;
606 - around 10 build agents running 4 different operating systems are set up;
607 - every push to any branch is now build-tested, and unit tests run are performed;
609 2012-11-17
610 Advanced camera stabilization features.
611 They include optional manual control input filtering (moved from camera stabilization to manual
612 control input and now available also for main controls), optional airframe attitude filtering
613 used by camera stabilization, and optional camera actuator feed forward to improve gimbal response.
615 --- RELEASE-12.10.2 --- Mayan Apocalypse Release ---
617 List of issues resolved in this maintenance release:
618 http://progress.openpilot.org/issues/?filter=10361
620 OP-459, OP-545, OP-674, OP-679, OP-685, OP-686, OP-687, OP-690, OP-691,
621 OP-702, OP-703, OP-714, OP-715, OP-716, OP-721, OP-728, OP-746, OP-748,
622 OP-749, OP-750, OP-758, OP-759, OP-760
624 Here is a list of some known unresolved issues. If an issue has JIRA ID [OP-XXX],
625 you may track it using the following URL: http://bugs.openpilot.org/browse/OP-XXX
627 + Only French translation is updated, use English for other locales or help with translations.
628 + Radio Wizard confused by a reversed throttle, fix it on your transmitter before starting wizard.
629 + Radio Wizard Throttle display does not show full range properly.
630 + [Windows 8] USB Driver is broken.
631 + Firmware Update Instructions on Firmware Tab not entirely accurate for all upgrade paths.
632 + Tricopter's using Vehicle Wizard need to check servo does not need reversed manually.
633 + XAircraft ESCs uses non-standard PPM range which may cause issues with Vehicle Wizard.
634 + Spectrum Satellite Receivers setup in Radio Wizard may have wrong protocol set.
635 + Old Intel 965 have an OpenGL bug that turns the QML PFD black and while.
636 + [OP-732] Import UAV Settings for inactive modules crashes the running firmware (board restarts).
637            Workaround: update firmware, power cycle, enable modules, power cycle, import configuration.
638 + [OP-747] Board infinitely reboots itself after firmware upgrade (settings erase firmware is a workaround).
639 + [OP-723] GCS uses the system language ot the 1st run. After restart it uses English (can be changed later).
640 + [OP-725] GCS camera stab config error message disappears too fast (but config error is cleared as it should)
641 + [OP-767] GCS does not send AttitudeActual packets over serial port when GPS is connected and system is armed
642 + [OP-768] GCS does not show UAV position on the map (master or next CC branches, but works in Revo branches)
643 + [OP-769] Can't enter "12,45" on German system. Workaround: change GCS language (in fact, locale) to German.
645 2012-11-12
646 Implemented smoothing filter for accelerometer data.
647 Added support for Mode 3 and Mode 4 to the TX Configuration Wizard.
649 --- RELEASE-12.10.1 ---
651 2012-10-26
652 Temporary disabled AutoTune GCS GUI. It was listed as an experimental
653 feature in the previous release, there were however a few cases where
654 it did not behave as expected.
656 --- RELEASE-12.10 ---
658 2012-10-06
659 Receiver port can now be configured as PPM *and* PWM inputs.
660 Pin 1 is PPM, other pins are PWM inputs.
662 2012-07-27
663 Added the ability to load stylesheets from external file according to operating system:
664 macos.qss, linux.qss, windows.qss
665 Files should be placed inside the app folder.
667 2012-07-27
668 Several UI changes. 
669 MixerCurveWidget refactoring, now as a simple and advanced view.
671 2012-07-27
672 Added "advanced mode" option to general settings. Right now it only shows the hidden apply buttons.
673 To enable go to tools->options->General and click one of the checkboxes to give focus to the form,
674 then press F7
676 2012-07-27
677 Made the flight mode switch and accessory pots move according to user input on the input wizard.
679 2012-07-27
680 Changed the board pictures on the uploader widget
682 2012-07-27
683 Add more verbose debug output on the UAVOBJECTS saving code.
685 2012-08-11
686 CopterControl can now emulate an 8-channel USB HID joystick.  Primarily,
687 this lets you use any RC transmitter with flight simulators on your PC.
689 2012-07-20
690 AeroSimRC simulator plugin is now included into the Windows distribution
691 (will be installed into .../OpenPilot/misc/AeroSIM-RC directory).  Still
692 being an experimental development tool, it could be used to play with
693 HITL version 2.  Other platforms include udp_test utility which can be
694 used to check the connectivity with AeroSimRC plugin running on Windows
695 machine.
697 2012-07-10
698 On Windows the installation mode was changed from per-user to per-machine
699 (for all users) installation.  It is recommended to completely uninstall
700 previous version before installing new one to remove per-user installed
701 files.  Per-machine installation requires elevated (administrator) previleges
702 during install.  But since the same rights are now required to install
703 optional CDC driver (virtual communication port), it was deemed acceptable.
705 2012-06-04
706 AeroSimRC support merged into next
708 2012-05-26
709 VirtualFlybar which allows a more aggressive flight mode than rate mode
710 support.  Also PiroCompensation added.
712 2012-05-26
713 Revert some UI changes that didn't work consistently between OSX and Windows.
715 2012-05-24
716 Merged the updated firmware for the PipXtreme, thanks to Brian for a lot of
717 work on this.
719 2012-05-04
720 Support for CC3D.  This involved changes to various things such as the sensors
721 being split from AttitudeRaw to Accels,Gyros,Magnetometer.  A single firmware
722 image fw_coptercontrol will run on both CC and CC3D.  When compiling the
723 bootloader one must set the HW_REVISION to the appropriate value.  0x01 is for
724 CC and 0x02 is for CC3D.  If the wrong bootloader is installed the firmware
725 will not run.
727 2012-05-02
728 Reduction in the memory usage due to the UAVObject metadata.  Now the update
729 periods are using a smaller data type and the various flags relating to access
730 controls and update modes are stored in a bitfield.  The UAVObjectBrowser has
731 not been updated to allow these modes to be easily changed.
733 2012-03-31
734 Support for ground vehicle configuration has been added to the the GCS.
736 2012-02-14
737 New QML based system to allow more flexible UI.  Upgraded stabilization
738 configuration.
740 2012-01-02
741 CC FW now supports USB Virtual Com Port (VCP/CDC) in addition to the original HID interface
742 New ComUsbBridge module can bridge any serial port to the USB CDC port
743 CC FW now detects repeated faults during init and boots with default hwsettings
745 2012-01-02
746 Added new camera stabilization features: AxisLock mode and LPF.
748 2011-12-10
749 Merged a change that sorts the UAVO fields based on size.  Because this changes
750 all of the objects, erase all existing flash files based on this.
752 2011-11-04
753 New Spektrum/JR satellite receiver driver implementation.
754 It now provides explicit selection of DSM2 (and DSMJ), DSMX (10bit) and
755 DSMX (11bit) serial protocol variations to better serve different frame
756 and resolution modes. The protocol name used now is DSM instead of
757 previously used Spektrum to make it less ambiguous when used with JR
758 2.4GHz radios.
760 2011-10-20
761 Inputs can be remapped to outputs to allow up to 10 channels of control.  The
762 receiver inputs remap as follows:
763 Receiver 3 because output channel 7
764 Receiver 4 because output channel 8
765 Receiver 5 because output channel 9
766 Receiver 6 because output channel 10
768 2011-10-11
769 Fix for the Mac telemetry rates and specifically how long enumeration took.
771 2011-10-08
772 Make the flash chip need to be have bad magic for a full second before erasing
773 settings.  Should avoid random lost settings.
775 2011-09-12
776 Max rate now ONLY applies to attitude and axis lock mode.  Manual rate is the
777 only term that limits the rate mode now (and in axis lock when you push stick
778 only manual rate applies).  Also integrals are reset when unused.
780 2011-09-09
781 Some large updates to the input system.  Now multiple receivers can be
782 connected at once.  A wizard was added for configuring the input channels.  A
783 specific collective pitch channel was added.
785 2011-09-04
786 Improvements to the failsafe handling code for inputs.  PWM power off is now
787 detected properly.  Powering on transmitter for Spektrum Satellite no longer
788 causes a glitch on servos.
790 2011-08-10
791 Added Camera Stabilization and a gui to configure this.  This is a software
792 selectable module from the GUI.  However, a restart is required to make it
793 active.  The GUI does not currently expose the configuration for using the
794 transmitter to change the view angle but this is supported by the hardware.
796 2011-08-10
797 By default a lot of diagnostic objects that were enabled by default are now
798 disabled in the build.  This include TaskInfo (and all the FreeRTOS options
799 that provide that debugging information).  Also MixerStatus, I2CStatus,
800 WatchdogStatus and RateDesired.  These can be reenabled for debugging with
801 -DDIAG_ALL.
803 2011-08-04
804 Fixed packaging aesthetic issues.  Also avoid runtime issues on OSX Lion by
805 disabling the ModelView and Notify plugins for now (sorry).
807 2011-07-29
808 Added support for PPM receivers from James W. Now all 4 interfaces (R/C
809 standard PWM, combined PPM (MK), Spektrum satellite, Futaba S.Bus) are
810 supported and configurable through the GCS hardware configuration tab.
812 2011-07-17
813 Updated module initialization from Mathieu which separates the initialization
814 from the task startup.  Also implements a method to reclaim unused ram from
815 initialization and end of memory for the FreeRTOS heap.
817 2011-07-12
818 Improvements to the stabilization code.  Included a LPF on the gyros to smooth
819 out noise in high vibration environments.  Also two new modes: axis-lock and
820 weak leveling.  Axis-lock will try and hold an axis at a fixed position and
821 reject any disturbances.  This is like heading-hold on a heli for the tail but
822 can be useful for other axes.  Weak leveling is rate mode with a weak
823 correction to self level the craft - good for easier rate mode flying.
825 2011-07-07
826 Dynamic hardware configuration from Stac.  The input type is now
827 selected from ManualControlSettings.InputMode and the aircraft must be rebooted
828 after changing this.  Also for CopterControl the HwSettings object must
829 indicate which modules are connected to which ports.  PPM currently not
830 working.