Commit Graph

166 Commits

Author SHA1 Message Date
Lorenz Meier a3b863bdd9 UAVCAN: Receive commands from the GCS 2015-10-13 21:50:23 +11:00
Lorenz Meier 980ddeac08 Merge branch 'master' into ram_cleanup 2015-10-11 16:01:15 +02:00
Lorenz Meier e96f4e1944 FMUv1: Fix CAN compilation 2015-10-11 14:06:43 +02:00
Lorenz Meier d2fb49e5f3 UAVCAN: Give the firmware upgrade thread a human-readable name 2015-10-10 22:23:33 +02:00
Daniel Agar a3d79c6e15 cmake uavcan set cpp03 and silence install 2015-10-06 18:41:51 -04:00
Daniel Agar 6c10cf18e4 re-enable Werror 2015-10-06 18:28:30 -04:00
James Goppert 7711a94a5a Fixes cmake uavcan external project for cmake 2.8.12. 2015-10-06 11:28:10 -04:00
Lorenz Meier fa5071b3c5 Remove module.mk files to prevent confusion of adopters upgrading 2015-10-06 11:23:20 +02:00
James Goppert e1bb618371 Working on uavcan building. 2015-10-04 21:29:22 -04:00
Lorenz Meier a4e56abd71 Merge branch 'master' into cmake-2 2015-09-27 14:23:00 +02:00
Pavel Kirienko e2b801a323 Fixes 2911 2015-09-27 12:25:15 +02:00
James Goppert bc1063c862 Merge branch 'master' into cmake-2 2015-09-24 16:03:28 -04:00
Lorenz Meier 0da9b4d715 Merge branch 'master' of github.com:PX4/Firmware into cmake-2 2015-09-23 21:17:15 +02:00
David Sidrane 05a08252ff Bugfix:pthread_create retuns 0 on success and positive error on error without errono set 2015-09-23 08:19:23 -10:00
David Sidrane 8eaf213edd Update uavcan_main.cpp 2015-09-23 05:32:14 -10:00
David Sidrane 2a36067cc7 Added reset to usage 2015-09-23 04:18:40 -10:00
David Sidrane 1996d2b55a Uavcan parameter and reset command line operations 2015-09-23 04:07:42 -10:00
David Sidrane d69be4b554 Added UAVCAN Time Synchronization Master capabilities to FMU 2015-09-23 03:53:49 -10:00
David Sidrane f424cc6b18 Using the uavcan stm32 clock driver to support UAVCAN time syncing
Conflicts:
	src/lib/uavcan
	src/modules/systemlib/print_load_posix.c
	src/modules/uavcannode/module.mk
2015-09-23 03:53:09 -10:00
Lorenz Meier 5fad70b0df Merge pull request #2751 from PX4/master_uavcan_servers_single_iface
UAVCAN: using only primary interface for firmware update and node ID allocation
2015-09-20 23:08:27 +02:00
Lorenz Meier f37f8fb977 UAVCAN: Move to semaphore abstraction 2015-09-20 00:30:12 +02:00
James Goppert 34eeee9fa9 Added defautl config for nuttx, nuttx now works over usb. 2015-09-10 13:57:54 -04:00
James Goppert 1d6b31d196 Switch to cmake build system. 2015-09-07 20:37:45 -04:00
Lorenz Meier 27e4139540 UAVCAN fix compile warning on signedness 2015-08-24 10:20:40 +02:00
Pavel Kirienko 8d67483d18 UAVCAN: using only primary interface for servers 2015-08-23 21:28:47 +03:00
Lorenz Meier 21d1b4ba2e Merged beta into master 2015-08-22 14:06:01 +02:00
Pavel Kirienko f371ece43b UAVCAN_ENABLE defaults to 0 2015-08-22 13:54:57 +02:00
Pavel Kirienko e1f33871ef UAVCAN enabled by default 2015-08-22 13:54:57 +02:00
Pavel Kirienko 6864779fa6 Multiple stages for UAVCAN_ENABLE 2015-08-22 13:54:56 +02:00
Pavel Kirienko 3860dbdc8c UAVCAN Barometer driver fix - reporting temperature in Celsius degrees, not in Kelvin 2015-08-22 13:54:56 +02:00
Pavel Kirienko 473d321af8 UAVCAN Magnetometer driver update - no logical changes 2015-08-22 13:54:56 +02:00
Pavel Kirienko 36f91d30eb Fixes pure virtual call exception in VirtualCanDriver<>::handleRxFrame()
Stack trace:
Thread [1] (Suspended: Breakpoint hit.)
        12 __cxa_pure_virtual() libxx_cxapurevirtual.cxx:66 0x0808ca42
        11 notifyRxFrameListener() uc_dispatcher.cpp:216 0x080787ce
        10 uavcan::Dispatcher::spinOnce() uc_dispatcher.cpp:276 0x080787ce
        9 uavcan::Scheduler::spinOnce() uc_scheduler.cpp:196 0x0807b4e0
        8 spinOnce() abstract_node.hpp:88 0x080659fc
        7 spinOnce() node.hpp:132 0x080659fc
        6 UavcanNode::node_spin_once() uavcan_main.cpp:428 0x080659fc
        5 UavcanNode::run() uavcan_main.cpp:542 0x08065e74
        4 operator() uavcan_main.cpp:343 0x0806626a
        3 UavcanNode::__lambda0::_FUN() uavcan_main.cpp:343 0x0806626a
        2 task_start() task_start.c:138 0x08087720
        1 <symbol is not available> 0x00000000
2015-08-15 09:53:13 +03:00
Pavel Kirienko aa412aaced UAVCAN servers: proper handling of startup failure, more verbose error reporting 2015-08-15 09:42:16 +03:00
Mark Charlebois a589d15c52 Refactored debug() and log() in CDev
These functions used vprintf which is not available on all platforms.
They also do not enable line and file debug output.

Changed to macros that preserve the output format.  Uses new macro that
can be used to implement per object, runtime selectable logging

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-08-11 12:07:06 -07:00
David Sidrane 22d46fa733 Merged master_uavcan_modular src/modules/uavcan/ 2015-07-09 11:22:35 -10:00
David Sidrane 3e64ad10e8 Conditional inclusion of the Node Allocation and FW Server - default is OFF 2015-06-17 19:43:06 +02:00
David Sidrane d6c2dd997b Conditional inclusion of the Node Allocation and FW Server - default is OFF 2015-06-17 06:21:28 -10:00
Lorenz Meier c9fefe236b Merged release into master 2015-06-13 11:06:01 +02: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
David Sidrane 68276ff345 Back Port from Master - Changes to build on latest uavcan master with FW upload and Node ID 2015-06-05 06:43:10 -10:00
David Sidrane 2d796f408d Ran Astyle 2015-06-04 03:27:40 -10:00
David Sidrane 6155a1557f Changes to build on latest uavcan master with FW upload and Node ID allocation 2015-06-04 02:37:59 -10:00
Lorenz Meier e07731de7a Move esc_status to generated topics 2015-05-27 15:21:31 -07:00
Lorenz Meier b980e34c3c Update uavcan app for generated actuator_outputs topic 2015-05-27 15:21:31 -07:00
Lorenz Meier 4565f57468 Merged release_v1.0.0 into master 2015-05-27 15:28:41 -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 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
Ban Siesta 21dfd0243d drivers: use new ringbuffer namespace everywhere 2015-05-24 10:04:38 +01:00
Lorenz Meier 8fd00f4d6d Merged release_v1.0.0 into master 2015-05-23 11:07:10 +02:00