Commit Graph

294 Commits

Author SHA1 Message Date
Mark Charlebois 1e46f44123 POSIX: ported systemcmds/tests
Most of the systemcmds tests run in the posix build. The UART tests
fail for me as I do not have a UART connected.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-07-01 07:51:24 -07:00
Lorenz Meier 3bad91dd3b systemlib: Fix param access for used params 2015-06-25 09:28:04 +02:00
Mark Charlebois 872a26e6da Fixed passed ot open() for O_CREAT
In nuttx the mode parameter to open is not required but in Linux,
and per the POSIX spec, mode is required if the O_CREAT flag is
passed.

The mode flags are different for NuttX and Linux so a new set of
PX4 defines was added:

PX4_O_MODE_777 - read, write, execute for user, group and other
PX4_O_MODE_666 - read, and write for user, group and other
PX4_O_MODE_600 - read, and write for user

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-14 11:26:40 +02:00
Mark Charlebois c6b36073fe POSIX: ifdef getreg32() calls in mcu_unique_id()
mcu_unique_id() reads registers at an invalid address in non-nuttx builds.
Added ifdef to return a dummy value for non-nuttx builds.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-14 11:26:27 +02:00
Lorenz Meier c9fefe236b Merged release into master 2015-06-13 11:06:01 +02:00
David Sidrane 9585bb4a3c Missing slash 2015-06-12 07:54:51 -10:00
David Sidrane 428611119f Merged GIT version changes 2015-06-12 19:32:55 +02:00
David Sidrane 17fddb1556 Back Port of Git Versioning - without side effects Part 1 2015-06-12 06:49:15 -10:00
Mark Charlebois 4d1ae6269b POSIX: Added PX4_ROOTFSDIR to file paths
Set a default path relative to current dir for the posix target.

Running make posixrun will create the required directoroes and then run
mainapp from its build location.

PX4_ROOTFSDIR is set to nothing for nuttx.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-11 21:36:13 -07:00
tumbili ac215fe2cb allow to give away some thrust for yaw control 2015-06-08 16:42:51 +02:00
tumbili b571d70488 allow to give away some thrust for yaw control 2015-06-08 16:04:42 +02:00
Lorenz Meier 0083d6e732 systemlib: Update system param names 2015-06-08 11:25:44 +02:00
Mark Charlebois 7c00bf11fd remove long long from union param_value_u
The long long was mistakenly added when debugging an alignment issue
on x86_64.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-03 21:00:40 -07:00
Lorenz Meier 3dbd48fbad param style fix 2015-06-03 22:51:02 +02:00
David Sidrane 03bdf1e5f2 Allow allocation of changed paramaters to fail, then all param functions will return PARAM_INVALID or a count of 0 2015-06-03 22:49:57 +02:00
David Sidrane 7950167bc5 Added assertion on allocation failure for parameter change storage, removed magic numbers 2015-06-03 22:49:57 +02:00
Lorenz Meier 4565f57468 Merged release_v1.0.0 into master 2015-05-27 15:28:41 -07:00
Mark Charlebois 1ca05aaa64 orb_advert_t changed to void * and checks changed to nullptr
The existing orb_advert_t use thoughout the code sometimes tries
to treat it as a file descriptor and there are checks for < 0
and ::close calls on orb_advert_t types which is an invalid use
of an object pointer, which is what orb_advert_t really is.

Initially I had changed the -1 initializations to 0 but it was
suggested that this should be nullptr. That was a good recommendation
but the definition of orb_advert_t had to change to void * because
you cannot initialize a uintptr_t as nullptr.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 14:42:49 -07:00
Mark Charlebois a734fc96d1 extensive orb_advert_t fixes
The calls to orb_advertise were being mishandled throughout the code.
There were ::close() calls on memory pointers, there were checks
against < 0 when it is a pointer to a object and values larger than
0x7ffffffff are valid. Some places orb_advert_t variables were
being initialized as 0 other places as -1.

The orb_advert_t type was changed to uintptr_t so the pointer value
would not be wrapped as a negative number. This was causing a failure
on ARM.

Tests for < 0 were changed to == 0 since a null pointer is the valid
representation for error, or uninitialized.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 14:41:33 -07:00
Lorenz Meier 3883b71132 pwm handler: Support channel reversal 2015-05-25 16:42:46 +02:00
Lorenz Meier 8f70ebecc8 RC check: Cleanup, removal of magic numbers and addition of mandatory mapping parameters 2015-05-24 12:49:00 +02:00
Lorenz Meier 8fd00f4d6d Merged release_v1.0.0 into master 2015-05-23 11:07:10 +02:00
Lorenz Meier ccac324f5b mavlink: Fix GIT string transmission 2015-05-23 11:04:19 +02:00
Lorenz Meier 0d134aac53 systemlib: Use build directory for git version 2015-05-23 10:18:20 +02:00
Lorenz Meier 6d7e063148 Added GIT version which recompiles on each build 2015-05-23 09:59:46 +02:00
Mark Charlebois 7301b59d14 Unit tests: Fixed unit test build
Unit tests now work. The linux build was failing saving params
because it was using the changes for QuRT that fake out the
filesystem.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-19 13:36:13 -07:00
Lorenz Meier d906fb8f31 Merged master into linux 2015-05-19 21:00:02 +02:00
Mark Charlebois 49a200d834 Merge branch 'linux' of http://github.com/mcharleb/Firmware into linux 2015-05-19 09:23:34 -07:00
Mark Charlebois ffdc9d629c POSIX: Improved logging
The warnx and warn calls map to PX4_WARN.
Calls to errx or err genrtate a compile error.

The px4_log.h file implements a new log format:

For DEBUG and INFO:
<level> <msg>

For ERROR and WARN:
<level> <msg> (file filepath line linenum)

The verbosity can be changed by setting the macro to use
either linux_log or linux_log_verbose in px4_log.h

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-19 09:19:24 -07:00
Lorenz Meier 2625d3e973 Merge pull request #2175 from Zefz/preflight_gps_check
Preflight: GPS check
2015-05-19 10:10:46 +02:00
Lorenz Meier e5fad077df Merge master into linux 2015-05-18 23:28:57 +02:00
Lorenz Meier c06ba047e2 param lib: Fix index used routine 2015-05-18 23:15:20 +02:00
Lorenz Meier 635b7fa01d param API: Ensure info count method is called 2015-05-18 00:17:09 +02:00
Lorenz Meier 2f5e27c180 param lib: Fix code style 2015-05-17 23:08:10 +02:00
Lorenz Meier ff4be81976 Param: do not set a param as used just because its value is non-default. 2015-05-17 23:05:32 +02:00
Lorenz Meier e279e8bb2a Fix param changed count logic, speed up logic for unused params 2015-05-17 22:58:52 +02:00
Mark Charlebois 36f5d47ed9 Merge remote-tracking branch 'upstream/master' into linux
Signed-off-by: Mark Charlebois <charlebm@gmail.com>

Conflicts:
	src/modules/commander/gyro_calibration.cpp
	src/modules/mavlink/mavlink_ftp.cpp
2015-05-16 15:04:38 -07:00
David Sidrane c6bc3153ef Reviewd - fixed indexing that was wrong, code clean up ran astyle 2015-05-15 03:58:04 -10:00
Lorenz Meier 535eb7dbd9 param lib: Fix use of array size 2015-05-15 09:11:28 +02:00
David Sidrane a0af91d05c Missing Brace 2015-05-14 18:15:10 -10:00
David Sidrane 6667e6e078 Update param.c
Not used px4_macros.h anyway
2015-05-14 18:03:23 -10:00
David Sidrane 8e9fdc6147 Use stdlib's calloc for compaiblity 2015-05-14 17:03:10 -10:00
David Sidrane dc4d5619ea Reduced the amount of memory used by params to only that that is needed
Conflicts:
	src/modules/systemlib/param/param.c
2015-05-14 17:02:45 -10:00
Johan Jansen d650820dbf SystemLib: Add missing CBRK_GPSFAIL circuit breaker parameter 2015-05-14 21:20:34 +02:00
tumbili b6441d2966 implemented new mixer strategy 2015-05-10 00:42:53 +02:00
Mark Charlebois a0d548db9a Changed circuit_breaker to not use px4.h
The inclusion of px4.h requires C++ features not supported in the
Hexagon toolchain. The features are not required so the required
headers are used instead.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-07 11:35:01 -07:00
Mark Charlebois 6db77dc8bb Experimental virtual file support
QuRT does not have a filesystem, so creating a virtual filesystem
that could be implemented as an in-memory file or a remote file
over fastRPC.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 22:12:45 -07:00
Mark Charlebois c5237f7f6f Removed extra abstracton layer in systemlib
The calls to task_spawn_cmd, kill_all, and systemreset  were wrappers
around the px4_{task_spawn_cmd|kill_all|systemreset} implementations.

Removed the wrappers and changed all calls to the px4_ equivalents.

NuttX specific code was moved into px4_tasks.h

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 14:43:11 -07:00
Mark Charlebois 3654aec3a5 POSIX: ported px4_daemon_app
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 14:34:23 -07:00
Mark Charlebois 190814bc97 Merge remote-tracking branch 'upstream/master' into linux
Signed-off-by: Mark Charlebois <charlebm@gmail.com>

Conflicts:
	src/drivers/rgbled/rgbled.cpp
	src/modules/commander/PreflightCheck.cpp
	src/modules/commander/airspeed_calibration.cpp
	src/modules/commander/calibration_routines.cpp
	src/modules/commander/gyro_calibration.cpp
	src/modules/commander/mag_calibration.cpp
	src/modules/mc_att_control/mc_att_control_main.cpp
2015-04-28 11:48:26 -07:00