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

155 Commits

Author SHA1 Message Date
Stacey Sheldon
4da671fc82 build: change firmware files from .opf to .opfw extensions 2011-05-25 00:20:02 -04:00
Oleg Semyonov
66804076b8 build: fix release/Makefile for *.opf files and changed targets 2011-05-24 23:49:51 -04:00
Stacey Sheldon
91cb294730 build: remove redundant PHONY for size target 2011-05-24 01:10:40 -04:00
Stacey Sheldon
0eb92fad91 build: refactor jtag program and add jtag wipe target
Macros for JTAG program and wipe for each target are now
provided in firmware-defs.mk.

The _wipe target for each firmware and bootloader image will
erase either the bootloader (bl_*_wipe) or firmware (fw_*_wipe)
bank.
2011-05-24 01:10:31 -04:00
Stacey Sheldon
9973fda23b build: define bootloader and firmware bank spans
The board-info.mk files now define the start and size
of the bootloader and the firmware banks.
2011-05-24 01:03:01 -04:00
Stacey Sheldon
6e406c0232 build: remove all remaining use of -DUSE_BOOTLOADER
The USE_BOOTLOADER compile flag was only being used
to determine where the ISR vector table was located.

Provide this explicitly from the linker since it knows
exactly where it is putting the ISR vector table.
2011-05-23 18:21:42 -04:00
Stacey Sheldon
0a67730d0f build: refactor fw, bl and bu rules
- New macros for fw, bl and bu rules in top-level make
- Per-board info factored into make/board/*/board-info.mk
- Per-board info now shared btw. fw, bl and blupd for each board
   - BOARD_TYPE, BOARD_REVISION, BOOTLOADER_VERSION, HW_TYPE
   - MCU, CHIP, BOARD, MODEL, MODEL_SUFFIX
   - START_OF_BL_CODE, START_OF_FW_CODE
- blupd_* goals renamed to bu_*
- all_blupd goal renamed to all_bu
- firmware goals renamed to fw_*, board name goals are preserved
- bu_*_program now writes updater to correct address for all boards
- BL updater firmware builds now produce .opf format including
  version info blob.
- BL updater firmware name now includes board name.
- INS makefile brought up to date w.r.t. linker scripts
2011-05-23 18:21:42 -04:00
Stacey Sheldon
6ec6425f5e build: build opf images including firmware + version blob 2011-05-22 10:55:13 -04:00
Oleg Semyonov
39d4f23b67 Merge branch 'master' into OP-483_os_release-packaging 2011-05-15 21:32:20 +03:00
Oleg Semyonov
0005729056 OP-500: fix PyMite dependencies on autogenerated files
This is done by separating PyMite-dependent sources and making them
dependent on autogenerated python code. This was tested with make -j
on Windows and worked fine. It failed with errors otherwise:

In file included from ../Libraries/PyMite/vm/class.c:28:
../Libraries/PyMite/vm/pm.h:198: fatal error: pmfeatures.h: No such file or directory
2011-05-15 04:14:17 +03:00
Oleg Semyonov
bac95dae11 OP-483: get rid of -D install switch (doesn't work on Mac) and use mkdir -p instead 2011-05-14 23:17:08 +03:00
Oleg Semyonov
37868a4c10 OP-483: add install target for firmware
make INSTALL_DIR=dir INSTALL_PFX=pfx INSTALL_SFX=sfx install
installs binary file into specified install directory adding
optional prefix and/or suffix.
2011-05-13 11:25:32 +03:00
Stacey Sheldon
29ec2f198b build: convert all app loads to require bootloaders
This change is made up of a number of tightly coupled
changes:
 - Deprecate the use of the USE_BOOTLOADER command-line
   option.  It is now hard-coded in each Makefile.
   Overriding it on the command line is not allowed.
 - Split apart the memory declaration and the section
   declaration in all linker files (*_memory.ld and
   *_sections.ld).
 - Describe the split between bootloader and app sections
   of flash in each board's _memory.ld file.
 - Change program target to selectively erase flash so
   that the installed bootloader is preserved across even
   JTAG programming operations.
 - All elf files are built with debug symbols and are not
   stripped.  This should help debugging with gdb.  The
   images programmed on the boards are all .bin files now
   which do not include symbols.
2011-05-08 12:40:29 -04:00
Stacey Sheldon
7e99419c8a build: Add support for %.bin.o generation
The .bin.o rule places the contents of a raw .bin file
into an .o file wrapped within fixed symbols for start
and end.  This can be used to embed a binary file inside
of an executable.

The symbols for the embedded binary blob are:
 _binary_start
 _binary_end
 _binary_size

NOTE: The way the .bin.o rule is currently written, you
can only embed one binary blob in an executable since the
symbol names will collide if you add multiple blobs.  This
limitation is easily removed later if necessary.
2011-05-07 18:05:50 -04:00
David Buzz Carlson
c93ab7e723 Change CC, OP MB, and AHRS to use bootloader by default.
Also change AttitudeActual to update at 10Hz rather than 2 Hz.  The increased bandwidth is minimal and the resulting "polish" that it adds to the look-and-feel of the GCS is signifcant.
2011-05-02 00:50:42 -07:00
James Cotton
5f776f0b58 Merge branch 'master' into OP-439_CorvusCorax_Bootloader-Makefile-and-OpenOCD-config-for-Linux 2011-04-27 23:41:35 -05:00
James Cotton
69d03ca101 OP-439: Simplify further. Abstract most of the OOCD flags into the common
firmware include and delete all the extra foss-jtag config files.  There is now
a legacy file for the revA board a second for AHRS that changes the port
2011-04-24 10:19:00 -05:00
Corvus Corax
ee7179bd53 OP-439 unified OpenOCD config for mac os x and Linux, Makefiles adapted accordingly 2011-04-24 12:10:33 +02:00
Corvus Corax
357bc369db PIOS: Bootloader Helper functions should sit in HAL, not duplicated in every single architecture. 2011-04-23 19:40:41 +02:00
peabody124
ec29920a8d OP-315: Clean up RTC calls into a separate function. Unfortunately still need
to add function headers into portmacro.h

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2942 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-03 04:28:38 +00:00
stac
6700a74782 makefile: refactor makefiles and clean up output
This significantly reduces the amount of duplication
across the various firmware makefiles.

The new firmware-defs.mk file should contain only
macros/declarations that will apply to all firmware
makefiles.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2854 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:18:53 +00:00
stac
251f227b31 makefile: reduce default verbosity level
Add V=1 to your invocation of make to re-enable
printing of all command lines.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2851 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:18:46 +00:00
stac
9035ba3f6b makefile: clean up summary lines
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2849 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:18:41 +00:00
stac
fbe22e1d81 makefile: cleanup
- Removed commented out code
- Removed "begin" "finished" and "end" targets

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2848 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:18:39 +00:00
peabody124
52f09e5d55 Add compile time flag (USE_SPEKTRUM) to enable spektrum support until the
dynamic switching is done.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2778 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-13 17:43:44 +00:00
sambas
14641cd353 Fix, was outputting "\n" strings into InitMods.c which failed to build
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2742 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-06 07:21:45 +00:00
stac
9f595842dd modinit: put initcalls on separate lines
This makes it easier to step through the module init
sequence in gdb.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2740 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-06 01:03:02 +00:00
corvus
afdaf88d4a UAVObjects: Allow Generation and Initialisation of individual UAVObjects
per target as defined in Makefile (and/or Make include file) For
OpenPilot this is flight/OpenPilot/UAVObjects.inc For sim_posix and
sim_win32 needs rebuild of uavobjectgenerator and uavobjects!

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2736 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-05 22:17:40 +00:00
corvus
16eef53f02 UAVObjectgenerator: Autogenerate Make include-file for flight UAVObjects to be used in firmware Makefiles.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2702 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-02 20:15:28 +00:00
peabody124
d33d044088 Revert "Revert "Fix to make stacs auto-loading of UAVObjects downwards compatible, since its not working on all architectures""
Putting Corvus patch back in.  Need to delete uavobjects-synthetics directory
for this to work.

This reverts commit 9cd98bec8fb5e0679c625eb256a94d161a8ce345.

Conflicts:

	flight/CopterControl/Makefile

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2671 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 15:46:59 +00:00
peabody124
bbbdea26b9 Revert "Fix to make stacs auto-loading of UAVObjects downwards compatible, since its not working on all architectures"
Note: This patch did not build after a clean build.

This reverts commit 7e75b5d16481a32689433c868b67916816d8b9fb.

Conflicts:

	flight/CopterControl/Makefile

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2651 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 01:56:02 +00:00
corvus
c2ba1f517b Fix to make stacs auto-loading of UAVObjects downwards compatible, since its not working on all architectures
On architectures supporting automatic initializing, flight/UAVObjects/uavobjectsinit_linker.c is used
On architectures NOT supporting automatic initializing, an uavobjectgenerated file build/uavobject-synthetics/flight/init/uavobjectsinit.c is used
build/uavobjects-synthetics/flight/uavobjectsinit.c went away, so that a wildcard include in the Makefile will not include the (wrong) initialisation code in either version



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2640 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-31 20:37:11 +00:00
corvus
6f2e45d414 BigMess: OpenPilot/Makefile: do not have an explicit list of UAVObjects in Makefile, include by wildcard uavobjects/*.c
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2612 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-28 20:19:53 +00:00
sambas
ba5ebb6b13 OP-303 PIOS/Sonar: preliminary support for HCSR04 ultrasound altimeter module, tested and working :)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2610 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-28 19:21:22 +00:00
corvus
0cc957bc9c reverting bad commit of these files
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2605 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-28 12:31:13 +00:00
corvus
e6004ae95e PiOS.posix - split up FreeRTOS port into a linux version (original FreeRTOS linux code) and a non linux POSIX compatible version (Mac OSX, BSD, ...) - OS detection by Makefile.posix
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2604 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-28 12:26:45 +00:00
peabody124
1daabba5c1 Build: Change the lower makefiles to use forward slashes but also create
directories on
windows

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2585 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 20:01:06 +00:00
vassilis
000a7bb54e Flight/Makefile: Fix build error - could not find include files of generated code
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2557 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 02:38:32 +00:00
sambas
826ce00bf4 another one for Big Mess
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2546 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-23 18:18:52 +00:00
stac
2d53902148 UAVObjects-flight: Move generated files into build dir
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2520 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:38:15 +00:00
pip
3d2f78ae9a Removed pipx entries
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2498 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-20 23:01:20 +00:00
vassilis
3a755826a5 Flight/FlightPlan: Fix build issue with rev 2480
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2485 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-20 02:25:09 +00:00
vassilis
d7fd8a3bcd Flight/FlightPlan: Enable Python VM and test flightplan execution. From now on a Python executable needs to be in the system path as it is used in the Makefile.
A test script is statically linked (will eventually be uploaded by the GCS and stored in the VM), it can be found under: Modules/FlightPlan/flightplans/test.py

To start the script send the FlightPlanControl object with the Start command, to stop send the Stop or Kill commands.

Next release will be the OpenPilot python libraries and access to UAVObjects from the script.



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2480 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-19 03:34:01 +00:00
peabody124
fc54159369 OP-265 Flight reorganization of UAVObjects and Modules up a directory
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2415 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:19 +00:00
peabody124
aa8d9eb178 OP-261 Magic Waypoint: Accel feedback for position hold
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2412 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 00:51:54 +00:00
zedamota
691c58a583 OP-268/PipX Bootloader - Changed the size of BL def.
New naming convention for the linker files:
link_(board_name)_(density)_(bl usage).ld

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2401 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-13 17:34:22 +00:00
peabody124
b173d74821 OP-237 I2C ESC support. This _will_ require you to reconfigure your
ActuatorSettings although for PWM aircrafts it should be done exactly as before

Actuator: Store the update times and maximum update time

OP-14 I2C: Start tracking short history of events and states in driver for
logging
OP-237 Flight/Actuator: Support for I2C based ESCs

OP-237 MK_ESC: Send all four motors as one atomic transfer

OP-237 Flight/Actuator: Allow channels to be mapped to MK I2C interface.  Currently
mixer channels are either PWM or MK but in the future this will change to
support more than 8 channels.

OP-16 PiOS/I2C: Further work to try and make I2C more stable, mstly special case
handline in IRQ

OP-237 I2C ESC: Support for Astect 4 channel ESCs

OP-237: When the I2C Actuator write update fails track this

OP-237 Actuator Settings: Change the way motor types are selected to keep that
information more appropriately within ActuatorSettings instead of MixerSettings

Also make motors stay at or above neutral when armed and throttle > 0

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2366 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-10 01:11:44 +00:00
peabody124
ed11e64bb2 OP-251 Watchdog: Get rid of the old extra watchdog module and instead have
tasks directly update a flag for each module (which they register) and when all
flags set clear the watchdog then.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2365 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-10 00:16:30 +00:00
vassilis
1e78cc7a30 Flight/FlightPlan: First release of flight plan scripting. The scripting engine is based on the PyMite Python VM. The released code is able to execute a simple python script on the target. However it is currently disabled from the makefile due to a few issues with more complex scripts. When the library is enabled in the makefile a python interpreter will be needed to compile the firmware since some intermediate code is generated by PyMite.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2364 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-09 22:36:15 +00:00
vassilis
407e660c97 Flight/TaskMonitor: Create TaskMonitor library, used to monitor the remaining task size of all running tasks.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2349 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-08 23:43:34 +00:00