Commit Graph
12 Commits
Author SHA1 Message Date
Mark Charlebois d219076d52 POSIX: added muorb tests
Unit tests for muorb on posix build. These run on the Krait processor.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-07-01 21:33:21 -07:00
Mark Charlebois 6cb26de74c Multi-uORB support changes - part 1
This adds support for a dynamic build for QuRT and initial
Multi-uORB changes to enable communication between the DSP and
the application processor.

This part of the changes do not affect the POSIX build. This is
enablement for the QuRT build using Multi-uORB. The second part
of the changes will be added in a new module under src/modules.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-08 22:21:59 -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 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 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
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 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 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 a209fdc8ef Added missing lock() unlock() to MuORB
The commented out lock and unlock were determined to be needed and added back.

The unit test for VDev was updated. It showed the race between the poll and a
write that only does a poll_notify().

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-29 17:04:30 -07:00
Mark Charlebois 3c957e57e7 Posix: fixed time scaling for work queues
In work queues, delay is in ticks. Needed to check elapsed time
in ticks not in milliseconds.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-27 13:17:28 -07:00
Mark Charlebois 7390f50b67 Posix: cleanup of bad file rename
Deleted obsolete file and fixed renaming of wqueue_start_posix.cpp

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-27 12:21:00 -07:00
Mark Charlebois f3b5076d70 Linux to posix conversion
Changed "linux" target to "posix". Most of the changes are shared with
QuRT and with OSX. The Linux specific parts are in for i2c which uses
<linux/i2c.h> and <linux/i2c-dev.h>.

There is also a check for __PX4_LINUX in mavlink for a tty ioctl that is
not supported.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-21 09:53:09 -07:00