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

4611 Commits

Author SHA1 Message Date
James Cotton
7b69cebe04 Merge branch 'master' into next 2012-01-23 06:07:31 -06:00
Stacey Sheldon
bfe6676eed exti: rewrite exti layer to improve portability
The exti layer now allows drivers to register interrupt callbacks
during board initialization.  All details of the driver using a
particular EXTI pin have been removed from the EXTI layer so it
can now be used on any board without board-specific modification.

This includes some nice refinements provided by Mike Smith during
initial review.  His original commits have been squashed into this
one.
2012-01-22 23:23:41 -05:00
Stacey Sheldon
dc4aa07a32 board_hw_defs: factor out board-specific hw config definitions
Board specific HW configuration is now collected in a single .c
file for each board.  This HW configuration is #include'd into
the FW, BL and BU builds for each board.

These new .c files are found in:
  flight/board_hw_defs/<board_name>/board_hw_defs.c

Parts of this information were previously duplicated between
the BL and FW builds.  This commit cleans up the duplication.

Using a #include on a .c file is a bit ugly but it allows us
to ensure that all of the symbols in the board_hw_defs.c file
are *ONLY* used in the PIOS_Board_Init() function for each
software build.
2012-01-22 19:41:41 -05:00
Stacey Sheldon
6bb4f0c61d leds: use boot-time config for PiOS LED layer
LEDs are now configured based on a board-specific initialization
in PIOS_BOARD_Init().

LEDs are now named:
  PIOS_LED_HEARTBEAT
  PIOS_LED_ALARM
2012-01-22 18:22:59 -05:00
Stacey Sheldon
3cbf4499e1 ld: make sure current pointer never goes backwards
Fixes linking on ld version 2.22.
2012-01-21 21:18:06 -05:00
Oleg Semyonov
9006dd558f gcscontrol: code style formatting and cleanup 2012-01-21 00:55:21 +02:00
Oleg Semyonov
7d15cbd720 gcscontrol: new joystick image with active stick area 2012-01-21 00:55:08 +02:00
Stacey Sheldon
64202ce092 Merge remote-tracking branch 'origin/stac/i2c_decoupling' into next 2012-01-17 22:35:36 -05:00
Stacey Sheldon
ad141c908a Merge remote-tracking branch 'origin/stac/usb-composite-device-v2' into next 2012-01-17 22:26:38 -05:00
Stacey Sheldon
bffb184b7a usb: add standard boilerplate to new files 2012-01-16 21:32:52 -05:00
Stacey Sheldon
ee0895aa77 usb hid: remove stale files from pipx
These files are no longer relevent for USB configuration.
2012-01-16 21:31:07 -05:00
Stacey Sheldon
3bda0f450d bootfault: force fault when no telemetry available on OP too
If no telemetry link is configured, this will force the board
to reset before finishing init.  The BootFault logic will
catch this after 3 resets and will boot with default hwsettings
on the next reset.

This won't currently ever fire on OP though since we always
configure the serial telemetry interface.  This just makes sure
the pattern is present in case anyone decides to compile without
serial telemetry.
2012-01-15 23:04:31 -05:00
Stacey Sheldon
8cd4816d7b taskmonitor: move taskmonitor into flight/Libraries
taskmonitor.[ch] existed as (nearly) identical copies under
CC and OP directories.  Both builds now reference the common
version under Libraries.
2012-01-15 21:37:10 -05:00
Stacey Sheldon
387ea77d30 diagnostics: enable DIAG_TASKS on OP board by default 2012-01-15 18:16:50 -05:00
Stacey Sheldon
b05697c2cf taskinfo: ensure usage of TaskInfo uavo is covered by DIAG_TASKS
OpenPilot platform (and thus sim too) was missed when the
DIAG_TASKS macro was broken out from the DIAGNOSTICS macro.

This allowed accesses to the TaskInfo UAVO even though it hadn't
been initialized.
2012-01-15 18:16:50 -05:00
Stacey Sheldon
0575b45378 usb: make USB usage depend on PiOS config
USB is not supported on sim platforms.  Let PiOS
config determine when we use it.
2012-01-15 18:16:49 -05:00
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
5a2119b896 Add stick deadband option to the config GUI 2012-01-15 21:16:57 +02:00
Oleg Semyonov
912bea559f Add stick deadband option for Roll/Pitch/Yaw inputs to firmware 2012-01-15 21:13:22 +02:00
Oleg Semyonov
5be5fe7aa6 ConfigTaskWidget: floating point scale in addUAVObjectToWidgetRelation()
This is required to map object field value range [0-1] to widget field
value range [0-100] (in percents).
2012-01-15 21:13:21 +02:00
Oleg Semyonov
91ba89eece ConfigTaskWidget: add QDoubleSpinBox to addUAVObjectToWidgetRelation() 2012-01-15 21:13:19 +02:00
Oleg Semyonov
13cee28ead ConfigInputWidget: fix getting enum options from UAVO field
Should not use known field order to get UAVO field. This breaks
a widget after adding any float field to the object since after
sorting this field will have index 0 and shift other fields.

This fix should have some runtime checks to make sure the field
was really found, but it should be fixed through the whole GCS
code in a separate cleanup.
2012-01-15 21:13:18 +02: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
Oleg Semyonov
5c20f1e37d ConfigTaskWidget: add some qDebug() statements for unhandled widget types 2012-01-15 00:34:23 +02:00
Oleg Semyonov
4fcd0f97c5 ConfigTaskWidget: add QDoubleSpinBox to addUAVObjectToWidgetRelation() 2012-01-15 00:34:22 +02:00
Oleg Semyonov
6444d6b3f6 TxPID: add module configuration GUI 2012-01-15 00:34:20 +02:00
Oleg Semyonov
887a8e89ec TxPID: fix units for ThrottleRange 2012-01-15 00:34:19 +02: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
Oleg Semyonov
99e73a4ae9 Merge branch 'master' into os/features/pid-tuning-from-transmitter 2012-01-14 23:38:21 +02: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