Commit Graph
100 Commits
Author SHA1 Message Date
Mark Charlebois 6343b2c56f px4_poll fix - was sleeping for usec instead of ms
There was a conversion error in the timeout (in ms)
passed in and the ts.tv_nsec field of the struct timeval.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-29 13:26:29 -07:00
Mark Charlebois 77cc3cdde1 Remove Build/git_version.* on each make
The Build/git_version.d and Build/git_version.o files need to be
removed on each make to prevent confusion from a previously
generated dependency file for a different target.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 19:50:39 -07:00
Mark Charlebois 35e0d866eb Fix compare of int and uint32
VEHICLE_CMD_START_RX_PAIR is defined as uint32 and is being compared to an int.
GCC complains about this and fails. Changed int cast to a unsigned int.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 19:43:54 -07:00
Mark Charlebois d4749551da git_version.* not removed on clean
The Build/git_version.* files need to be removed on make clean.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 19:30:05 -07:00
Mark Charlebois 31923c3add On more fixup for orb_advert_t changed to void *
Reviewed all changes in pull request and made sure all cpp files
check orb_advert_t types against nullptr and c files check against
NULL.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 14:42:49 -07:00
Mark Charlebois a452478ef9 More fixups for orb_advert_t changed to void *
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 14:42:49 -07:00
Mark Charlebois bd2b5e4738 Revert change to src/drivers/device/vdev.cpp
This change was not part of the orb_advert_t fix.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 14:42:49 -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 180c8b0cb0 Missed another < 0 check
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 14:41:33 -07:00
Mark Charlebois b990d9fa7e Missed a check for < 0
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 14:41:33 -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
Mark Charlebois 379075d29c POSIX: Increased number of devmap entries
The orb_advertise and/or orb_publish calls were failing because
there were not enough devmap entries allocated for all the orb
topics advertised.

The number of entries was increased from 50 to 100.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-25 23:20:19 -07:00
Mark Charlebois 6ae6c29879 QuRT: Changed PX4_DEBUG output from verbose to omit
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-21 15:45:13 -07:00
Mark Charlebois f1f562a94d POSIX: Fixed orb_advertise failure
There were an insufficient number of devmap entries allocated and
when they ran out, new orb_advertise requests would fail.

Also added a new logging macro for the Linux build to show the
calling pthread if enabled.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-21 15:35:11 -07:00
Mark Charlebois 2d22e8325d Fix double build when using new make target syntax
When make is invoked as "make posix posix_default"
it will build the posix_default target twice. The Makefile was
fixed to correct this.

If "make posix" is run, the Makefile still calls "make PX4_TARGET_OS=posix".

If "make posix posix_default" is run, the posix target just exports
PX4_TARGET_OS=posix and then make evaluates the next goal (posix_default).

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-21 13:45:53 -07:00
Mark Charlebois cb5db8ec83 dataman: Fixed file permissions on file creation
In Linux the file was being created with incorrect permissions.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-21 10:37:15 -07:00
Mark Charlebois 0c3681c896 Sensors: added missing px4_close and removed _exit() call
The QuRT build was broken from the call to exit. While fixing
the code to clean up before returning, I found a missed call
to px4_close.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-21 10:26:45 -07:00
Mark Charlebois f24d807b66 QuRT: Fixed file descriptions for command_<config>.c
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-21 10:23:46 -07:00
Mark Charlebois dc1c4a30e1 Makefile multi-target support
NuttX is still the default target and all NuttX configs can still
be built with:

make

Individual NuttX, POSIX, and QuRT configs can now be built more
easily by specifying the target and configs:

make posix posix_default
make qurt qurt_hello
make nuttx aerocore_default

Running make with just the target will make all the configs for
that target:

make nuttx
make qurt
make posix

The help is also target specific:
make nuttx help
make qurt help
make posix help

"make help" will still assume you want help for the NuttX target

Added a new QuRT config called qurt_hello as a sample config to
test buiding in different commands for separate configs.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-21 10:23:46 -07:00
Mark Charlebois 7da96b3bac POSIX: Fixed uint64_t print in generated topic_listener.cpp
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-21 10:23:46 -07:00
Mark Charlebois 05720b5aef Added ability to set OS specific path for dataman file
dataman can now be started using:

dataman start -f filepath

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-21 09:24:48 -07:00
Mark Charlebois e45f040c76 QuRT: Fixed file descriptions for command_<config>.c
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-20 19:35:43 -07:00
Mark Charlebois 43345e29dc Makefile multi-target support
NuttX is still the default target and all NuttX configs can still
be built with:

make

Individual NuttX, POSIX, and QuRT configs can now be built more
easily by specifying the target and configs:

make posix posix_default
make qurt qurt_hello
make nuttx aerocore_default

Running make with just the target will make all the configs for
that target:

make nuttx
make qurt
make posix

The help is also target specific:
make nuttx help
make qurt help
make posix help

"make help" will still assume you want help for the NuttX target

Added a new QuRT config called qurt_hello as a sample config to
test buiding in different commands for separate configs.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-20 19:19:08 -07:00
Mark Charlebois 062a547d07 POSIX: changes to support posix build on ARMv7
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-21 00:43:55 +00:00
Mark Charlebois 00296ba241 POSIX: Fixed uint64_t print in generated topic_listener.cpp
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-19 16:42:55 -07:00
Mark Charlebois 30895c2dfd POSIX: fixed printf to use PX4_INFO
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-19 13:37:59 -07: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
Mark Charlebois f44444b7c4 POSIX: Converted poll to px4_poll
A new poll command was added in accelerometer_calibration.cpp
that needed to be converted to a px4_poll.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-19 12:06:58 -07:00
Mark Charlebois eaef0db7d6 Logging fixes and enhancements
Made the logging macros generic so they can be used for multiple targets.

Fixed toolchain_native.mk so err.h is included from src/systemlib for posix.

Reduced debug output for uORB.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-19 11:53:19 -07:00
Mark Charlebois 95de7c2e94 ROS: Fixes for print of uint64_t type
Changed printf to use PRIu64

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-19 11:14:40 -07:00
Mark Charlebois 60080dd9e7 QuRT: fixed print of INT32_t type
In QuRT, this is a long but the variable was being printed with "%d"

Need to cast variable as long and use "%ld"

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-19 11:10:06 -07:00
Mark Charlebois ce96329f95 Resolve printing uint64 types
Using %llu or %lu will break one of the build targets. The "right way"
to print a uint64_t is via the PRIU64 macro defined in C99.

This wasn't defined for the NuttX compiler so it was added to px4_defines.h
for NuttX.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-19 11:04:39 -07:00
Mark Charlebois e2d175b3e5 Added back include of px4_posix.h for non-ROS builds
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-19 10:47:17 -07:00
Mark Charlebois 0f5cb75692 ROS: Fixes for ROS build
The ROS build included some files that used isfinite vs PX4_ISFINITE.

The AppState class also needed to be supported for ROS.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-19 10:41:15 -07: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
Mark Charlebois 791d780bb8 BAROSIM: Fixed error in transfer function
The transfer function would previously return error if the receive
buffer length was 0. This appears to be a valid condition for
requesting a measurmement be taken but no data returned.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-18 13:29:20 -07:00
Mark Charlebois 466db74d29 QuRT: Added define so pthread functions are enabled
Added -D__QDSP6_DINKUM_PTHREAD_TYPES__ to makefiles/toolchain_hexagon.mk
so the pthreads functions are properly defined.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-18 12:21:53 -07:00
Mark Charlebois dcb55ff38d Changed isfinite to PX4_ISFINITE
There are cross platform issues with the isfinite call that are handled
by PX4_ISFINITE

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-18 09:58:49 -07: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
Mark Charlebois 6a1c28fbc1 Merge branch 'linux' of http://github.com/mcharleb/Firmware into linux 2015-05-15 13:00:59 -07:00
Mark Charlebois 9f391b1867 NuttX: fixes for NuttX build
In the upstream tree ringbuffer.h includes the method implementations
in the header file which causes multiple definitions in the link for
other targets. Changed so ringbuffer.cpp is build separately for other
platforms and is included by ringbuffer.h on NuttX.

uORB changes do not link without uORBTest_UnitTest.cpp enabled for
the NuttX build.

px4_getopt was not exported and wasn't visible in NuttX build.

The makefiles were restored to be as close as possible to upstream
so the NuttX build builtin's work again. The code will have to be
refactored after the merge.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-15 12:56:18 -07:00
mcharleb 868177f3ba Merge pull request #12 from tumbili/simulator_fixes
fix mavlink message sending, make thread priority default
2015-05-15 08:59:14 -07:00
Mark Charlebois a3a0d0612c QuRT: enabled more modules
rgbled is now enabled.

Saving parameters causes a crash so those commands are not enabled.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-14 09:45:03 -07:00
Mark Charlebois abe61a3d7e Added missing return on error
When mc_pos_control_main.cpp was ported to posix one error condition
retuned 0 instead of 1.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-14 08:32:51 -07:00
mcharleb 2bdfd8ca1b Merge pull request #11 from tumbili/mc_pos_control
Multicopter position controller port
2015-05-14 06:58:21 -07:00
Mark Charlebois b2c12ff522 QuRT: added stub for inclusion of libdspal.a
libdspal.a is still incomplete and so is not yet used

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-13 18:49:00 -07:00
Mark Charlebois 8e346a06fb QuRT: enable uORB, and simulator
uORB, the simulator and simulated devices now run

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-13 18:03:08 -07:00
Mark Charlebois 884f62878d QuRT: pthread API now working
The use of std::map and static initialization was an issue.

The code was refactored to not use static initialization.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-13 16:21:52 -07:00
mcharleb 7115ec3ab6 Merge pull request #10 from tumbili/hil_message
read hil sensor message instead of highres imu message
2015-05-13 09:19:41 -07:00
mcharleb c1927b7387 Merge pull request #9 from tumbili/send_controls
send pwm outputs to simulator
2015-05-12 15:24:37 -07:00
mcharleb 21d7e4f24f Merge pull request #8 from tumbili/serial_device
read serial device to obtain manual control setpoint
2015-05-12 14:36:18 -07:00
Mark Charlebois 3db5f3bb3b QuRT: toolchain changes
Reworking toolchain and main.cpp for QuRT to a final link can be
done and the apps.h file is autogenerated.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-12 11:37:28 -07:00
Mark Charlebois 14cbd240ff QuRT: added qurt_log
Implement as a printf for now

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-11 19:38:03 -07:00
Mark Charlebois d0bf4ab449 Simulator: refactored mavlink additions
QuRT does not support UDP so moved the mavlink specific code
to a new file that is not built for the qurt target

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-11 19:25:11 -07:00
Mark Charlebois 2f434eb395 POSIX: fixups for px4_log.h change
After merge from qurt branch, fixups for posix build

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-11 16:14:06 -07:00
Mark Charlebois 2d32395bc0 Merge branch 'qurt' into linux 2015-05-11 16:07:53 -07:00
Mark Charlebois a99f916bdf POSIX: Changed px4_debug.h to px4_log.h
Also changed use of printf to PX4_WARN or PX4_INFO in posix and
qurt tests.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-11 16:04:39 -07:00
mcharleb 11010a648c Merge pull request #7 from tumbili/polling
implemented polling to prevent unnecessary cycling.
2015-05-11 15:00:48 -07:00
mcharleb c303525336 Merge pull request #6 from tumbili/simulator_udp
implemented bidirectional udp communication with simulator
2015-05-11 08:39:04 -07:00
Mark Charlebois 0ba5305e94 QuRT: satisfy missing deps
There is no ioctl or write. Added stubs.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-07 23:21:24 -07:00
Mark Charlebois 84ca66dcf7 QuRT: updated task support based on posix fixes
The posix layer implementations should work on QuRT.

QuRT needs to provide a way for getting the current time.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-07 22:58:51 -07:00
Mark Charlebois 3225edfabb QuRT: Really reverted to non-posix APIs
Using non-posix APIs for now.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-07 21:51:02 -07:00
Mark Charlebois ad1865ef9f QuRT: Move to POSIX API for threads
Use the pthread APIs to implement task support

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-07 14:55:28 -07:00
Mark Charlebois 8dfb09418b QuRT: added #include<px4_time.h> to posix unit tests
QuRT does not define usleep and sleep, so they are stubbed out
for now.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-07 14:40:31 -07:00
Mark Charlebois 8caefc183d QuRT: updated toolchain file to link against libdspal.a
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-07 13:23:45 -07:00
Mark Charlebois fd3715912e QuRT: stub out missing functions
Stub out the missing functions to enable running in the simulator

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-07 12:54:39 -07:00
Mark Charlebois 632f77df49 QuRT: add drivers/led
The drivers/led module was missing from the QuRT config

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-07 11:55:24 -07: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 99822038f3 POSIX: Fixed px4_open code to not create a file when opening a device
The code to created a virtual file was preventing the creation of
device nodes.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-07 10:50:23 -07:00
Mark Charlebois 4216a0d64d POSIX: remove check for /tmp/ttyS{0|1}
The posix build now disables the UART code in mavlink.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-07 10:46:10 -07:00
Mark Charlebois 41a2d30cfe Merge branch 'linux' of http://github.com/mcharleb/Firmware into linux 2015-05-07 10:08:56 -07:00
Mark Charlebois 2002d4e774 POSIX: disable UART in mavlink
Most of the current POSIX builds will not use the UART and it
is just a unnecessary dependency to satisfy when running in a
test environment.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-07 10:07:18 -07:00
Mark Charlebois 5e2af2b227 POSIX: fixed return values to be posix compliant
px4_read, px4_write, and px4_opctl were not returning the correct
value on error. They were returning -errno vs -1.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-07 09:38:03 -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 35e6822d95 Added missing px4_ prefixes
NuttX build required missing px4_ prefix for systemreset and task_spawn_cmd

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 16:25:45 -07:00
Mark Charlebois a0d58552a0 blinkm: merged NuttX and POSIX impelmentations
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 16:24:18 -07:00
Mark Charlebois 948b47bd33 Removed px4_killall
killall and px4_killall are not used in the codebase so it was removed.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 16:04:20 -07:00
Mark Charlebois 3a65187303 Fixed bad merge
Forgot to remove old file line when merging the changes from master.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 16:00:00 -07:00
Mark Charlebois db52227409 Merge remote-tracking branch 'upstream/master' into linux
Signed-off-by: Mark Charlebois <charlebm@gmail.com>

Conflicts:
	src/modules/commander/accelerometer_calibration.cpp
2015-05-06 15:51:39 -07:00
Mark Charlebois 04b564920f POSIX: Make binutils BDF linker the default
ld.gold does not support the -Ur flags and it seems some people have
ld as a link to ld.gold.

Made LD = ld.bfd to avoid confusion.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 15:44:37 -07:00
Mark Charlebois 0c1c58c418 Fixed overzealous px4_ prefixing
Some files had px4_px4_ prefixed functions.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 15:32:04 -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 eed2479dfc Added px4_ prefix to task_spawn_cmd
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 14:20:08 -07:00
Mark Charlebois 7ebee7ca6f uORB: Unit test fix
The latency_test used to pass an object pointer as argv which
won't work in the posix port because it expects argv to be a
null terminated array of character pointers (which it makes a
copy of).

The test was refactored to use a singleton pattern and avoid
having to pass the object pointer to the thread.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 13:19:52 -07:00
Mark Charlebois 872e1ebda0 GCC fixes for warnings
GCC was more picky about prototypes for inlines being required.

The generate_listener.py script used incorrect printf formats and
was casting %f params to float, but printf casts all %f params to
double per the spec.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 11:45:23 -07:00
Mark Charlebois 5299f76706 POSIX: initialize before running script
The initialization functions were called after the script
commands were run causing a deadlock waiting for an
uninitialized semaphore.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 09:51:31 -07:00
Mark Charlebois e28049a387 POSIX: changed SIGCONT to SIGALRM
QuRT doesn't seemto support SIGCONT

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-05 16:43:54 -07:00
Mark Charlebois 6d2efd0e8f uORB: Unit test called close vs px4_close
The unit test should have called px4_close(), not close().

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-05 13:07:54 -07:00
Mark Charlebois b7918ee45a Nuttx: remove -Wframe-larger-than=1024
The build fails when modules override this flag with a larger value,
and this lower value is still checked. The new flag seems to be in
addition to the old flag, not a replacement.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-05 12:16:23 -07:00
Mark Charlebois 0cea93a55c POSIX and QuRT: fixed calls needing px4_ prefix
There were some missed calls to open and ioctl that need to be
px4_open and px4_ioctl.

QuRT also does not provide usleep() so px4_time.h has to be included
in files calling usleep.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-05 12:13:39 -07:00
Mark Charlebois f2af8b08ed uORB: fix segfault in unit test
The unit test was not passing a null pointer terminated argv.
The posix port depends on argv being null terminated to
determine how may args were passed since PX4 API doesn't
pass argc when spawning a new task.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-05 12:09:19 -07:00
Mark Charlebois e33a164ddb uORB: Major refactoring
uORB was refactored in order to support the MuORB changes required
for QURT. Those changes wil be added in a subsequent commit.

The files are split out by posix and nuttx so the changes are visible.
When this has been tested, the files can be re-merged and re-tested.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-05 10:52:15 -07:00
Mark Charlebois e24405d374 POSIX: fixed hrt call and workqueue implementation
The HRT call processing normally happens via HW timer interrupt
handler. Since the POSIX port has no ISR handling, the HP work
queue is used.

Instead of irq_save() and irq_restore() calls to disable/enable
interrupts, a mutex is used to protect each queue.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-05 00:27:14 -07:00
Mark Charlebois 12a25e4b63 Merge remote-tracking branch 'upstream/master' into linux
Signed-off-by: Mark Charlebois <charlebm@gmail.com>

Conflicts:
	makefiles/firmware.mk
	src/modules/commander/module.mk
	src/modules/mavlink/mavlink_ftp.h
	src/modules/mavlink/mavlink_tests/module.mk
2015-05-04 16:36:59 -07:00
Mark Charlebois ed621a6a8d POSIX: Enabled hrt queued work to be run
In STM32, the ISR handler calls hrt_call_invoke(). There is no
interrupt timer inthe POSIX port so a work item is put on the
high priority work queue to expire at the next event (in ticks)
or at the next max delay interval.

Counter wrapping is likely still not handled properly in this code.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-04 16:09:00 -07:00
Mark Charlebois 7ac9fc38e4 Commented out 1st definition of MAVLINK_SRC
The variable MAVLINK_SRC was defined and then redefined.
Commented out the first definition and moved beside that overriding
definition for visibility.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-04 15:48:06 -07:00
Mark Charlebois cfd96a8ab4 POSIX: Added missing include path and -Wno-packed flag
The changes to the simulator added an include of

mavlink/include/v1.0/... to simulator.h which was not in the included paths.

The included header file also causes clang to issue a -Wpacked warning that
had to be silenced.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-04 15:33:08 -07:00
mcharleb 21a5dfc828 Merge pull request #5 from tumbili/JMAVsim_interface
JMAVSim interface
2015-05-04 14:15:29 -07:00