1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-11-30 08:24:11 +01:00
Commit Graph

4476 Commits

Author SHA1 Message Date
Stacey Sheldon
c97b108a1f bootfault: make IAP usage depend on PiOS config
The sim platforms don't support an IAP mechanism.  Let
PiOS config control when we try to use it.
2012-01-15 18:16:49 -05:00
Oleg Semyonov
873ff617ab Improve UAVObjects export and import file formats
Changed file format to be able to save settings and data together.
Old settings files still can be imported. Data export will also contain
settings, so we always have the system settings with the system state.

Sample file:

<!DOCTYPE UAVObjects>
<uavobjects>
    <version>
        ...
    </version>
    <data>
        <object id="0xC409985A" name="AccessoryDesired">
            <field values="0" name="AccessoryVal"/>
        </object>
        ...
    </data>
    <settings>
        <object id="0xF2875746" name="ActuatorSettings">
        ...
    </settings>
</uavobjects>
2012-01-15 18:37:57 +02:00
Oleg Semyonov
421cf89544 Fix device info struct fields and variable names, better version info messages
- fixed deviceDescriptorStruct field names
  (gitTag->gitHash, buildDate->gitDate, description->gitTag);

- fixed variable names
  (onBoardDescrition->onBoardDescription, LoadedDescrition->LoadedDescription);

- version info in exported UAV files looks now like this:

<version>
    <hardware revision="1" serial="51ff6b064883545366621987" type="4"/>
    <firmware tag="master" date="20120104 17:51" hash="14ee6e4f"/>
    <gcs tag="os/features/version-info" date="20120115 12:57" hash="236fae56"/>
</version>
2012-01-15 18:37:42 +02:00
Stacey Sheldon
7166ca996e Merge branch 'upgrade-stm32flash' into next 2012-01-14 18:28:03 -05:00
Stacey Sheldon
27ceb7ea92 modules: Allow optional modules to be used as built-in
Some modules are written such that they can be included
or excluded at runtime.  These are added to the OPTMODULES
list in the makefile for a given board.

This change provides a mechanism to allow a build to force
a given module to be built-in (ie. always initialized)
regardless of the configuration in hwsettings.

The main use case for this is to handle a module being optional
on one platform but essential on another.

All modules added to the MODULES list in the Makefile will
automatically result in a matching #define in the form
  MODULE_TheModuleName_BUILTIN
being defined in the CFLAGS for all compiled source.

Note that the capitalization of TheModuleName must match
exactly the capitalization used in the MODULES list.
2012-01-14 16:55:55 -05:00
Stacey Sheldon
53e9ef06b4 altitude: add optional altitude module 2012-01-14 15:38:56 -05:00
Stacey Sheldon
717c1311e6 altitude: allow altitude to be an optional module 2012-01-14 15:38:56 -05:00
Stacey Sheldon
bae08fcad0 bmp085: decouple i2c adapter
Let the bmp085 be attached to different adapters for different
boards.
2012-01-14 15:38:56 -05:00
Stacey Sheldon
4cb0c41338 bmp085: only use eoc and drdy gpios when available
When the bmp085 chip is on an external board, we don't
have access to the eoc and drdy gpio lines.  Only use
them when available.
2012-01-14 15:38:56 -05:00
Stacey Sheldon
a0089f072a i2c: rename main adapter to flexi adapter on CC 2012-01-14 15:38:56 -05:00
Stacey Sheldon
feacec468d i2c: compile-time decoupling of i2c devices from adapters
This allows each device to be moved (at compile time) to a
different adapter.  This is the first step to allowing devices
to be attached to different i2c adapters.
2012-01-14 15:38:56 -05:00
Stacey Sheldon
ec6d550225 i2c: allow i2c adapters to remap pin functions
Allows us to support more complex pin configurations
for i2c.
2012-01-14 15:38:55 -05:00
Stacey Sheldon
a51bf72bc7 usb: allow runtime selection of USB descriptors via hwsettings 2012-01-14 14:28:15 -05:00
Stacey Sheldon
1d14ab00e1 safeboot: add safe boot support to OP and PIPX bootloaders
Application support for OP and PIPX will show up in future
commits.
2012-01-14 14:28:11 -05:00
Stacey Sheldon
2d27c54d48 com_msg: Create new message based COM layer for bootloaders
The main purpose of this new COM implementation is that it is
much simpler, and requires less code space.  This takes a bit
of the pressure off of the CC bootloader which was right at
the limit of available code space in the bootloader partition.

This is not intended to ever be used by the application.

This driver also formalizes the assumptions in the bootloader's
usage of the COM layer.  All messages are assumed to arrive
in atomic chunks from the HID layer.
2012-01-14 14:23:18 -05:00
Michael Rumpler
1b314ee256 * cleaned up notifyplugin
cause:
   /projects/OpenPilot/git/ground/openpilotgcs/src/plugins/notify/notifyplugin.cpp:104:6:
   warning: unused parameter ‘configInfo’ [-Wunused-parameter]
   /projects/OpenPilot/git/ground/openpilotgcs/src/plugins/notify/notifyplugin.cpp:353:6:
   warning: unused parameter ‘values’ [-Wunused-parameter]
   /projects/OpenPilot/git/ground/openpilotgcs/src/plugins/notify/notifypluginoptionspage.cpp:73:10:
   warning: unused parameter ‘parent’ [-Wunused-parameter]
   /projects/OpenPilot/git/ground/openpilotgcs/src/plugins/notify/notifypluginoptionspage.cpp:451:6:
   warning: unused parameter ‘rangeStr’ [-Wunused-parameter]
   /projects/OpenPilot/git/ground/openpilotgcs/src/plugins/notify/notifypluginoptionspage.cpp:512:7:
   warning: unused parameter ‘oldstate’ [-Wunused-parameter]
   /projects/OpenPilot/git/ground/openpilotgcs/src/plugins/notify/notifypluginoptionspage.cpp:527:6:
   warning: unused parameter ‘deselected’ [-Wunused-parameter]

   implemented solution:
   fixed all of them (commented out var name)

* fixed bug in check code

   cause:
   /projects/OpenPilot/git/ground/openpilotgcs/src/plugins/notify/notifyplugin.cpp:
   In member function ‘void SoundNotifyPlugin::checkNotificationRule(NotificationItem*, UAVObject*)’:
   /projects/OpenPilot/git/ground/openpilotgcs/src/plugins/notify/notifyplugin.cpp:398:109:
   warning: suggest parentheses around comparison in operand of ‘|’ [-Wparentheses]

   implemented solution:
   this is an obvious bug that is syntactically correct but leads to a
   warning with a good compiler so this bug can be found. fixed that to use
   logical or instead of bitwise or.

* fixed bug in include file (error in compilation under Linux)

   cause:
   In file included from
   /projects/OpenPilot/git/ground/openpilotgcs/src/plugins/notify/notifypluginoptionspage.cpp:47:0:
   /projects/OpenPilot/git/ground/openpilotgcs/src/plugins/notify/notifytablemodel.h:86:39:
   error: reference ‘_list’ cannot be declared ‘mutable’ [-fpermissive]

   implemented solution:
   removed the mutable flag, as this is wrongly used on a reference (and
   therefore correctly causing a compile-time error
2012-01-11 22:16:26 +01:00
zedamota
b212d0d594 Merge branch 'next' of ssh://git.openpilot.org:22/OpenPilot into next 2012-01-10 17:06:38 +00:00
zedamota
63bb2874d7 OP-608
Camera Stabilization settings not being read from CC board into GCS if CC is started first.

Created connection callback only to be called after all plugins are loaded.
2012-01-10 17:03:58 +00:00
James Cotton
3b9e550a07 Merge remote-tracking branch 'origin/naiiawah/deb_package_build' 2012-01-10 09:34:05 +01:00
James Cotton
9de8adf311 Merge remote-tracking branch 'origin/naiiawah/deb_package_build' into next 2012-01-10 09:33:17 +01:00
zedamota
dbd9fcda28 OpenPilot OP-611
disable Flash button during operation
2012-01-09 16:53:59 +00:00
zedamota
00cb66ae79 OpenPilot OP-602
Please add a Help button on the Firmware page
2012-01-09 16:35:35 +00:00
zedamota
38392ee638 several fixes to the notify plugin 2012-01-09 16:09:50 +00:00
zedamota
9f2b71a351 Convert filename to lowercase 2012-01-09 14:06:27 +00:00
zedamota
553dab50fb Merge branch 'notify-plugin-merged' into next
Conflicts:
	ground/openpilotgcs/share/openpilotgcs/sounds/default/minus.wav
2012-01-09 14:02:04 +00:00
sambas
dd26e7c80f qwt 6.0.1 upgrade, sadly doesn't fix QT-4.8.0 scopeplugin in windows. 2012-01-08 12:13:51 +02:00
Stacey Sheldon
0ce95839ca stm32flash: Upgrade to revision 61 to support STM32F4 CPU 2012-01-07 17:28:00 -05:00
Stacey Sheldon
b0d1551cc2 Merge remote-tracking branch 'origin/stac/usb-composite-device-v2' into next 2012-01-07 13:35:42 -05:00
Stacey Sheldon
fb0fbb150d bl: bump CC bootloader version to reflect safe boot support 2012-01-07 09:52:46 -05:00
Stacey Sheldon
a86abcd140 usb cdc: fix index of first interface in IAD
This error resulted in the HID interface being non
functional on windows platforms.
2012-01-07 09:46:12 -05:00
dankers
08a498aa48 Update font file 2012-01-07 05:43:20 +11:00
naiiawah
6c38114cfc Fixed borkage in the rules file where the if test was malformed. Added
a change to force an error if the passed in ENV var is not defined.  If
that had been there, the borkage wouldn't have been undetected.

Changed to only put the main FW in the firmware dir, instead of BL and
FW.
2012-01-04 21:39:23 -07:00
James Cotton
12e879ced9 Merge branch 'master' into next 2012-01-04 11:54:27 -06:00
James Cotton
14ee6e4fb5 When configuring a heli transmitter instruct the user to disable throttle hold. 2012-01-04 11:51:16 -06:00
James Cotton
82d91d9830 Talked PT into a simpler firmware mismatch warning in exchange for more
photoshop.
2012-01-04 11:51:12 -06:00
Stacey Sheldon
3bc45b0036 usb cdc: use proper macro for CDC mgmt endpoint packet size
The hard-coded value (16) in the descriptor differed from the
macro (32) which was used to configure the low-level USB HW
block in the STM32.
2012-01-04 00:38:19 -05:00
Stacey Sheldon
025ed0f43c Merge remote-tracking branch 'origin/stac/usb-composite-device-v2' into next
Conflicts:
	HISTORY.txt
2012-01-03 00:02:45 -05:00
Stacey Sheldon
a6e03549f8 history: added notes about newly added features 2012-01-02 23:57:58 -05:00
Stacey Sheldon
b9eecadbe2 alarms: add BootFault alarm to system health SVG files
Original changes provided by Jose, text was slightly
modified to match alarm name.
2012-01-02 23:35:39 -05:00
Stacey Sheldon
e22bc0c51b copyright: remove incorrect attribution in boilerplate text
These files do not contain content from the ID in the header.
This name seems to have been cut/pasted all over throughout
the openpilot source tree and should be removed from any files
that should not rightfully be attributed to this person.
2012-01-02 23:33:07 -05:00
Stacey Sheldon
8d8715c8c1 copyright: add/correct GPL + copyright boilerplate
I missed some of the boilerplate text on some of the
new files I've added recently.  Fixed.
2012-01-02 23:28:53 -05:00
Stacey Sheldon
7b38bc3d2d jtag: add new make targets for reset and safeboot
It is now easier to trigger warm restarts of a board
via jtag.

Examples:
  * make fw_coptercontrol_reset
  * make fw_coptercontrol_safeboot

NOTE: These targets are making chip-specific assumptions
      so they have to be rewritten to support the F2/F4
      boards.
2012-01-02 14:27:07 -05:00
Stacey Sheldon
4fd40ca0d2 gcs uploader: add support for "Safe Boot" to the GCS uploader
When halted in the bootloader or while rescuing a board, the
user can press the "Safe Boot" button in the uploader gadget
to force the FW to boot with a default hwsettings configuration.

The default conditions of the hwsettings uavo will disable all
optional modules, disable all serial port config, and ensure that
the board can communicate via the USB HID telemetry interface.

Once booted in this mode, a user can easily reconfigure the
hwsettings uavo through the config GUI and save the fixed
settings to the board to be used on the next reboot.  No need
to wipe all settings just to recover from a non-functional
HW config.

NOTE: The GCS needs to grow some very clear visual clues to
      indicate when the board has booted in safe mode.  The
      firmware helpfully raises a (new) critical alarm called
      BootFault whenever it boots in safe mode.
2012-01-02 14:27:07 -05:00
Stacey Sheldon
4d2760f11d cc bl: allow bootloader to force safe-boot into firmware
This can be used by the GCS firmware uploader widget to boot
the firmware with a (temporarily) defaulted hwsettings uavo
so that a user can easily recover from a bad/incompatible
hwsettings configuration without wiping all settings.

This uses the same mechanism that the BootFault auto-recovery
code already uses in the CC firmware.  The auto-recovery is
triggered by setting the failed-boot counter to a maximum
value forcing recovery on the next FW init.
2012-01-02 14:27:06 -05:00
Stacey Sheldon
481a13609e com: remove all references to PIOS_COM_ReceiveBufferUsed()
The PIOS_COM_ReceiveBufferUsed() function call is no longer
necessary since the same semantics can be achieved using calls
to PIOS_COM_ReceiveBuffer().
2012-01-02 14:27:06 -05:00
Stacey Sheldon
b94f4b49a4 usb: major refactoring of USB descriptors, CDC and HID
Summary of changes:
 * USB CDC and HID drivers are completely split apart.
   * This will allow different max buffer sizes for HID and CDC.
 * USB descriptors have been overhauled:
   * Proper structs/macros/enums declared for USB (see pios_usb_defs.h)
   * Two common descriptor definitions.  One for HID+CDC another for HID only.
     See pios_usb_desc_{hid_cdc,hid_only}.c for details.
   * Long standing bugs in OP USB descriptors became much more obvious with the
     new struct definitions.
   * Board specific USB initialization is now in pios_usb_board_data.h in each build target.
   * Definition of USB descriptors is now entirely indpendent of STM32 libs.
     Glue into STM32 libs is provided by pios_usbhook.c.
 * Removed a lot of stale/irrelevant USB #defines throughout the tree.
 * Improved naming consistency throughout USB code:
   * PIOS_USB_HID_* now refers to the HID endpoint code.
   * PIOS_USB_CDC_* now refers to the CDC endpoint code.
   * PIOS_USB_* now refers to the low-level USB code.
   * PIOS_USB_BOARD_* now refers to board-specific USB data
   * PIOS_USBHOOK_* is glue between PIOS and STM32 USB libs.
   * struct usb_* and enum usb_* and USB_* and HID_* are all types from the USB spec.
 * Shrunk the buffer size on the CDC call mgmt endpoint to save some RAM.
 * Made a few more USB related variables static to save some RAM.
2012-01-02 14:27:06 -05:00
Stacey Sheldon
7f03195aba stm32 usb: allow descriptor data to be const through API
This allows a few more data structures to be const to save
some RAM.
2012-01-02 14:27:06 -05:00
James Cotton
1b6ff0e470 Merge remote-tracking branch 'origin/os/features/advanced-camera-stabilization' into next 2012-01-02 11:38:27 -06:00
James Cotton
e901e30ecd Merge branch 'next' 2012-01-02 09:21:55 -06:00
James Cotton
a2b067e4d5 Fix GUI bug for the GCS controller 2012-01-02 09:19:50 -06:00