1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-01-10 20:52:11 +01:00

4426 Commits

Author SHA1 Message Date
Stacey Sheldon
b211840104 logfs: allow loading zero length files
This was found by the logfs unit tests.

This may be useful if we want to use empty files as existence
flags in the future.  Doesn't make any sense for UAVOs but
is valid in the general sense of a filesystem.
2013-03-03 14:33:02 +01:00
Stacey Sheldon
b6eeb59b26 flash: verify JEDEC ID during flash init
Verify that the flash component on the board matches exactly
what we're expecting.  This is a simple way to verify that we
are communicating properly with the JEDEC flash chip.

Conflicts:
	flight/targets/board_hw_defs/freedom/board_hw_defs.c
	flight/targets/board_hw_defs/quanton/board_hw_defs.c
2013-03-03 14:33:02 +01:00
Stacey Sheldon
17b8696261 flash: use uintptr_t to hold opaque pointers
When storing an opaque pointer value in a uint, the
appropriate type is uintptr_t which is guaranteed to
be wide enough to hold a pointer.

This is particularly important when the code can be
compiled in a sim or unit test environment which is
intended to run on a 64-bit machine.

Conflicts:
	flight/PiOS/Common/pios_flash_jedec.c
	flight/targets/DiscoveryF4/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
2013-03-03 14:33:02 +01:00
Stacey Sheldon
dd5f4b949c logfs: use uintptr_t to hold opaque pointers
When storing an opaque pointer value in a uint, the
appropriate type is uintptr_t which is guaranteed to
be wide enough to hold a pointer.

This is particularly important when the code can be
compiled in a sim or unit test environment which is
intended to run on a 64-bit machine.

Conflicts:
	flight/targets/DiscoveryF4/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
2013-03-03 14:33:02 +01:00
Alessio Morale
cc2d5f8eae Fixes for missing openpilot.h include, previously coming from flashfs_objlist 2013-03-03 14:33:02 +01:00
Stacey Sheldon
7f53aa422a ut: add basic unit test for logfs
Build it with:
  make ut_logfs

Create a raw flash file like this:
  dd if=/dev/zero bs=1 count=2MiB | tr '\000' '\377' > theflash.bin

Run it with:
  ./build/unit_tests/logfs/logfs.elf && echo 'all good'

Conflicts:
	Makefile
2013-03-03 14:33:02 +01:00
Stacey Sheldon
7726b9e2a9 logfs: use f3-safe slot and arena states for all chips
Filesystem magic value has been updated to deal with the
format change.

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-03-03 14:33:01 +01:00
lilvinz
d611207789 pios_flashfs_logfs: moved modified ARENA and SLOT enums to an F3 branch
also added a detailed comment
2013-03-03 14:33:01 +01:00
lilvinz
b242f8b88c pios_flashfs: adapted flashfs to work on f3 2013-03-03 14:33:01 +01:00
Stacey Sheldon
81059c41f7 flashfs: remove API dependency on uavobjmanager types
The flashfs layer is now entirely decoupled from the UAVO
data types.  All UAVO related calls are now properly
contained within uavobjectmanager.c.

This will make the flashfs layer more portable as well as
more testable in a standalone environment.  Eventually,
this layer could be used to store arbitrary files.

Also fixed all of the doxygen headers for the flashfs API.
2013-03-03 14:33:01 +01:00
Stacey Sheldon
d2a3f254bc stmflash: add flash driver for internal flash in STM32 2013-03-03 14:33:01 +01:00
Stacey Sheldon
d89a9b1b6c objlist: remove now unused objlist flash filesystem
Conflicts:
	flight/PiOS/inc/pios_flashfs_objlist.h
2013-03-03 14:33:01 +01:00
Stacey Sheldon
bcb66764e2 logfs: use logfs on all targets that have serial flash
Conflicts:
	flight/targets/FlyingF4/Makefile
	flight/targets/FlyingF4/System/pios_board.c
	flight/targets/Freedom/Makefile
	flight/targets/Freedom/System/pios_board.c
	flight/targets/Quanton/Makefile
	flight/targets/Quanton/System/pios_board.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-03-03 14:33:01 +01:00
Stacey Sheldon
5ef0988137 logfs+flash: add log structured filesystem for PiOS
A new flash driver abstraction is also provided to allow
for future support of other types of flash device under
the filesystem.

Conflicts:
	flight/PiOS/Common/pios_flash_jedec.c
2013-03-03 14:33:01 +01:00
Stacey Sheldon
20921e48ca flashfs: define the API to the FLASHFS subsystem 2013-03-03 14:33:01 +01:00
Alessio Morale
d26aaa6f6d sim_posix Removed unused files 2013-03-03 09:50:20 +01:00
Alessio Morale
5fdaccc1fa sim_posix: unified inc files with the rest of PiOS .h, some dir moves/cleanup, fixed some compilation issues. 2013-03-03 09:50:20 +01:00
Brian Webb
4743404c47 RFM22B: Some more reliability improvements for frequency hopping. 2013-03-01 07:55:00 -07:00
Brian Webb
9fad194bb8 RevoMini: Added rfm22 com configure callback to set the speed of the radio link. 2013-02-25 09:20:08 -07:00
Brian Webb
4e92bed1df Added back missing PIOS_COM_TELEM_USB (needed by the bootloader). 2013-02-25 01:44:48 +00:00
Brian Webb
2f0498d8ad Was a little aggressive on the rfm22b device structure cleanup, and removed the PPM receiver elements. 2013-02-25 00:30:32 +00:00
Brian Webb
d9baa372c7 Added frequency hopping to the RFM22B driver. Currently it defaults to 128 channels between 430 and 440 MHz. 2013-02-24 23:05:51 +00:00
a*morale
a48395c7a0 Added the visualization of the error in BU
the error is shown as a number of slow flashes followed by 10 fast flashes.
The number of slow flashes indicate the error code:
1 - Self overwrite check failed;
2 - Board hardware revision mismatch;
3 - Flash erase failed;
4 - Flash programming failed;
The error code sequence will be shown indfinitely should a error occurs.
2013-02-19 00:48:05 +01:00
Brian Webb
1af58e510e Added optional output of GCSReceiver from the OPLink to the FC. This will happen automatically if a PPM packet is receive, and PPM output is disabled. 2013-02-18 02:55:58 +00:00
Brian Webb
cf7c929030 Added the ability to store bindings and configuration paramaters for multiple (up to 8) modems from an OPLink controller modem. 2013-02-18 01:49:13 +00:00
Alessio Morale
d1c5da6c24 Move PyMite makefile entries to Libraries/PyMyte/pymite.mk to simplify boards makefile. 2013-02-17 22:28:41 +01:00
Alessio Morale
3986f93e68 op-848 Splitted sample rate divider configuration for dlp and non_dlp settings (1kHz vs 8kHz sample rate).
Minor clean up, used constants in place of some hardcoded values
2013-02-17 12:20:25 +01:00
Brian Webb
46baec52ef Merge remote-tracking branch 'origin/next' into brian/rfm22_multibind 2013-02-17 01:21:12 +00:00
Alessio Morale
e27a07631e op-848 MPU6000 support user configurabe accel/gyro scales and filter bandwidth.
board definitions can override any of this settings for special applications.
Also include cleanup from "magic numbers" and fix for inverted ranges
2013-02-17 02:02:12 +01:00
Oleg Semyonov
aea1b4b544 Merge remote-tracking branch 'origin/os/OP-775_arm-dsplib' into next 2013-02-16 16:08:31 +02:00
Oleg Semyonov
c8ce31f7a9 Merge remote-tracking branch 'origin/next' into theothercliff/elevon_cam_stab 2013-02-11 01:03:33 +02:00
Brian Webb
9b6493eeca Set the binding on the OPLink after configuring the radio. 2013-02-08 01:56:23 +00:00
Brian Webb
57b4d8c720 RFM22: Added support for binding to multiple remove OPLinks. 2013-02-08 01:56:22 +00:00
Brian Webb
6de2252c23 OP-814: Added PPM input on the FlexiPort for CC/CC3D. 2013-02-08 01:06:41 +00:00
Cliff Geerdes
6d4e8e4657 OP-824 Feedforward fix, 0.0f, coding style, and var name changes. 2013-02-07 18:27:59 -05:00
Brian Webb
e50e645e7b Merge remote-tracking branch 'origin/next' into brian/oplink_ppm_out 2013-02-07 13:39:21 +00:00
Oleg Semyonov
97436166e3 Merge remote-tracking branch 'origin/next' into os/OP-775_arm-dsplib 2013-02-06 12:55:14 +02:00
Cliff Geerdes
8104ae25dd OP-824 Add CameraStab Elevon-type mixing. Redo servo reversing. 2013-02-03 19:02:34 -05:00
Corvus Corax
7642f44cad Merge remote branch 'origin/corvuscorax/sanity_additions' into corvus/directory_and_sanity
Conflicts:
	flight/Modules/FirmwareIAP/firmwareiap.c
	flight/Modules/ManualControl/manualcontrol.c
	flight/targets/SimPosix/Makefile
	shared/uavobjectdefinition/systemalarms.xml
2013-02-03 14:57:54 +01:00
Brian Webb
ca6aa9fcea Reformatted PPM output code to match coding standards. 2013-02-02 01:53:39 +00:00
Brian Webb
18c592a37a Reformatted PPM output code to match coding standards. 2013-02-02 01:50:02 +00:00
Alessio Morale
153db89663 OP-815 changed PIOS_WDG_RegisterFlag to reset the WDG to prevent timeouts during module initialization 2013-02-01 20:05:44 +01:00
Brian Webb
a4faa22c4b Merge remote-tracking branch 'origin/brian/rfm22_autoconf' into next
Conflicts:
	ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp
2013-01-31 13:40:32 +00:00
Cliff Geerdes
5e2aeeea76 Fixed tab stops in two c files. 2013-01-31 05:38:10 -05:00
Cliff Geerdes
6806e895cc First version. Passes simple tests. 2013-01-30 18:57:32 -05:00
Oleg Semyonov
396f210d07 Remove stray file in RemoteSystemsTempFiles 2013-01-28 03:02:04 +02:00
Stacey Sheldon
f500ac1e23 rename: move UAVObjects and UAVTalk directories under targets 2013-01-28 02:33:06 +02:00
Stacey Sheldon
0fda8035c2 makefile: update to released openocd 0.6.1 2013-01-28 02:13:17 +02:00
Stacey Sheldon
dbcf440bb9 makefile: factor out paths for major flight components
Conflicts:

	flight/targets/CopterControl/Makefile
2013-01-28 02:01:39 +02:00
Stacey Sheldon
69a2691bc2 rename: move board-specific dirs into flight/targets
Conflicts:

	flight/targets/Bootloaders/Revolution/Makefile
	flight/targets/CopterControl/Makefile
2013-01-28 01:52:44 +02:00