Alessio Morale
d8f08a7916
OP-943 Add Malloc for "FastHeap" (ccsram)
...
- Use a separate mallocs for thread stack and RTOS structures heap
- Add a pios_mem API to be able to use fast ram (CCM) when available
2014-06-11 22:15:30 +02:00
Alessio Morale
622519b7c2
OP-1365 Flight code instrumentation API: add documentation to pios_instrumentation_helper, uncrustification
2014-06-10 22:13:20 +02:00
Alessio Morale
8ba5741f99
OP-1365 Flight code instrumentation API: Add some helper macros to simplify the addition of instrumentation code to a module.
...
Note: Look at next commit for an example use case.
2014-06-10 21:34:33 +02:00
Alessio Morale
698d132f9c
OP-1365 Flight code instrumentation API: Changed API to use handlers (opaque pointers) to counter struct instead of an index, fix Search function, create does check if coutner exists and return existing handler
2014-06-10 21:24:28 +02:00
Alessio Morale
a9f1d55fea
OP-1227 Fix high CPU usage: Optimize Memory usage in ADC driver.
...
- performs undersampling in two steps operating with a half buffer at time;
- Skip costly undersampling for Temperature channel;
- some optimizations to the downsample loops;
- apply compiler speed optimization to PIOS_ADC_downsample_data()
2014-06-08 22:01:05 +02:00
Alessio Morale
a0d68c6afb
OP-1227 Fix high CPU usage: Reduce Accel rate to 1600Hz, optimize sample reading, explicitly set bus speed
...
Note: Counter 0xA3450001 is the time it takes to transfer the requested number of samples
2014-06-08 21:33:18 +02:00
Alessio Morale
197d381937
OP-1365 Flight code instrumentation API: Add helper function to track mean period between its calls
2014-06-07 18:11:34 +02:00
Alessio Morale
520e721bdd
OP-1365 Flight code instrumentation API: PiOS Implementation
2014-06-06 22:15:18 +02:00
Alessio Morale
58bba31c72
Merge remote-tracking branch 'origin/amorale/OP-1312_pios_ws2811_driver' into next
2014-05-15 20:30:43 +02:00
Alessio Morale
8bbb56337b
OP-1312 keep pulse timings low to have more margin to handle bus contentions and irq response time.
2014-05-11 18:57:06 +02:00
Alessio Morale
e5d6726bb6
Merge remote-tracking branch 'origin/next' into amorale/OP-1302_updated_led_behaviour
2014-05-08 22:27:08 +02:00
Alessio Morale
19caa57dc6
OP-1312 fix copy/paste-naming issue
2014-05-03 11:45:30 +02:00
Alessio Morale
3897106f4d
OP-1312 remove boilerplate from config using macros.
...
Use four locations for ch1+update dma source to exploit fifo and memory read bursts
2014-05-01 10:33:44 +02:00
Alessio Morale
a0b857337f
OP-1312 Add support for Revolution (right now always active on pin3). Configurability not yet added
2014-04-26 18:40:59 +02:00
Alessio Morale
46f70a74c8
OP-1312 Initial version running on DiscoveryF4
2014-04-26 16:57:16 +02:00
Alessio Morale
f01cf66095
Merge remote-tracking branch 'origin/andrecillo/OP-1273_OP-1282_OP-1283_Diverse_Airspeedsensor_improvements' into next
...
Conflicts:
ground/openpilotgcs/src/plugins/systemhealth/systemhealthgadgetwidget.cpp
2014-04-15 21:52:34 +02:00
Alessio Morale
299f388245
OP-1302 Add a stub pios_notify API for user interaction/notifications
...
right now all notifications produces the same output, the DRAW_ATTENTION sequence
2014-04-13 17:42:57 +02:00
Philippe Renon
3b7b06aad0
Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into next
2014-04-09 09:11:54 +02:00
Alessio Morale
6540c69698
Merge remote-tracking branch 'origin/andrecillo/OP-1273_PixHawk_airspeed_sensor_MS4525DO' into next
2014-04-01 22:05:12 +02:00
Andres
830f13596e
OP-1273 OP-1282 OP-1283 uncrustify
2014-03-31 22:17:58 +02:00
Andres
5ed417323e
OP-1273 OP-1282 OP-1283 bug fixes on I2C library: check for intialization and hot-plug robustness
2014-03-31 22:16:29 +02:00
Andres
7067f4f8ff
Merge branch 'andrecillo/OP-1283_SystemHealthGadgetWidget_updateAlarms_coordinate_calculation_correction' into andrecillo/OP-1273_OP-1282_OP-1283_Diverse_Airspeedsensor_improvements
...
Merged correction on coordinate calculation in SystemHealth gadget for correct display of Airspeed-Alarm
2014-03-28 17:01:44 +01:00
Andrés Chavarría Krauser
4dff86dc9c
OP-1273 New files for the MS4525DO PixHawk speed sensor: PIOS files and module files
2014-03-25 10:37:10 +01:00
Alessio Morale
519d74ad1b
OP-1026 fix review issues
2014-03-09 16:08:27 +01:00
Philippe Renon
b2168a4982
OP-1033 moved f1 specific usb include files to stm32f10x/inc directory
2014-03-02 14:46:01 +01:00
Alessio Morale
73d0b93829
OP-1026 Add a task monitor api to calculate idle percentage
2014-02-22 00:29:02 +01:00
Corvus Corax
7ec21a8f36
OP-942 duplicated exact API of task_monitor to also monitor callbacks
...
This allows cleaner and fine grained handling of STACKOVERFLOW alarms
2014-02-07 22:39:16 +01:00
Corvus Corax
9a6072d58c
Merge branch 'next' into corvuscorax/OP-942_task-diagnostics-for-callbacks
...
Conflicts:
flight/targets/boards/simposix/firmware/Makefile
2014-02-07 00:31:32 +01:00
Corvus Corax
6566a29054
OP-942 reliable and fast free stack test algorithm - will always 'see' overflows
2014-02-06 23:54:30 +01:00
Corvus Corax
723e22aa1a
OP-1211 time_measurement_helper
2014-02-04 19:05:17 +01:00
Corvus Corax
49a1c4c28f
OP-942 refactored callback scheduler to fit into PiOS naming scheme
2014-02-02 22:08:16 +01:00
Corvus Corax
5b9a17f630
OP-942 moved DelayedCallbackScheduler into pios/common
2014-02-02 20:31:37 +01:00
Alessio Morale
7188394e39
Uncrustification
2014-01-19 12:37:25 +01:00
Mikael Blomqvist
b1d2c1b83e
Adding R7008SB end byte as a possible end of frame check for S.Bus
2014-01-03 18:25:44 +01:00
Corvus Corax
be9faabe92
Merge branch 'next' into corvuscorax/onboardlogging
2013-11-26 00:34:01 +01:00
Alessio Morale
bacc4d3d79
Merge branch 'master' into next
...
Conflicts:
flight/targets/boards/oplinkmini/firmware/pios_board.c
ground/openpilotgcs/copydata.pro
2013-11-25 01:12:10 +01:00
Corvus Corax
fcc479f5cb
more intelligent log interfacing, including flash formatting option
2013-11-17 20:14:50 +01:00
Corvus Corax
6031200aea
Some fixes in debuglog to compile and run on all firmware platforms
2013-11-17 18:04:47 +01:00
Corvus Corax
a0746d87fa
Logging facility: logs debug data to logfs and exports it through container UAVObject
2013-11-17 02:54:26 +01:00
Alessio Morale
e91bc28667
OP-1058 Get rid of Unions.
...
They caused stack usage increase with -fstrict-aliasing as stack slots are not reused when dealing with unions.
It has now been added the cast_struct_to_array macro in pios_struct_helper.h to handle such case where it is useful to access those homogeneous structs as arrays
+review OPReview-552
2013-09-01 12:10:55 +02:00
Brian Webb
5ac1f33c47
Adds missing pios_gpio_priv.h
2013-08-02 22:01:44 -07:00
Brian Webb
e246ecf536
Moves pios_led functionality to pios_gpio and makes pios_led a thin layer over pios_gpio. Supports configuring multiple sets of GPIOs.
2013-07-28 07:01:08 -07:00
Richard Flay (Hyper)
c3e3521001
OP-1049: Hotfix to 13.06.02 for MPU6000 FIFO overflow on CC3D when board initialisation takes
...
longer than 150ms.
2013-07-28 01:16:22 +09:30
Alessio Morale
11bc7804d0
Merge branch 'amorale/OP-994_adc_cleanup' into next
2013-07-16 12:23:25 +00:00
Brian Webb
c2df59498b
Merge remote-tracking branch 'origin/master' into next
2013-07-06 07:08:30 -07:00
Brian Webb
491e5fe685
Adds a failsafe on PPM output on OPLink that kicks in when the link goes down. Also updates all air datarate settings and adds new 64 and 100 kbps modes.
2013-06-29 15:00:38 -07:00
Brian Webb
2aea2342ab
OP-932 Adds a direct PPM channel on each Tx packet when in PPM mode, and adds a PPM only mode that uses a 9600 bps air datarate. Also updates the OPLink configuration tab and moves all OPLink configuration to the OPLink configuration tab on the Revo, and customizes the OPLink configuration tab for the Revo.
2013-06-26 18:01:54 -07:00
Brian Webb
61c453f6ff
Removes several of the air datarate settings, and fine tunes the calculation of the max packet length from the datarate and packet time. 9600, 19200, 36400, and 57600 modes tested. Tested 19200 in one-way mode for PPM only.
2013-06-26 17:59:33 -07:00
Brian Webb
774a74884a
OP-932 Replaces the RFM22B PPM/receiver code with an OPLinkReceiver UAVObject. This object is generated on a coordinator OPLink, and is used by both the OPLink to generate PPM output, and the OPLinkReceiver on the Revo.
2013-06-26 17:57:11 -07:00
Brian Webb
8c370df319
OP-932 A significant re-work of the OPLink and configuration of the OPLink. Auto-configuration is removed, and remote modems are bound the coordinator, rather than the other way around. Timing of the radio link is also significantly changed. The rfm22b code is also simplified so that it only sends packet, and has no notion about what those packets are, so the rfm22b is converteded to simply a com type device.
2013-06-26 17:56:56 -07:00
Brian Webb
08efc8d152
OP-932: Adds an oplink receiver device, which is based on the gcs receiver device, but uses the OPLinkReceiver UAVObject. The OPLinkReceiver packets are generated on the OPLink modem.
2013-06-26 17:56:20 -07:00
Brian Webb
7c10623615
OP-932 Adds a semaphore to PPM input to signal when a new frame has been received. This can be used to process a new frame with as low a latency as possible.
2013-06-26 17:56:10 -07:00
Brian Webb
ac75af55c1
OP-932 Moves the PIOS_PPM_OUT_Set function from pios_ppm_out_priv.h to pios_ppm_out.h
2013-06-26 17:55:56 -07:00
Corvus Corax
6163c5f53a
Merge branch 'next' into corvuscorax/OP-947_stateestimator-module
...
Conflicts:
flight/modules/AltitudeHold/altitudehold.c
ground/openpilotgcs/share/openpilotgcs/pfd/default/AltitudeScale.qml
ground/openpilotgcs/share/openpilotgcs/pfd/default/PfdIndicators.qml
ground/openpilotgcs/share/openpilotgcs/pfd/default/SpeedScale.qml
ground/openpilotgcs/src/plugins/pfd/pfdgadgetwidget.cpp
2013-06-22 18:44:03 +02:00
Alessio Morale
5cc3645b96
Uncrustify
2013-06-18 20:23:46 +02:00
Corvus Corax
1d17d08cca
Merge branch 'next' into corvuscorax/OP-947_stateestimator-module
2013-06-12 18:32:01 +02:00
Alessio Morale
e9b3ee52f3
OP-997: add fields to SystemStatsUavo to monitor storage status
2013-06-09 19:20:00 +02:00
Corvus Corax
022f1a1ac0
Merge branch 'next' into corvuscorax/OP-947_stateestimator-module
...
Conflicts:
flight/modules/Attitude/revolution/attitude.c
2013-06-09 13:49:52 +02:00
Alessio Morale
107b930573
Merge remote-tracking branch 'origin/amorale/OP-980_revolution_usb_reconnect' into next
2013-06-09 09:07:24 +02:00
Alessio Morale
51a7f27b99
OP-994 Add an API to PIOS_ADC to get directly the Voltage value
2013-06-08 13:36:54 +02:00
Corvus Corax
6fdf554d4a
Merge branch 'next' into corvuscorax/OP-947_stateestimator-module
...
Conflicts:
flight/modules/Attitude/revolution/attitude.c
ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
shared/uavobjectdefinition/attitudesettings.xml
2013-06-06 19:25:54 +02:00
Alessio Morale
ee7887c406
OP-980 Extended the memory barrier macros and fixed barrier kind in pios_usb_hid
...
+review OPReview-501
2013-06-06 10:26:41 +02:00
Mathieu Rondonneau
45391abd55
OP-976: RE-run uncrustify
2013-06-05 19:48:56 -07:00
Mathieu Rondonneau
a8c946dcb2
OP-976: Fix uncrustify changes that put a space before the ";" in the macro
2013-06-05 19:46:55 -07:00
Mathieu Rondonneau
d2fae1abed
OP-976: fixing function name in the macro although don't have any effect since the linker directives are local.
2013-06-05 19:15:47 -07:00
Alessio Morale
5fa73624da
OP-980 Added memory barrier to preserve sequence to ensure callback validation
...
+review OPReview-501
2013-06-06 01:39:45 +02:00
Corvus Corax
6f6ca2481e
Changed CoordinateConversion to use doubles for LLA2NED conversion, so coordinates can be represented in ECEF with sufficient resolution
2013-06-05 20:40:49 +02:00
Alessio Morale
ce2bce353f
OP-980 Fix usb reconnection issue for Revolution target.
...
step 2: check for cable disconnection (vbus) and issue a SW reconnection
2013-06-05 00:04:26 +02:00
Mathieu Rondonneau
23b2907d08
OP-976: Add the ';' back
...
This compile successfuly with make all_flight
2013-06-03 20:37:40 -07:00
Corvus Corax
40864b2d3b
some cleanups
2013-05-23 21:21:14 +02:00
Corvus Corax
843db63cf6
some last issues from review
2013-05-22 23:08:48 +02:00
Brian Webb
ac4847c8ac
OP-932 Moves the configuration of the com ports on the coordinator OPLink to startup.
2013-05-21 19:48:21 -07:00
Brian Webb
d4a4588011
OP-932 Changes the RFM22 frequency hopping to change channels every Tx period. Also increases the Tx clock period from 8ms to 16ms, and adds a check on calculation the the time delta that it doesn't change the previous estimated time delta by too much. If the delta between the current time delta and the previously estimated time delta is too large it could indicate that there was a delay somewhere that makes the calculated time delta inaccurate.
...
Rearanges the packet send priority in the rfm22b driver so that PPM packets are top priority.
2013-05-20 20:49:24 -07:00
Sexy Pony
900f643bbd
Reformat source code with 'make uncrustify_all' run twice. NO CODE CHANGES
2013-05-19 17:37:30 +03:00
Alessio Morale
ab7af16be3
Merge branch 'amorale/OP-901_lib_udates-usb_fixes' into HEAD
...
Conflicts:
flight/pios/stm32f10x/library.mk
flight/targets/boards/revoproto/firmware/pios_board.c
2013-05-19 15:01:08 +02:00
Alessio Morale
c1f767b12d
Merge remote-tracking branch 'origin/amorale/OP-954_logfs_settings_in_internal_flash' into next
...
Conflicts:
flight/pios/common/pios_flashfs_logfs.c
2013-05-18 15:53:25 +02:00
Alessio Morale
67e41c34fc
Merge remote-tracking branch 'origin/next' into amorale/usb_fixes
2013-05-17 22:46:42 +02:00
Richard Flay (Hyper)
a6aedee9fa
Merge branch 'next' into brian/support_inverted_USB_vsense
2013-05-17 05:54:42 +09:30
Richard Flay (Hyper)
031ea3e069
Merge branch 'next' into brian/code_cleanup_130514
2013-05-17 05:49:38 +09:30
Brian Webb
156109bb88
Added support for an active low USB vsense line.
2013-05-14 20:37:13 -07:00
Brian Webb
1608d11416
Cleans up some compiler warnings/erros and adds missing ifdefs around some e.g. WDG calls.
2013-05-14 20:22:54 -07: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
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
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
Richard Flay (Hyper)
cf14608ebe
Merge branch 'next' into hyper/OP-936_task-monitor-rework
2013-05-09 19:25:02 +09:30
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
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
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
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
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)
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
Brian Webb
8c763c8ed3
OP-932: Improves the timing of channel changes on the radio device.
2013-05-01 14:37:47 +01: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