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

4181 Commits

Author SHA1 Message Date
Stacey Sheldon
0d8fe83dca usb cdc: advertise support for line coding and serial state
The CDC descriptor was not advertising support the the line
coding and serial state messages.  This was preventing Mac
from sending the SetControlLineState message to indicate
that a DTE (ie terminal program) was present and reading
from the serial port.

We support (and depend on) the DTE indication now so this
was making CDC not work on Mac.

Linux seems to provide the indication regardless of whether
it is advertised in the descriptor or not.
2013-05-11 22:41:03 +02:00
Stacey Sheldon
0e0571149b f4 usb: ensure that we NAK on unused OUT endpoints
The ST USB code will automatically receive on any
endpoint that is opened but not in the NAK state.
Make sure we set OUT endpoints to NAK initially.

It also happily writes via a NULL pointer in ep->xfer_buff
which writes to address 0x0000_0000.  Since address
0x0 is aliased onto the internal flash by the BOOT0/1 pins
and the internal flash is (normally) in the LOCKED state,
this write puts the internal flash into an errored state.

This errored state means that writes to internal flash
are no longer allowed and all further writes fail.
2013-05-11 22:41:03 +02:00
Stacey Sheldon
565de5fd4e f4 usb: ensure correct interface numbers for BL and FW
The interface numbers differ for the HID interface between
the BL and FW.  This is required to keep windows happy.

In HID+CDC, the CDC interfaces must come first with HID last
which makes it #2.  In HID only mode, we can't use #2 for HID
since windows doesn't like the first/only interface to be
anything other than #0.

Conflicts:
	flight/targets/board_hw_defs/discoveryf4/board_hw_defs.c
	flight/targets/board_hw_defs/flyingf4/board_hw_defs.c
	flight/targets/board_hw_defs/freedom/board_hw_defs.c
	flight/targets/board_hw_defs/quanton/board_hw_defs.c
2013-05-11 22:41:02 +02:00
Stacey Sheldon
2165a5afe1 f4 usb hid: handle SET_IDLE request
The code doesn't do anything useful with the SET_IDLE
but this helps to keep the wireshark USB traces clean
so that the real errors stand out better.
2013-05-11 22:41:02 +02:00
Stacey Sheldon
c22daec1b0 usb cdc: avoid need for ZLP by using tx buffers smaller than max
USB CDC uses BULK endpoints to send/receive data.  Typically,
a USB host will enqueue large buffers on its IN (device-to-host)
URBs.  These buffers are larger than the max packet size for the
bulk endpoint.

The USB standard requires that an IN transfer ends when one of
these is true:
 * a short packet (ie. less than max packet size) is sent by the
   device
 * a zero length packet (ZLP)
 * enough packets that the entire host buffer is filled

Our device implementation never sends ZLPs.  We sometimes send
packets that are exactly max-packet-size bytes long.  This would
result in partially filling a host buffer without signalling (via
ZLP) that the transmission had finished.  The host would then wait
until the next transfer had taken place before processing the first
data, thus delaying the first data.

This change simply forces all of our transfers to be short packets
and avoids the need to worry about zero length packets.  This is
at the cost of some efficiency on the host side since its large
buffers will only ever be partially filled.

Conflicts:
	flight/PiOS/STM32F30x/pios_usb_cdc.c
2013-05-11 22:41:01 +02:00
Stacey Sheldon
366c573bab f4 usb hid: send correct report ID in dummy report
The desired report ID is in the LSB of the wValue field,
not the MSB.  This will now send the correct report ID
back to the host.
2013-05-11 22:41:01 +02:00
Stacey Sheldon
232f9b2f8f f4 usb hid: use static data for dummy report Tx
This code was previously passing a pointer to stack
data into PIOS_USBHOOK_CtrlTx() which may be sending
this data asynchronously.  Now pass a pointer to
static data so that the asynchronous send doesn't
tx random stack contents.
2013-05-11 22:41:00 +02:00
Stacey Sheldon
859734af98 f4 usb: fix tracking of OUT requests with data stages
This code was mistakenly tracking the IN (device-to-host)
requests with data stages.  It should have been tracking
the OUT (host-to-device) requests with data stages.

This tracking data is important now that CDC is supported.
CDC actually uses OUT requests with data stages whereas HID
does not.  This bug only triggered once CDC was enabled.
2013-05-11 22:41:00 +02:00
Stacey Sheldon
b56f5206bd com/usart/cdc: ensure that device structs are memset before use
CDC and USART device drivers were not all clearing their
device structs before using them.

This specifically caused crashes in the case where the upper
COM layer was binding only a Tx path.  The Rx path callback
in the lower driver was uninitialized random data and would
result in the lower driver faulting when it tried to call the
callback.

Conflicts:
	flight/PiOS/STM32F30x/pios_usart.c
	flight/PiOS/STM32F30x/pios_usb_cdc.c
	flight/PiOS/STM32F30x/pios_usb_hid.c
2013-05-11 22:40:59 +02:00
Stacey Sheldon
e16be98224 usb cdc: ensure com buffer is drained when no DTE is attached
The CDC layer on F1, F3 and F4 now always acts like an
infinte data sink whenever *either* there is no DTE present
(ie. no terminal program listening) *or* the USB cable is
disconnected.

F1 and F4 were previously checking the cable but not the DTE.
F3 didn't check anything.  The COM layer didn't even ask the
lower layers.

All of this used to mean that any time a caller did a blocking
send to a CDC device without a DTE, it would eventually block
for up to a 5s timeout waiting for space in the Tx buffer.

Conflicts:
	flight/PiOS/STM32F30x/pios_usb_cdc.c
2013-05-11 22:40:58 +02:00
Stacey Sheldon
c702ca0f1b usbhook: fix up indentation
No functional changes.
2013-05-11 22:40:57 +02:00
Stacey Sheldon
cb6f4a474e f4 usb: ensure data buffers are 4-byte aligned
4-byte alignment is required for DMA.
2013-05-11 22:40:56 +02:00
Stacey Sheldon
9cc70695d7 f4 usb cdc: add support for USB CDC to RevoMini
Conflicts:
	flight/targets/RevoMini/System/inc/pios_config.h
	flight/targets/RevoMini/System/pios_board.c
2013-05-11 22:40:56 +02:00
Stacey Sheldon
c6e893e1e5 usb: fix interfaces in USB HW defs for OSD 2013-05-11 22:38:28 +02:00
Stacey Sheldon
207bd671ac usb: fix interfaces in USB HW defs for RevoMini 2013-05-11 22:38:27 +02:00
Stacey Sheldon
f4bed187f4 f4 usb cdc: implement CDC class driver for STM32 F4 SoCs 2013-05-11 22:38:26 +02:00
Stacey Sheldon
19714d2316 f4 usb: allocate TX FIFO RAM for endpoints 2 and 3
This is required to support USB CDC mgmt and data
endpoints.
2013-05-11 22:38:25 +02:00
Stacey Sheldon
02addaf4a0 usbhook: make ctrl endpoint OUT treat request as const
The req parameter is passed to the OUT stage as a convenience.
Since the OUT callback is called *after* the transfer has occurred,
modifying the req would have absolutely no effect.  Marking this
as const makes this expectation clear.
2013-05-11 22:38:25 +02:00
Stacey Sheldon
590feefd9b f1 usb cdc: ensure uart state is transmitted on control endpoint
Previously, the IN stage on the CTRL interface would write (and
send) its data via the buffer owned by the DATA endpoint.  This
would probably have overwritten any data being sent at that
moment.  This may have caused data corruption from FC -> GCS.
2013-05-11 22:35:19 +02:00
Alessio Morale
d555bd0673 Uses Internal flash for system settings storage repourposing external flash for "User" storage 2013-05-11 22:06:30 +02:00
Alessio Morale
511283c608 Flash internal: writes optimization using 4 bytes parallelism 2013-05-11 22:04:47 +02:00
Alessio Morale
687e75b2e2 Changes to board specific files to support UAVObject on a specific LogFS instance 2013-05-11 17:15:07 +02:00
Alessio Morale
aefda3b560 Changes to UAVObjectManager to explicitly specify the logfs instance to be used 2013-05-11 17:13:11 +02:00
Richard Flay (Hyper)
04f59d5910 OP-950: Adds "higher priority task woken" logic to SPI and SPI bus resident
sensor device drivers. Based partly on code contributed by lilvinz.

+review OPReview
2013-05-11 16:18:34 +09:30
Corvus Corax
336a50f7e4 dynamic is better than static 2013-05-11 02:02:04 +02:00
Corvus Corax
92d73e0e73 keep on stack for now 2013-05-11 01:56:57 +02:00
Corvus Corax
e3147eed1a some changes as suggested in review 2013-05-11 01:33:56 +02:00
Corvus Corax
0a3b59ddea ManualControl: Initialize scaledChannel to 0, - required to not fail compilation with -O3 (GCC claims about potentially uninitialized use) 2013-05-10 20:23:16 +02:00
Corvus Corax
b76df471ee bugfix on revo proto. STM32F4 A revision has a hardware bug and cannot do flash prefetching properly 2013-05-10 19:53:51 +02:00
Werner Backes
7c9d2ce9a5 Merge branch 'D-Lite/OP-934_rfm22b_rcvr_timeout_handling_next' into next 2013-05-10 09:59:30 +02:00
Corvus Corax
c5cbbf1c19 OP-944 : Improve Extended Kalman Filter generic formula to work roughly as fast as the auto generated code, remove autogenerated code. 2013-05-09 21:26:35 +02:00
Richard Flay (Hyper)
cf14608ebe Merge branch 'next' into hyper/OP-936_task-monitor-rework 2013-05-09 19:25:02 +09:30
Stacey Sheldon
c6485a134c logfs: load/save UAVOs to specific logfs partition
Now that multiple filesystem partitions are supported,
the UAVO manager needs to be specific about which partition
to load/save its objects to.

Conflicts:
	flight/targets/CopterControl/System/pios_board.c
	flight/targets/DiscoveryF4/System/pios_board.c
	flight/targets/FlyingF3/System/pios_board.c
	flight/targets/FlyingF4/System/pios_board.c
	flight/targets/Freedom/System/pios_board.c
	flight/targets/Quanton/System/pios_board.c
	flight/targets/RevoMini/System/pios_board.c
	flight/targets/Revolution/System/pios_board.c
	flight/uavobjects/uavobjectmanager.c
2013-05-08 20:06:32 +02:00
Stacey Sheldon
4f9ce60930 ut logfs: add support for testing a 2nd partition 2013-05-08 19:42:12 +02:00
Stacey Sheldon
8ab50bca13 flashfs: use uintptr_t instead of uint32_t in flashfs API 2013-05-08 19:42:01 +02:00
Stacey Sheldon
99e61dd617 logfs: support multiple instances of logfs
Conflicts:
	flight/pios/common/pios_flashfs_logfs.c
	flight/pios/inc/pios_flashfs_logfs_priv.h
	flight/tests/logfs/pios.h
	flight/tests/logfs/pios_config.h
	flight/tests/logfs/unittest.cpp
2013-05-08 19:28:11 +02:00
Alessio Morale
93bad2e8c2 Merge branch 'amorale/OP-917_f4_bootloader_updater' into next
***** PLEASE NOTE  ***** From this revision all F4 based boards (Revolution/OSD) needs bootloader version  5 to boot properly

Conflicts:
	flight/pios/stm32f4xx/libraries/CMSIS2/Device/ST/STM32F4xx/Source/osd/system_stm32f4xx.c
	flight/targets/boards/osd/board-info.mk
	make/boot-defs.mk
	make/common-defs.mk
2013-05-07 21:02:41 +02:00
Werner Backes
cc38ba0bdb Revert 8fa793 because it's obsoleted by 938ed5. 2013-05-06 14:26:25 +02:00
Werner Backes
938ed58918 Corrected timout calculation formula. 2013-05-06 14:20:53 +02:00
Werner Backes
bb87e6390e Update ppm_fresh if we receive a new PPM packet in order to keep the
rfm22b receiver supervisor happy.
2013-05-06 12:00:58 +02:00
Richard Flay (Hyper)
fbc8bc698f OP-936: Merges branch 'next' into hyper/OP-936_task-monitor-rework, fixes damage/conflicts,
and brings the callback scheduler into the fold.

+review OPReview-461
2013-05-06 19:11:14 +09:30
Werner Backes
0005d643ca Merge branch 'D-Lite/OP-934_rfm22b_rcvr_timeout_handling' into D-Lite/OP-934_rfm22b_rcvr_timeout_handling_next 2013-05-06 08:23:22 +02:00
Brian Webb
ae8286e99a OP-932: Fixes a bug that was preventing setting of Tx power on remote modem. 2013-05-06 01:03:15 +01:00
Corvus Corax
39fe6beb4b Merge branch 'corvuscorax/Attitude-fixes' into next
Conflicts:
	flight/libraries/insgps13state.c
	flight/modules/Attitude/revolution/attitude.c
2013-05-05 23:09:07 +02:00
Corvus Corax
e0a6dae46a made "fake" variances set in indoor mode and used for airspeed hack come from UAvObject 2013-05-05 18:19:43 +02:00
Corvus Corax
946105cbe3 Merge branch 'next' into corvuscorax/Attitude-fixes 2013-05-05 17:44:59 +02:00
Alessio Morale
5a2c53804f OP-917 Make reboot over telemetry link works. UserDFU timeouts to the user application when no USB connection is found.
+review OPReview-456
2013-05-05 15:15:44 +02:00
Richard Flay (Hyper)
a2d8544931 OP-931: adds -Wextra compiler option for the flight code, and makes the bazillion code changes required
to make the flight code compile again. Needs careful review, particularly all the fixes for the
signed vs unsigned comparisons.

+review OPReview-459
2013-05-05 16:32:24 +09:30
Alessio Morale
1e5ce7a5fb OP-938 Add programmable EXP and max full throttle climb/descent rate 2013-05-04 18:50:19 +02:00
Brian Webb
dc4455ff68 OP-932: Fixes a bug that was preventing setting of Tx power on remote modem. 2013-05-04 17:24:40 +01:00
Brian Webb
d7ca77b996 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into OP-932-Modularize_Radio_Driver 2013-05-04 16:50:20 +01:00
Brian Webb
57552f4cc9 OP-932: Changed the clock syncronization to happen only on packts transmitted from the coordinator to the remote modem. The Tx finished time of the previous packet is now sent in the packet header. This is compared to the Rx complete time of that packet on the remote modem to calcualte the difference between two modems. This eliminates the need for ACKing, so ACKs were removed for PPM and status packet. 2013-05-04 16:50:08 +01:00
Richard Flay (Hyper)
5b61466259 OP-931: Adds -Wdouble-promotion compiler option and fixes problems that the compiler then identifies.
+review OPReview-459
2013-05-04 19:24:01 +09:30
Richard Flay (Hyper)
7f273bd9e6 Fixes recent, but broken, commit of fix for OP-754. Bunny is bad. 2013-05-04 11:30:39 +09:30
Richard Flay (Hyper)
87fcf9fa8b Merge branch 'next' into hyper/OP-931_extra_compiler_warnings and update as necessary.
Hopefully properly fixes conflicts:
	flight/modules/Attitude/attitude.c
	flight/modules/ManualControl/manualcontrol.c
	flight/modules/Osd/WavPlayer/wavplayer.c
	flight/modules/Osd/osdgen/osdgen.c
	flight/modules/System/systemmod.c
	ground/uavobjgenerator/generators/flight/uavobjectgeneratorflight.cpp
2013-05-04 11:12:44 +09:30
Brian Webb
33cb06b1b0 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into OP-932-Modularize_Radio_Driver 2013-05-04 01:30:01 +01:00
Richard Flay (Hyper)
576d33464a OP-754/OPReview-374: Applied a very old patch, provided by cyr, to the latest next branch. 2013-05-04 09:10:02 +09:30
Alessio Morale
c88c0e03a8 OP-938 Reduce deadband to +/-10% around 0 2013-05-03 22:32:23 +02:00
Alessio Morale
1c3fb70ab1 OP-629 Block arming on all navigation based modes
Conflicts:
	flight/modules/ManualControl/manualcontrol.c
2013-05-03 22:32:23 +02:00
Alessio Morale
976999eba0 OP-938 Add an "Exp" to throttle stick when in AH to make it useable
Conflicts:
	flight/modules/ManualControl/manualcontrol.c
2013-05-03 22:32:23 +02:00
Alessio Morale
9f65409c5a OP-938 Stop AH from running when board is not armed 2013-05-03 22:32:23 +02:00
Oleg Semyonov
137ddbf73a Fix broken unit tests 2013-05-03 20:27:03 +02:00
Oleg Semyonov
7aa59f4573 pios.h: only include STM32xxx.h if particular STM32 MCU is defined 2013-05-03 20:25:48 +02:00
Brian Webb
38cd0e1c46 OP-932: Fixes configuration of the remote serial connection when using VCP/raw comms. 2013-05-03 14:46:14 +01:00
Brian Webb
12e8adbdc4 OP-932: Fixes vitual com port and (not tested) raw comms over a UART on the OPLink. 2013-05-03 14:46:01 +01:00
Brian Webb
84a0f981e0 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into OP-932-Modularize_Radio_Driver 2013-05-03 14:08:40 +01:00
Richard Flay (Hyper)
0178d666d5 OP-931: Fixes the mag_updated test in revo Attitude module to use the square of the Be vector magnitude.
Also fixes the dT calculation issues in a few places, one of which was as suggested in OPReview-459.

+review OPReview-459
2013-05-03 19:24:54 +09:30
Corvus Corax
5d5a3389c4 missed removal of unneeded update chec 2013-05-03 02:48:06 +02:00
Corvus Corax
25c58ff074 Put all EKF initialisation values in a separate UAVObject EKFConfiguration,
adapted insgps13state.c/.h,
modules/Attitude/revolution,
configrevowidget.cpp,
accordingly.
2013-05-03 02:17:44 +02:00
Richard Flay (Hyper)
84e1a81f8b OP-936: Moves the task monitor code out of the flight library and into PiOS.
This move and rework also breaks the dependency of the task monitor on the UAVO subsystem,
and pushes the responsibility for updating the TaskInfo UAVO into the System module.

+review OPReview
2013-05-03 07:01:14 +09:30
Corvus Corax
48288c740e OP-931: some floating point math fixes, should make merge with other dev branch easier 2013-05-02 22:45:02 +02:00
Corvus Corax
201eed8d8f when testing variances for validity dont allow negative variances 2013-05-02 20:09:57 +02:00
Werner Backes
b48665e59b rfm22b receiver supervisor now properly indicates a timeout condition.
This allows upper layers to recognize control signal loss.
2013-05-02 12:57:00 +02:00
Werner Backes
8fa79377c3 Lowered rfm22b_rcvr supervisor timeout. Timeout values above 159 exceed uint8_t
range during timeout calculation and effectively disable the supervisor.
2013-05-02 12:56:57 +02:00
Sambas
f7b9223827 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext
Conflicts:
	flight/modules/System/systemmod.c
	shared/uavobjectdefinition/taskinfo.xml
2013-05-02 09:00:12 +03:00
Brian Webb
66b048e280 OP-932: Fixes configuration of the remote serial connection when using VCP/raw comms. 2013-05-02 04:42:16 +01:00
Brian Webb
80cef9dbcc OP-932: Fixes vitual com port and (not tested) raw comms over a UART on the OPLink. 2013-05-02 04:23:26 +01:00
Corvus Corax
467b22f294 I knew I had forgotten something (cos -> cosf ...) 2013-05-01 20:40:50 +02:00
Corvus Corax
ff5fd9c7c9 Safety modification, defer any change to RevoSettings (fusionalgorithm), RevoCalibration, and EKFInitialVariance until the craft has been disarmed! 2013-05-01 20:21:46 +02:00
Corvus Corax
e7dc665c14 Reworked Variance Objects, Setting for initial EKF variance 2013-05-01 19:16:29 +02:00
Corvus Corax
3ef2693dfc use DEG2RAD and RAD2DEG everywhere 2013-05-01 18:16:22 +02:00
Corvus Corax
d77c690fe3 Merge branch 'next' into corvuscorax/Attitude-fixes
Conflicts:
	flight/modules/Attitude/revolution/attitude.c
2013-05-01 17:51:05 +02:00
Brian Webb
3b5bec167e Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into OP-932-Modularize_Radio_Driver 2013-05-01 15:30:24 +01:00
Brian Webb
d8b09f132f OP-932: Removes requirement to ACK PPM packets. 2013-05-01 15:28:33 +01:00
Brian Webb
344e5cbb66 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into OP-932-Modularize_Radio_Driver 2013-05-01 14:38:28 +01:00
Brian Webb
8c763c8ed3 OP-932: Improves the timing of channel changes on the radio device. 2013-05-01 14:37:47 +01:00
Corvus Corax
a0ca66b0cd Merge branch 'corvuscorax/delayed_callbacks_with_delay' into next 2013-05-01 15:34:16 +02:00
Oleg Semyonov
7032d2a9d6 Merge remote-tracking branch 'origin/next' into os/uncrustify-config 2013-05-01 13:31:38 +02:00
Oleg Semyonov
654dd051c7 Merge remote-tracking branch 'origin/next' into os/debug-pins 2013-05-01 11:13:30 +02:00
Brian Webb
a7d606dfe9 OP-932: Syncronize start of transmissions using the same coordinated clock as used by FHSS. 2013-05-01 03:46:46 +01:00
Brian Webb
2201d9d2bb OP-932: Continued cleanup and modularization of radio code. Also fixed a bug that held the SPI lock when an error occured in an Rx. 2013-05-01 03:14:35 +01:00
Brian Webb
ef18319306 OP-932: Continued cleanup and modularization of the RFM22B radio code. Low-level radio driver has mostly been split out of the higher-level state machine. 2013-05-01 03:14:23 +01:00
Brian Webb
94cb92f410 OP-932: Additional restructuring of radio code. 2013-05-01 03:14:11 +01:00
Brian Webb
cb24d3266e OP-932: Hold SPI bus semephore through multiple read/write transactions. 2013-05-01 03:13:58 +01:00
Brian Webb
8c59271d48 OP-932: Store the device status in bitfields with meaningful names. 2013-05-01 03:13:48 +01:00
Brian Webb
c3ea1bf3c0 OP-932: Fixed GPIO debugging on RevoMini (both V1 and V2) 2013-05-01 03:13:36 +01:00
Brian Webb
39c6e81d07 OP-924: Ensures that the PPM pulse turns off between PPM frames. 2013-05-01 02:48:48 +01:00
Brian Webb
e642183dee OP-924: Any disconnect between radios causes a reset, which causes a re-configuration of I/O devices (com ports, PPM, etc). This causes problems due to certain devices (PPM in particular) not supporting re-configuration. This patch forces configuration to only happen once (on initial connection), which should fix this issue. 2013-05-01 02:48:47 +01:00
Brian Webb
76e4638b8f OP-924: Added back setting of Tracking to true when a new sample is set. 2013-05-01 02:48:46 +01:00
Brian Webb
56a524ab9e OP-924: Completely turn off PPM output when it's not being refreshed. Also fixed testing of PPM input on the OPlink that was broken when the return values were changed to negative values. The PPM values were being stored in an unsigned datatype, which made detecting negative error returns impossible. 2013-05-01 02:48:45 +01:00
Brian Webb
ab926da507 OP-924: Added a supervisor timeout to the PPM output driver. This is based on the code in the PPM input driver. A (minor) uninitialize variable bug was also fixed in the PPM input driver. 2013-05-01 02:48:44 +01:00
Alessio Morale
37a0d2c99e OP-917 included a "compatibility" linker script used by the bootloader updater to ensure its compatibility with previous bootloader versions
+review OPReview-456
2013-05-01 01:14:30 +02:00
Alessio Morale
d79887d223 OP-917 relocate IRQStack to CCSRAM
+review OPReview-456
2013-05-01 01:11:17 +02:00
Alessio Morale
e1fdc41d7f OP-917 add Bootloader support for IRQStack to reside in CCSRAM
+review OPReview-456
2013-05-01 01:03:27 +02:00
Alessio Morale
1eef6a7f06 OP-917 Extended the program flash size to 3 128k sectors for F4 targets
+review OPReview-456
2013-05-01 01:00:48 +02:00
Oleg Semyonov
dbc35d2b71 Update flight/.gitattributes to include *.template files 2013-04-30 22:15:58 +02:00
Oleg Semyonov
7c6da1df65 OPLinkMini: remove duplicated pvPortMalloc defines, fix #ifdef macro name
When the #define is reformatted by uncrustify, it differs from the same
in FreeRTOS default config and gives error. So the removal of it serves
to 2 purposes: removes the duplication and fixes uncrustified builds.
2013-04-30 16:54:30 +02:00
Oleg Semyonov
0394a3511c Rename template files to *.template to screen from uncrustify processing 2013-04-30 16:54:27 +02:00
Richard Flay (Hyper)
7937ae6296 OP-931: Makes flight code compile with -Wfloat-equal and -Wunsuffixed-float-constants enabled.
Also fixes warnings (and bugs) in F4 STM32_USB_OTG_Driver code, allowing -Werror to be enabled for all flight code.
Fixes all other compiler warnings that would otherwise cause the flight code to not compile with -Werror enabled.
Along the way, this also adds some uses of isnan() to various places rather than questionable tests for x != x and
x == x to check for NaNs.

+review OPReview
2013-04-30 20:36:42 +09:30
Corvus Corax
0536936d45 Safety checks for NAN and INF and invalid variance configuration to protect EKF from harm 2013-04-28 23:41:43 +02:00
Corvus Corax
c06f049e2a adjusted initial variances and defaults to be closer to the original values to reduce possibly negative impacts of the previous changesets 2013-04-28 21:17:51 +02:00
Corvus Corax
6e2c9b3c46 New EKFStateVariance UAVObject with EKF state variance information 2013-04-28 19:38:37 +02:00
Corvus Corax
14f72459c6 Changed code for attitude initialisation so it works when the board is upside down 2013-04-28 16:57:40 +02:00
Corvus Corax
a47f092a9d added missing function in header file 2013-04-28 16:37:12 +02:00
Corvus Corax
63c4dc1ff0 Expose gyro bias process variance to settings UAVObject, code cleanup in revolution/attitude to make it more readable 2013-04-28 14:46:27 +02:00
Oleg Semyonov
19e374e8d1 OP-917: Minor fix for indents and spacing 2013-04-28 15:35:28 +03:00
Corvus Corax
dff6c2cb98 handle GyroBias more gracefully:
Its now only a dynamic offset to a static calibration. Also have to complementary filter still work with uncorrected raw values.
2013-04-28 12:25:48 +02:00
Alessio Morale
41ecc09c3f OP-917 Various review fixes:
-Fixed casing for PIOS_BL_HELPER_FLASH_ERASE_BOOTLOADER
-fixed wrong condition in f1 bl_helper
-other cosmetic changes and use of stdbool in f1 pios_bl_helper
-remove now unused macros

+review OPReview-456
2013-04-28 10:19:08 +02:00
Alessio Morale
9f56fe9a1e OP-917 Makefiles cleanup. Get rid of ALL_BOARDS_BU as not all boards have one
+review OPReview-456
2013-04-28 10:14:50 +02:00
sambas
38d9d5dde3 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext
Conflicts:
	flight/modules/VtolPathFollower/vtolpathfollower.c
2013-04-28 09:46:14 +03:00
Richard Flay (Hyper)
80c917591e Cherry-pick and hand-merge of Sami's math cleanup commit from branch sambas/diffnext: 5f3e0c3e1d 2013-04-28 10:45:28 +09:30
Corvus Corax
98c90a67f5 Undo James removal of gyro_bias and gyro_scale in revocalibration
Note that the EKF can only compensate for slow temperature drift, the gyros should be bias-zeroed before flight through calibration!
2013-04-27 23:59:52 +02:00
Corvus Corax
8d1baa2ceb OP-929: disable OveroSync module while its broken 2013-04-27 23:20:23 +02:00
sambas
e3b3713139 HiTL simulation solution for GPS update 2013-04-27 16:31:37 +03:00
sambas
5f3e0c3e1d Math cleanup 2013-04-27 16:30:02 +03:00
Alessio Morale
78498910cf OP-917 Moved all the flash architecture related code to pios_bl_helper, get the flash addresses from board defines, major cleanup.
+review OPReview
2013-04-27 15:15:28 +02:00
Corvus Corax
e1233c7780 Merge branch 'next' into corvuscorax/delayed_callbacks_with_delay
Conflicts:
	flight/targets/Revolution/System/inc/openpilot.h
	flight/targets/SimPosix/System/inc/openpilot.h
	flight/targets/boards/coptercontrol/firmware/inc/openpilot.h
	flight/targets/boards/oplinkmini/firmware/inc/openpilot.h
	flight/targets/boards/revolution/firmware/inc/openpilot.h
	flight/targets/boards/revoproto/firmware/inc/openpilot.h
2013-04-27 13:26:03 +02:00
sambas
9fec3f5567 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext 2013-04-27 13:39:58 +03:00
Alessio Morale
2e6835a2a3 Merge remote-tracking branch 'origin/next' into amorale/OP-917_f4_bootloader_updater 2013-04-27 12:25:54 +02:00
Richard Flay (Hyper)
fd1181959c Merge branch 'hyper/OP-913-flight-uavo-alignment' into next 2013-04-27 18:19:01 +09:30
Brian Webb
bb6986ea04 OP-914 - Converted PIOS_RFM22B_Validate back into a normal function from an inline. 2013-04-27 01:45:19 +01:00
Brian Webb
9bb3b5870c OP-914: Reformatted the RadioComBridge module. 2013-04-27 01:45:04 +01:00
Brian Webb
a9079bfb7e OP-914: Additional cleanup of the RFM22B driver code. Updated to code to the current coding standard. Added Doxygen documentation. Rearranged functions into functional groups to simplify reading the code. 2013-04-27 01:44:55 +01:00
Brian Webb
77b99cdafa OP-914 - Converted PIOS_RFM22B_Validate back into a normal function from an inline. 2013-04-27 01:44:39 +01:00
Alessio Morale
b21146b8e3 OP-917 bootloader updater for F4 targets. Initial commit 2013-04-27 00:56:47 +02:00
Oleg Semyonov
47619c9937 Make F4 pios debug pins compilable, still should be revised for real use 2013-04-26 21:04:10 +03:00
Oleg Semyonov
45f456580f Fix pios debug pin functions and defines (thanks to Mathieu for the patch) 2013-04-26 18:18:31 +03:00
Oleg Semyonov
fa8c2f239c Merge remote-tracking branch 'origin/amedee/OP-921' into next 2013-04-26 17:43:26 +03:00
Oleg Semyonov
18f7d7488b Fix directory name case for merged sambas/diffnext 2013-04-26 17:07:44 +03:00
Oleg Semyonov
e2fd821e97 Merge remote-tracking branch 'origin/next' into sambas/diffnext
Conflicts:
	make/common-defs.mk
2013-04-26 16:31:19 +03:00
sambas
e94c00e671 Fix revo BL compile error 2013-04-25 19:51:52 +03:00
sambas
abe3742217 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext
Conflicts:
	flight/Libraries/CoordinateConversions.c
	flight/Libraries/paths.c
	flight/Modules/System/systemmod.c
	flight/PiOS/STM32F4xx/pios_sys.c
	flight/targets/boards/coptercontrol/pios_board.h
	flight/targets/boards/revolution/pios_board.h
	flight/targets/boards/revoproto/pios_board.h
2013-04-25 17:26:49 +03:00
Oleg Semyonov
7d5d513e75 Move flight/PiOS.osx->flight/pios/osx
It did not work and and is not fixed yet. But at least it is in place now.
2013-04-25 13:23:47 +03:00
Oleg Semyonov
9a53843168 Move flight/PiOS.win32->flight/pios/win32
It did not work and and is not fixed yet. But at least it is in place now.
2013-04-25 13:19:06 +03:00
Oleg Semyonov
b6e1331e5d Rename flight/PiOS->flight/pios 2013-04-25 13:13:41 +03:00
Oleg Semyonov
25d0e8fcab Rename PiOS/STM32F10x->PiOS/stm32f10x, PiOS/STM32F4xx->PiOS/stm32f4xx 2013-04-25 13:13:39 +03:00
Oleg Semyonov
f20f89da35 Rename PiOS/Common->PiOS/common 2013-04-25 13:13:39 +03:00
Oleg Semyonov
66db978244 Rename Libraries->libraries, Modules->modules 2013-04-25 13:13:36 +03:00
Philippe Vanhaesendonck
b3de04d09f Handle Mach-o object format for UAVOs
Jira OP-921
2013-04-24 22:39:39 +02:00
Oleg Semyonov
748b28f4f4 Move doxygen config from flight to make/doxygen/ 2013-04-24 22:44:40 +03:00
Oleg Semyonov
71465232f0 Remove obsolete flight/Doc/* files (they do not contain actual info) 2013-04-24 22:39:50 +03:00
Oleg Semyonov
0f6599d949 Move GPLv3.txt from flight/Doc/License/ to top directory and convert to CRLF 2013-04-24 22:39:28 +03:00
Oleg Semyonov
8f784ac6cb flight: remove unnecessary #include "systemmod.h" from boards 2013-04-24 22:35:34 +03:00
Oleg Semyonov
33ed88e696 Merge remote-tracking branch 'origin/next' into os/OP-899_board-rename-and-config-rework 2013-04-24 21:28:33 +02:00
Oleg Semyonov
21e7e95f87 Merge remote-tracking branch 'origin/os/add-uncrustify' into next 2013-04-24 02:31:41 +02:00
Oleg Semyonov
8a3881b0cf Move README.txt from flight to top, it points to OpenPilot Developer Manual 2013-04-24 02:14:35 +03:00
Oleg Semyonov
f9f721a76a Reset executable bits from non-executable files (Windows legacy) 2013-04-24 01:18:46 +03:00
Oleg Semyonov
fb207bdaf7 OP-896: rename SensorTest to RevoProto 2013-04-24 00:57:33 +03:00
Oleg Semyonov
406339eb49 Merge branch 'amorale/next_precheck' into os/OP-899_board-config-rework-rebased-3
Conflicts:
	flight/Libraries/inc/op_dfu.h
	flight/Libraries/op_dfu.c
	flight/targets/Bootloaders/CopterControl/inc/op_dfu.h
	flight/targets/Bootloaders/OSD/op_dfu.c
	flight/targets/boards/coptercontrol/bootloader/inc/op_dfu.h
	flight/targets/boards/coptercontrol/bootloader/op_dfu.c
	flight/targets/boards/oplinkmini/bootloader/inc/op_dfu.h
	flight/targets/boards/oplinkmini/bootloader/op_dfu.c
	flight/targets/boards/osd/bootloader/inc/op_dfu.h
	flight/targets/boards/osd/bootloader/op_dfu.c
	flight/targets/boards/revolution/bootloader/inc/op_dfu.h
	flight/targets/boards/revolution/bootloader/op_dfu.c
	flight/targets/boards/sensortest/bootloader/inc/op_dfu.h
	flight/targets/boards/sensortest/bootloader/op_dfu.c
	make/boot-defs.mk
2013-04-24 00:37:39 +03:00
Alessio Morale
57ca1639cc Merge branch 'amorale/amorale/OP-874_gcs_rescue_erase_settings_merged' into next
Conflicts:
	flight/Libraries/op_dfu.c
	flight/PiOS/STM32F10x/pios_iap.c
	flight/PiOS/inc/pios_iap.h
	flight/targets/BootloaderUpdater/main.c
	flight/targets/Bootloaders/CopterControl/inc/op_dfu.h
	flight/targets/Bootloaders/CopterControl/op_dfu.c
	flight/targets/Bootloaders/OSD/inc/op_dfu.h
	flight/targets/Bootloaders/PipXtreme/op_dfu.c
	flight/targets/Bootloaders/RevoMini/inc/op_dfu.h
	flight/targets/Bootloaders/RevoMini/op_dfu.c
	flight/targets/Bootloaders/Revolution/inc/op_dfu.h
	flight/targets/Bootloaders/Revolution/op_dfu.c
	ground/openpilotgcs/src/plugins/uploader/uploader.ui
	make/apps-defs.mk
	make/boot-defs.mk
2013-04-23 23:14:11 +02:00
Oleg Semyonov
27195b7327 OP-899: move UAVObjects and UAVTalk one level up from targets 2013-04-24 00:07:07 +03:00
Oleg Semyonov
3f2431c04f OP-899: move board-specific pios_board.h files into board directories 2013-04-24 00:07:06 +03:00
Oleg Semyonov
f7332f6905 OP-899: remove extra copy of pios_usb_data.c and move it level up 2013-04-24 00:07:06 +03:00
Oleg Semyonov
1dd20eca33 OP-899: move board_hw_defs.c under board directories and fix some includes 2013-04-24 00:07:06 +03:00
Oleg Semyonov
393b37fa7a OP-899: move board-info.mk from make/boards to board directories 2013-04-24 00:07:06 +03:00
Oleg Semyonov
f7f842687a OP-899: rename System to firmware and move Makefile into it 2013-04-24 00:07:06 +03:00
Oleg Semyonov
fce12662bc OP-899: move bootloaders under board directories 2013-04-24 00:07:06 +03:00
Oleg Semyonov
f01655efed OP-899: get rid of board_friendly names 2013-04-24 00:07:06 +03:00
Oleg Semyonov
c33ff12faa OP-899: rename targets/common/CamelStyle to unix_style 2013-04-24 00:07:05 +03:00
Oleg Semyonov
63573fac16 OP-899: move EF and BU to targets/common 2013-04-24 00:07:05 +03:00
Oleg Semyonov
fc845888d3 OP-899: move board targets under targets/boards 2013-04-24 00:07:05 +03:00
Oleg Semyonov
399cafe7d7 OP-896: rename RevoMini to Revolution 2013-04-24 00:07:05 +03:00
Oleg Semyonov
6afbef01eb OP-896: rename Revo to SensorTest 2013-04-24 00:07:04 +03:00
Oleg Semyonov
fdd0ed39e0 OP-896: remove old board configs (ESC, INS, OpenPilot) 2013-04-24 00:07:04 +03:00
Oleg Semyonov
1ded536056 OP-896: rename OPLink to OPLinkMini 2013-04-24 00:07:04 +03:00
Oleg Semyonov
fe1a6b1c5b OP-896: Linux and Mac are case-sensitive 2013-04-24 00:07:04 +03:00
Oleg Semyonov
6cd963e423 OP-896: fix a conflict resolution typo 2013-04-24 00:07:04 +03:00
Brian Webb
ba7b712cf1 Changed all references to PipXtreme on flight side to OPLink. 2013-04-24 00:07:03 +03:00
Alessio Morale
b4a4ada1b0 Merge branch 'amorale/OP-900_update_freertos_740' into next
Conflicts:
	flight/PiOS/Common/Libraries/FreeRTOS/Source/croutine.c
	flight/PiOS/Common/Libraries/FreeRTOS/Source/include/FreeRTOS.h
	flight/PiOS/Common/Libraries/FreeRTOS/Source/include/StackMacros.h
	flight/PiOS/Common/Libraries/FreeRTOS/Source/include/croutine.h
	flight/PiOS/Common/Libraries/FreeRTOS/Source/include/list.h
	flight/PiOS/Common/Libraries/FreeRTOS/Source/include/mpu_wrappers.h
	flight/PiOS/Common/Libraries/FreeRTOS/Source/include/portable.h
	flight/PiOS/Common/Libraries/FreeRTOS/Source/include/projdefs.h
	flight/PiOS/Common/Libraries/FreeRTOS/Source/include/queue.h
	flight/PiOS/Common/Libraries/FreeRTOS/Source/include/semphr.h
	flight/PiOS/Common/Libraries/FreeRTOS/Source/include/task.h
	flight/PiOS/Common/Libraries/FreeRTOS/Source/include/timers.h
	flight/PiOS/Common/Libraries/FreeRTOS/Source/list.c
	flight/PiOS/Common/Libraries/FreeRTOS/Source/queue.c
	flight/PiOS/Common/Libraries/FreeRTOS/Source/tasks.c
	flight/PiOS/Common/Libraries/FreeRTOS/Source/timers.c
	flight/PiOS/STM32F10x/Libraries/FreeRTOS/Source/portable/GCC/ARM_CM3/port.c
	flight/PiOS/STM32F10x/Libraries/FreeRTOS/Source/portable/GCC/ARM_CM3/portmacro.h
	flight/PiOS/STM32F10x/Libraries/FreeRTOS/Source/portable/MemMang/heap_1.c
	flight/PiOS/STM32F10x/Libraries/FreeRTOS/Source/portable/MemMang/heap_2.c
	flight/PiOS/STM32F10x/Libraries/FreeRTOS/Source/portable/MemMang/heap_3.c
	flight/PiOS/STM32F10x/library.mk
	flight/PiOS/STM32F4xx/Libraries/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c
	flight/PiOS/STM32F4xx/Libraries/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h
	flight/PiOS/posix/Libraries/FreeRTOS/Source/include/FreeRTOS.h
	flight/PiOS/posix/Libraries/FreeRTOS/Source/include/StackMacros.h
	flight/PiOS/posix/Libraries/FreeRTOS/Source/include/croutine.h
	flight/PiOS/posix/Libraries/FreeRTOS/Source/include/list.h
	flight/PiOS/posix/Libraries/FreeRTOS/Source/include/mpu_wrappers.h
	flight/PiOS/posix/Libraries/FreeRTOS/Source/include/portable.h
	flight/PiOS/posix/Libraries/FreeRTOS/Source/include/projdefs.h
	flight/PiOS/posix/Libraries/FreeRTOS/Source/include/queue.h
	flight/PiOS/posix/Libraries/FreeRTOS/Source/include/semphr.h
	flight/PiOS/posix/Libraries/FreeRTOS/Source/include/task.h
	flight/PiOS/posix/Libraries/FreeRTOS/Source/list.c
	flight/PiOS/posix/Libraries/FreeRTOS/Source/queue.c
2013-04-23 21:57:50 +02:00
Richard Flay (Hyper)
146e082e74 OP-913: ensured that UAVO data structs in .bss/.data sections and on the stack have 4 byte alignment. Also changed linker options to sort common and sort sections by alignment, which reduces the amount of fill/padding in the .bss and .data sections.
+review OPReview-444
2013-04-23 22:34:58 +09:30
Richard Flay (Hyper)
b22204e939 Merge branch 'next' into hyper/OP-913-flight-uavo-alignment 2013-04-23 19:14:57 +09:30
Alessio Morale
2fe7139fc3 Merge branch 'amorale/OP-908_clean_float_math' into next
Conflicts:
	flight/PiOS/Common/pios_rfm22b.c
2013-04-23 02:09:01 +02:00
Alessio Morale
37e17fb706 Merge branch 'os/OP-866_sanitychecks' into next 2013-04-22 23:56:59 +02:00
Alessio Morale
594b44118f Merge branch 'next' into amorale/OP-911_mpu6000_fix_isr 2013-04-22 23:25:19 +02:00
Alessio Morale
84129dba40 OP-886 move systemalarm.h include inside guards in sanitycheck.h
+review OPReview-430
2013-04-22 22:58:37 +02:00
Oleg Semyonov
8d1e1fdbc0 tools: make uncrustify_install target, script and base config file
See also: OPIN-3
2013-04-22 21:35:25 +02:00
sambas
731ee3e19d Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext
Conflicts:
	shared/uavobjectdefinition/manualcontrolsettings.xml
2013-04-22 21:29:04 +03:00
Alessio Morale
d64b1e5c90 OP-908 clean some defines from sensor.c
+review OPReview-436
2013-04-20 23:46:32 +02:00
Oleg Semyonov
97d4e9178b Merge remote-tracking branch 'origin/lilvinz/dsmx_zero_fix' into next 2013-04-20 22:14:23 +02:00
sambas
01df38008f Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext
Conflicts:
	flight/Libraries/sanitycheck.c
	flight/Modules/System/systemmod.c
2013-04-20 21:25:22 +03:00
Alessio Morale
8011a9476d OP-886 fixed a bug caused by wrong check for xSemaphoreTakeRecursive return code
Conflicts:
	flight/Libraries/alarms.c
2013-04-20 17:17:55 +02:00
sambas
074b391cc0 spring cleaning 2013-04-20 18:07:19 +03:00
Alessio Morale
dd37c31a07 OP-886 Fixes to styles, used enum for ExtendedAlarmStatus
Conflicts:
	flight/Libraries/inc/sanitycheck.h
	shared/uavobjectdefinition/systemalarms.xml
2013-04-20 16:33:38 +02:00
sambas
3512e7a657 Fix allowed frametypes 2013-04-20 15:09:24 +03:00
sambas
8aa5748a8c Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext 2013-04-20 10:59:00 +03:00
Oleg Semyonov
220b4b5042 OP-886: use enum for extended alarm status field
See also:
    http://reviews.openpilot.org/cru/OPReview-430
    http://progress.openpilot.org/browse/OP-915
2013-04-20 02:10:40 +03:00
Oleg Semyonov
343a4b9015 OP-886: cosmetic style and spacing fixes 2013-04-20 00:56:45 +03:00
Oleg Semyonov
cb068f507b Merge remote-tracking branch 'origin/next' into amorale/OP-886_sanitychecks 2013-04-19 23:43:42 +02:00
Oleg Semyonov
491e89b165 make: sort wildcard sources to make binaries identical on all platforms
Thanks to Amedee for finding the cause of the difference and CorvusCorax
for participating in the discussion.
2013-04-19 20:43:31 +02:00
Corvus Corax
6cb2d2b39d updated in code documentation, use of some enums in callbackscheduler.h 2013-04-19 17:25:42 +02:00
Corvus Corax
28ac515064 moved Callback Scheduler startup in front of module task startup 2013-04-19 15:39:12 +02:00
Oleg Semyonov
efeb7c4890 Merge remote-tracking branch 'origin/cyr/yawzero' into next 2013-04-19 15:30:57 +03:00
Corvus Corax
4d1729c415 syntax cleanup and betterheader comments 2013-04-19 09:07:35 +02:00
Alessio Morale
61be4811f5 OP-900 Various fixes from OPReview-435
+review OPReview-435
2013-04-19 00:00:28 +02:00
Alessio Morale
f005485e63 OP-900 Switched Simposix to common FreeRTOS version
+review OPReview-435
2013-04-18 23:27:48 +02:00
Alessio Morale
36c0ec100b OP-908 added pios_constants.h containing some (more or less) useful physical constants, added other float constants to pios_math.h fixes for code style.
+review OPReview-436
2013-04-18 21:03:25 +02:00
Corvus Corax
12211afe22 Test suite to test callback scheduler 2013-04-18 18:58:50 +02:00
Corvus Corax
17e8268e81 typo fix in callback scheduler 2013-04-18 18:35:57 +02:00
Corvus Corax
6f1bb94718 Delayed Callback Scheduler is now able to schedule delayed execution at an arbitrary time in the future 2013-04-18 14:17:29 +02:00
Alessio Morale
4077dfde56 OP-874 Added visual (heartbeat led flashing) indication of flash format being performed.
+review OPReview-421
2013-04-18 00:47:14 +02:00
Alessio Morale
a825772389 OP-911: Use SPI_ReleaseBusISR within isr, changed a malloc with pvPortMalloc for coherence with the rest of PiOS
+review OPReview-44
2013-04-17 23:42:20 +02:00
Alessio Morale
ae62517600 OP-911: Added SPI_ReleaseBusISR counterpart
+review OPReview-447
2013-04-17 23:40:49 +02:00
Alessio Morale
66b1d285d5 OP-911: Fixed SPI_ClaimbusISR for F1
+review OPReview-447
2013-04-17 22:41:53 +02:00
sambas
36d6c01864 proper floats + formatter 2013-04-17 21:23:49 +03:00
Alessio Morale
6214d0d471 OP-911: First part of the rework: Fixed non isr call for claimbus, changed delays at startup to resolve a intermittent failure at MPU6000 initialization on reboot.
+review OPReview
2013-04-17 19:22:56 +02:00
sambas
a40f8f5ebd Bytes!! enable RM CPU temp 2013-04-17 17:29:08 +03:00
sambas
78127ae817 Fix flashsize address, ran thru formatter 2013-04-16 16:50:41 +03:00
sambas
ab8ab4bcc6 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext 2013-04-15 17:41:06 +03:00
Oleg Semyonov
3b3377e6f4 Merge remote-tracking branch 'origin/os/friendly-toolchain-install' into next 2013-04-15 01:24:42 +02:00
sambas
388489226d typo fix, fix EE_BANK usage 2013-04-14 13:08:09 +03:00
sambas
0c13fbbee6 flashsettings and WDG for osd, revert the uavobjectmanager revert. 2013-04-14 12:43:37 +03:00
sambas
bb4aa08a15 Merge remote-tracking branch 'origin/sambas/diffnext' into amorale/osd_settings_on_flash 2013-04-14 12:32:26 +03:00
sambas
589290dbd7 POI orbit + some code run thru code formatter 2013-04-14 12:23:47 +03:00
sambas
6989468d17 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext
Conflicts:
	.gitignore
2013-04-14 10:13:51 +03:00
Richard Flay (Hyper)
afb8a20b6f OP-913: tweaked some UAVO related struct alignments to attempt to ensure that UAVO data fields end up being 4 byte aligned on the heap. Also fixed a memset issue in the initialisation code for multi-instance UAVOs .
+review OPReview
2013-04-14 11:52:56 +09:30
Corvus Corax
87ed9a8be2 reimplemented delayed callback scheduler to allow dispatching from ISR's and multiple schedulers with different task priorities 2013-04-14 04:16:34 +02:00
Oleg Semyonov
afbb11f43e Fix 'variable not used' warning. Still needs to be reworked for timing 2013-04-14 02:11:23 +02:00
Corvus Corax
bbb83752f7 rebased delayed callback scheduler 2013-04-13 21:50:47 +02:00
Oleg Semyonov
03a4ca545f Remove stray '}' in a makefile 2013-04-12 11:51:18 +02:00
Oleg Semyonov
8ab580ae82 Remove stray '}' in a makefile 2013-04-12 12:50:12 +03:00
Oleg Semyonov
34b15fedaf OP-719: make python_install (Windows) 2013-04-12 10:56:10 +02:00
Oleg Semyonov
bc4d25242f makefile: use the same coding style for all make variables 2013-04-12 10:55:23 +02:00
Brian Webb
28bfc2725c Merge remote-tracking branch 'origin/next' into brian/rfm22_FHSS 2013-04-11 14:42:49 +01:00
Alessio Morale
cc6d19e40a OP-908 added pios_math.h and pios_helper.h to contains all the various math and general macros/constants. Fixed remaining constants still defined as double.
+review OPReview-436
2013-04-09 01:10:41 +02:00
Alessio Morale
f68a038af0 OP-900 Updated howto_upgrade.txt doc
+review OPReview-435
2013-04-08 23:31:08 +02:00
Alessio Morale
81156ad132 OP-900 Changed memory allocation strategy for F1 to use portBYTE_ALIGNMENT alignment for stacks and portBYTE_HEAP_ALIGNMENT for generic mallocs
+review OPReview-435
2013-04-08 22:55:49 +02:00
Alessio Morale
09d2ba1d25 OP-874 merge of amorale/OP-874_gcs_rescue_erase_settings in next.
+review OPReview-421
2013-04-08 01:10:37 +02:00
sambas
24f1362cfe Merge remote-tracking branch 'origin/next' into sambas/diffnext 2013-04-07 18:21:59 +03:00
Brian Webb
e27be3f594 Removed code for per message channel hop. 2013-04-07 15:59:31 +01:00
sambas
e87d7f2202 Merge branch 'sambas/diffnext' of ssh://git.openpilot.org/OpenPilot into sambas/diffnext 2013-04-07 14:57:21 +03:00
sambas
fb8273459f Normalize line endings 2013-04-07 09:49:13 +03:00
Brian Webb
90b0987e43 Fixed setting max Tx power on Revo. 2013-04-07 02:17:09 +01:00
Alessio Morale
71de38f2d5 OP-908 Uniform handling of M_PI using a Floating counterpart F_PI, explicitly define integer constants as float when used in floating point calculations
+review OPReview-436
2013-04-06 23:07:06 +02:00
Brian Webb
95c150213a Don't send GCSReceiver when using OPLink receiver (on Revo). 2013-04-06 17:57:16 +01:00
Brian Webb
d36cf828bc RFM22B: Don't send a connection request from a non-coordinator. 2013-04-06 16:35:12 +01:00
Alessio Morale
ce6f84063c OP-908 Cleanup for unwanted double precision math on float data.
- Use float counterpart instead of double precision function when dealing with float data
- Force float data type for decimal constants

+review OPReview
2013-04-06 16:45:05 +02:00
Alessio Morale
c801ca681c OP-900 update FreeRTOS to 7.4.0
also added an howto_update.txt file that list the necessary modifications to FreeRTOS files
+review OPReview
2013-04-06 15:05:39 +02:00
Brian Webb
4564718708 Added setting of max RF power and initial frequency on Revo. 2013-04-06 04:28:25 +01:00
Brian Webb
fef2c16f5a RFM22B: Changed the connection process. Now the coordinator waits to receive a status packet from a modem that it is bound to before it sends the connection request. 2013-04-06 02:25:59 +01:00
Brian Webb
948038f655 Merge remote-tracking branch 'origin/next' into brian/rfm22_FHSS 2013-04-06 01:32:36 +01:00
Brian Webb
c330db3a28 Added setting of min/max frequencies on OPLink coordinator. 2013-04-06 01:32:15 +01:00
Oleg Semyonov
5bb6b56b4a OP-772: Normalize line endings 2013-04-05 23:46:56 +03:00
Oleg Semyonov
3bebec22f7 OP-772: Enforce line ending agreements (git 1.7.2+ required for this to work)
This is a part of OP-726, OP-727 tasks to normalize source code.
Use the following to normalise your local repository to be able to merge:

git rm --cached -r .
git diff --cached --name-only -z | xargs -0 git add
git commit -m "Normalise line endings"
git ls-files -z | xargs -0 rm
git checkout .
2013-04-05 23:43:58 +03:00
Alessio Morale
f30692836a OP-886 Fixes to styles
+review OPReview-430
2013-04-04 20:11:57 +02:00
Oleg Semyonov
de4ca359dd Merge remote-tracking branch 'origin/os/OP-719_arm-sdk-update' into next 2013-04-04 12:09:33 +02:00
Alessio Morale
13dd1178a8 OP-886 Fixes to styles: testing style settings for Eclipse
+review OPReview-430
2013-04-03 19:26:25 +02:00
Brian Webb
61712be03d Added 57600 kbps air datarate mode, and added setting of registers 69 and 58. 2013-04-03 02:05:51 +01:00
sambas
47a7659147 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext 2013-04-02 20:40:41 +03:00
sambas
d776d82518 Does this fix simposix and make bamboo happy 2013-04-02 19:57:40 +03:00
Alessio Morale
23c0c3585c OP-886 Fixes to styles and includes
+review OPReview-430
2013-04-01 16:41:12 +02:00
Brian Webb
4778a12070 Merge remote-tracking branch 'origin/next' into brian/rfm22_FHSS 2013-04-01 14:30:46 +01:00
Alessio Morale
9264c8b4e2 Merge remote-tracking branch 'origin/amorale/OP-881_flashautodetect' into next 2013-03-31 18:06:52 +02:00
Brian Webb
538d854627 Changed test for GCSRECEIVER in OPLink to PIOS_INCLUDE_GCSRCVR to match new define in pios_config. 2013-03-31 16:37:14 +01:00
Oleg Semyonov
b67ce783f5 OP-719: upgrade ARM SDK to 4.7-2012q4, use 'make arm_sdk_install' to install
+review OPReview
2013-03-31 16:59:00 +02:00
Alessio Morale
45b0e787a4 OP-886 Improvements to sanitychecks
Added an Extensions to Alarm for detailed status/substatus reporting.
Extended Alarms are the first in the Alarm structure and have corresponding fields in Status and Substatus structures.
Also added a filter to the HWsettings update to prevent to block arming when actual settings have not changed.

+review OPReview
2013-03-30 19:57:16 +01:00
Alessio Morale
8698bcfb84 Moved OSD settings from SDCard to mcu internal flash memory 2013-03-30 15:47:22 +01:00
sambas
e43e5c5028 Add missing flightmodes into sanitycheck, pathfollower needs to be running before sanitycheck runs 2013-03-30 14:57:43 +02:00
Brian Webb
1cac81b3e8 Merge remote-tracking branch 'origin/next' into brian/rfm22_FHSS
Conflicts:
	flight/targets/PipXtreme/System/inc/pios_config.h
	flight/targets/RevoMini/System/inc/pios_config.h
2013-03-29 17:17:55 -07:00
Oleg Semyonov
ca0910370f OP-881: flashfs: coding style fixes according to OPReview-423
+review OPReview-423
2013-03-29 11:26:56 +02:00
Alessio Morale
46e9e60e76 OP-881 fixed for stile compliance, added test and assertions on flash init for revolution and CC targets
+review OPReview-423
2013-03-29 00:30:28 +01:00
sambas
2557600257 uavobjects thing that fixes sdcard settings save on osd. Can be reverted when fix found. 2013-03-28 18:35:42 +02:00
sambas
4f7e37651c F4 CPU temp fix(revo), I think rm still not working 2013-03-28 18:34:31 +02:00
sambas
5ded8c6dfc VTOL path fixes
Flight mode fixes
POI mode
AutoLand Tests
Simple stabilization Shortest way yaw fix
GCS map and pathplanner fixes
2013-03-28 18:29:26 +02:00
sambas
77cae9ffc3 MagBaro Extension board module
OSD update
OSD output module for FC
Sonar update
Flight mode fixes + poi
2013-03-28 18:20:50 +02:00
Alessio Morale
e68aeb0c8e OP-881 Make PIOS_Flash_Jedec_Init able to configure the flash chip based on Jedec Id returned using a catalog of known flash chips.
+review OPReview
2013-03-27 00:26:47 +01:00
Oleg Semyonov
9335a50b18 Makefile: use upper case for MODULE_MODULENAME_BUILTIN macros
+review OPReview-422
2013-03-25 16:02:16 +02:00
Oleg Semyonov
17600ed09f PyMite: remove from simposix Makefile and use library instead 2013-03-25 02:59:40 +02:00
Oleg Semyonov
8e7712a13f PyMite: fix nasty build bug with open file problem on Windows
In fact, the cause of that error was badly written makefile rule which
generated 5 same files 5 times. If used with make -j, it tried to open
the same files for writing at the same time. Windows doesn't like this.
This is fixed now.
2013-03-25 02:03:35 +02:00
Brian Webb
1979e8b57f Merge remote-tracking branch 'origin/next' into brian/rfm22_FHSS 2013-03-24 16:57:59 +01:00
Oleg Semyonov
30b362a5fa entire-flash.py: fix comment 2013-03-24 14:12:08 +02:00
Oleg Semyonov
8f977a4411 Final step: lot of small fixes, last commit in this commit series
This is the first cleanup pass through makefiles and pios.
Probably it is difficult to track changes due to the nature of them.
I would recommend to look at resulting files and compiled code instead.

NOTE: original branch was rebased and lot of conflicts were fixed on
the way. So do not expect that every commit in this series will be
buildable (unlike original branch). Only final result was tested.

The main goal was to remove as much duplication of code (and copy/paste
errors) as possible, moving common parts out of Makefiles. It still is
not perfect, and mostly no code changes made - Makefiles and #ifdefs only.
But please while testing make sure that all code works as before, and no
modules/options are missed by accident.

Brief list of changes:
- Moved common parts of Makefiles into the set of *.mk files.
- Changed method of passing common vars from top Makefile to lower ones.
- Some pios cleanup, mostly #ifdefs, and all pios_config.h files.
- Many obsolete files removed (for instance, AHRS files, op_config.h).
- Many obsolete or unused macros removed or fixed/renamed (ALL_DIGNOSTICS).
- Unified pios_config.h template. Please don't remove lines for board
  configs, only comment/uncomment them. Adding new PIOS options, please
  propagate them to all board files keeping the same order.
- Some formatting, spacing, indentation (no line endings change yet).
- Some cosmetic fixes (no more C:\X\Y\filename.c printings on Windows).
- Added some library.mk files to move libs into AR achives later.
- EntireFlash target now uses cross-platform python script to generate bin
  files. So it works on all supported platforms: Linux, OSX, Windows.
- Top level packaging is completely rewritten. Now it is a part of top
  Makefile. As such, all dependencies are checked and accounted, no
  more 'make -j' problems should occur.
- Default GCS_BUILD_CONF is release now, may be changed if necessary
  using 'make GCS_BUILD_CONF=debug gcs'.
- GCS build paths are separated into debug and release, so no more obj
  file clashes. Packaging system supports only release builds.
- New target is introduced: 'clean_package'. Now 'make package' does not
  clean build directory. Use clean_package instead for distributable builds.
- Targets like 'all', 'opfw_resource', etc now will print extra contex
  in parallel builds too.
- If any of 'package', 'clean_package', 'opfw_resource' targets are given
  on command line, GCS build will depend on the resource, so all fw_*.opfw
  targets will be built and embedded into GCS. By default GCS does not
  depend on resource, and will be built w/o firmware (unless the resource
  files already exist and the Qt resource file is generated).
- fw_simposix (ELF executable) is now packaged for linux. Run'n'play!
- Make help is refined and is now up to date.

Still broken:
- UnitTests, should be fixed
- SimPosix: buildable, but should be reworked.

Next planned passes to do:
- toolchain bootstrapping and packaging (including windows - WIP)
- CMSIS/StdPeriph lib cleanup
- more PIOS cleanup
- move libs into AR archives to save build time
- sim targets refactir and cleanup
- move android-related directories under <top>/android
- unit test targets fix
- source code line ending changes (there are many different, were not changed)
- coding style

Merging this, please use --no-ff git option to make it the real commit point

Conflicts:
	A lot of... :-)
2013-03-24 13:06:24 +02:00
Oleg Semyonov
2eff6f5f3c Posix compile-only fix (still needs a lot of rework)
This is a patch to make simposix buildable. It does not use new
makefiles and should be reworked.

Conflicts:
	flight/targets/SimPosix/Makefile
2013-03-24 13:06:21 +02:00
Oleg Semyonov
bd033badb9 BootloaderUpdater: move one level up, now next to EntireFlash and Bootloaders 2013-03-24 13:06:18 +02:00
Oleg Semyonov
5f24378a4f EntireFlash: now works on all supported platforms 2013-03-24 13:06:17 +02:00
Oleg Semyonov
992bd696a6 *.mk: fix double '/' in path names ($dir always returns it as a last char)
Also minor formatting of all library.mk files.

Conflicts:
	flight/PiOS/Common/Libraries/CMSIS2/library.mk
2013-03-24 13:06:08 +02:00
Oleg Semyonov
38d822d2f5 Makefile: rework OSD Makefile and target to use new make system
Conflicts:
	flight/targets/OSD/Makefile
2013-03-24 13:06:07 +02:00
Oleg Semyonov
7e02642b01 Move 3rd party printf formatter functions from PiOS to Libraries folder
They are not a PiOS, but 3rd party libraries. They even should not
be placed to the same (PiOS) library directory due to the printf symbol
clashes (if all *.c from the folder are built). So they are moved, and
each target can include that one which is necessary/desired.
2013-03-24 13:06:06 +02:00
Oleg Semyonov
404ba00f70 Makefile: rework Revolution Makefile to use new make system
Conflicts:
	flight/targets/Revolution/Makefile
2013-03-24 13:06:05 +02:00
Oleg Semyonov
f465a04b88 pios: add new options from Revolution to pios.h and pios_config.h 2013-03-24 13:06:04 +02:00
Oleg Semyonov
886c6b8775 Makefile: rework RevoMini Makefile to use new make system
Conflicts:
	flight/targets/RevoMini/Makefile
	flight/targets/RevoMini/UAVObjects.inc
2013-03-24 13:06:03 +02:00
Oleg Semyonov
c518a58215 Makefile: remove hardly used make options from CopterControl Makefile
It was reasonable to use "USE_FEATURE" on the make level when we didn't
have optional modules. Now is better to add them using += make operator.

Conflicts:
	flight/targets/CopterControl/Makefile
2013-03-24 13:06:02 +02:00
Oleg Semyonov
5c13162824 Makefile: some rearrangements between apps-defs.mk and target Makefiles
Conflicts:
	flight/targets/PipXtreme/Makefile
	make/apps-defs.mk
2013-03-24 13:06:00 +02:00
Oleg Semyonov
dbe1c39c47 pios: include memory allocator for F4 FreeRTOS targets by default
This is by analogy to F1 FreeRTOS tagrgets which always use heap_1.
2013-03-24 13:05:59 +02:00
Oleg Semyonov
6502cea50e pios_bl_helper.h: why all these empty lines? 2013-03-24 13:05:58 +02:00
Oleg Semyonov
3c97b5a7c6 Clean up pios_config.h for BL, BU, some FW (not all yet)
Conflicts:
	flight/targets/Bootloaders/CopterControl/inc/pios_config.h
2013-03-24 13:05:57 +02:00
Oleg Semyonov
446abf6190 pios: add more global config options used by Revo
Conflicts:
	flight/PiOS/pios.h
	flight/targets/RevoMini/System/inc/pios_config.h
2013-03-24 13:05:55 +02:00
Oleg Semyonov
49ed34fd7b insgps: move definition of NavStruct variable from header to source file 2013-03-24 13:05:54 +02:00
Oleg Semyonov
9bcbcbeb34 Remove never used op_config.h files (all occurences were empty) 2013-03-24 13:05:53 +02:00
Oleg Semyonov
9b3d3e62ab Makefile: fix Makefile for BootloaderUpdater (STM32F10x only targets)
Conflicts:
	flight/targets/Bootloaders/BootloaderUpdater/Makefile
2013-03-24 13:05:52 +02:00
Oleg Semyonov
ce4b2f4446 pios_debug: use PIOS_INCLUDE_DEBUG_CONSOLE to DEBUG_PRINTF(level, ...)
Inconsistent use of debug macros in board definition files resulted in
BU compilation error. It was attempted to use PIOS_COM_SendFormattedStringNonBlocking()
directly even if PIOS_COM was not included (like for BootloaderUpdater).

So this function in pios_debug.c was replaced by DEBUG_PRINTF() macro.
The macro itself is defined in pios_debug.h file. Its definitions are
removed from board files. And to use it one has to define in pios_config.h:

#define PIOS_INCLUDE_DEBUG_CONSOLE
#define DEBUG_LEVEL <number>

in addition to PIOS_INCLUDE_COM with aux port.

Conflicts:
	flight/PiOS/Boards/STM32103CB_PIPXTREME_Rev1.h
	flight/PiOS/Boards/STM32F4xx_RevoMini.h
2013-03-24 13:05:51 +02:00