Commit Graph

651 Commits

Author SHA1 Message Date
Lorenz Meier f7c9e918b1 Update airspeed topic to use message generation 2015-05-27 15:21:31 -07:00
Lorenz Meier f5670c8ad6 Update actuator_direct topic to use message generation 2015-05-27 15:21:31 -07:00
Lorenz Meier 465ea8abe3 Move actuator_outputs topic into message generation 2015-05-27 15:21:30 -07:00
Lorenz Meier 5fd4056c4a uORB: Fix missing objects_common entries 2015-05-27 21:16:43 +02:00
Lorenz Meier 4565f57468 Merged release_v1.0.0 into master 2015-05-27 15:28:41 -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 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 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
Ban Siesta a0011d2163 Merge remote-tracking branch 'px4/pr/2200' into lidarlite_merge 2015-05-24 13:59:18 +01:00
Ban Siesta 7cec6d3c3b uORB: added pwm_input to objects_common 2015-05-24 11:52:18 +01:00
TSC21 43668cc8c8 distance_sensor: adopt message in both range drivers and on ekf_att_pos_estimator 2015-05-23 17:49:52 +01:00
TSC21 db48df15c8 Merge branch 'master' 2015-05-21 12:26:55 +01:00
Lorenz Meier fbdfc698cc Merge branch 'release_v1.0.0' 2015-05-20 20:24:39 +02:00
TSC21 1978f1bcac distance_sensor: remove 'distance_sensor.h' autogenerated header 2015-05-20 17:37:54 +01:00
Lorenz Meier 4dbaf71612 Remove unused actuator_controls_effective topic 2015-05-20 13:49:18 +02:00
TSC21 c180b5d825 distance_sensor: added msg definition to 'msg' folder 2015-05-20 12:40:15 +01:00
Lorenz Meier 2903ceaacc Merge branch 'release_v1.0.0' 2015-05-20 09:00:57 +02:00
James Goppert e1d2c0c5ad Move more messages to auto-generation, work on C++ code style 2015-05-20 08:57:29 +02:00
TSC21 364492a325 distance_sensor: added def to objects_common.cpp 2015-05-19 23:42:15 +01:00
TSC21 c2d1de30af Merge branch 'master' of https://github.com/PX4/Firmware into distance_sensor 2015-05-19 23:32:33 +01:00
TSC21 37e96e230c distance_sensor: first topic commit 2015-05-19 23:25:33 +01: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 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
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 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 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 6acdc2ae3f POSIX: workaround for poll notification
Sensor combined topic notification wasnot working because
the calls to hrt_called() and hrt_call_after() in
ORBDevNode::appears_updated() are not working correctly.

This commit ifdefs out those calls, and the poling seems
to work correctly. This is a workaround until the issue is
resolved.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-30 13:17:16 -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 2446dfec16 Fixups after merge from master
MuORB was missing the orb_exists() function added to uORB.cpp

gyro_calibration.cpp still had some merge conflicts that had not been resolved.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-28 12:28:10 -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
Lorenz Meier 28dfb8983a uORB: Add API to check if a topic exists yet 2015-04-26 14:33:56 +02:00
Mark Charlebois d913ec8dc9 Changed device::px4_device_handle_t to device::file_t
This change allowed the _posix.cpp file changes to be merged
back into the original files.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-24 17:49:35 -07:00
Mark Charlebois 3336fce1f4 QuRT and POSIX changes
Partial commit of the changes for QuRT and related changes for POSIX

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-24 00:52:44 -07:00
Mark Charlebois da29004a26 Sync state_machine_helper_posix to state_machine_helper
state_machine_helper_posix.cpp was out of sync with
state_machine_helper_posix.cpp.

Added debug to detect when sensors is started before uorb.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-21 22:04:01 -07:00
Mark Charlebois ccd18929fc Linux: changed CDev to VDev for virtual device implementation
To avoid confusion when a real device and a virtual device is
being used, changed CDev to VDev for Linux.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:34:12 -07:00
Mark Charlebois dffb8bb62c MuORB: handle case on no args passed
if only uorb is called with no other args it crashes.

Handle the case where no args are passed.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:16:26 -07:00
Mark Charlebois 5f3496353c Linux: added support for sdlog2
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:15:12 -07:00
Mark Charlebois ac0df5c61d Linux: added HRT test, moved tests to linux/tests
Also fixed naming of mavlink files for NuttX build.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:07:00 -07:00
Mark Charlebois 7b0783a070 Added MuORB based on virtual CDev implementation
uORB module now compiles and runs for Linux using the
virtual CDev implementation.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:00:18 -07:00
Mark Charlebois 4016ad2ff5 Revert uORB to previous version
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:00:17 -07:00
Mark Charlebois aeb65702a2 Fixed support for clang 3.5
"clang-3.5 -dumpversion" returns 4.2.1 as the GCC version.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:00:16 -07:00
Mark Charlebois 9758112e31 Use px4_config.h instead of nuttx/config.h
Modified code to use OS independent header file for config settings.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:55:41 -07:00
Mark Charlebois bf429188b4 Reverted: Use OS independent API for task creation/deletion
Keep existing API use in code. Bind the use of the OS independent
implementation in the systemlib layer.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:49:44 -07:00
Mark Charlebois ddb32742eb Use OS independent API for task creation/deletion
Calls to task_delete and task_spawn_cmd are now
px4_task_delete and px4_task_spawn_cmd respectively.

The px4_tasks.h header was added to the affected files
and incusions of nuttx/config.h were removed.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:49:44 -07:00
Roman Bapst b52d0ed8a2 mc_att_control: implemented anti windup 2015-04-18 11:19:46 +02:00
M.H.Kabir 66e6938c6d timesync: Add uORB topic, general fixes 2015-04-14 13:14:15 +05:30
Roman Bapst 555e96a37a fixed publication of mixer limit flags 2015-04-10 20:26:38 +02:00
Daniel Agar 8aae66b893 trivial code style cleanup round 2 2015-03-27 23:38:58 -04:00