Commit Graph

792 Commits

Author SHA1 Message Date
Daniel Agar 859b19db9a uORB.h reduce orb_metadata field sizes 2017-12-31 09:47:51 -05:00
Beat Küng 4c4b528842 uORBManager: fix code style 2017-10-18 08:40:32 +02:00
Beat Küng 2f2c0440c4 orb_exists: change semantics from (is published or subscribed) to (is published)
Existing users of orb_exists:
- logger (dynamic subscribe to multi-instances)
- mavlink (orb subscription)
- sdlog2
- preflightcheck (check for home_position)
- wait_for_topic shell command (it's not used)
- orb_group_count() (sensors: dynamic sensor addition)

All use-cases benefit from the changed semantics: they are really only
interested if there is a publisher, not another subscriber.
2017-10-18 08:40:32 +02:00
Daniel Agar 651df03f76 RTPS and micro-CDR build system cleanup (#8084) 2017-10-11 13:05:44 -04:00
Daniel Agar 48f1e3ed1c uORB generation move to msg/ 2017-09-29 10:13:51 -04:00
Daniel Agar 01b3e6fd25 NuttX upgrade cmake wrapper (#7873)
* NuttX cmake

* px4_macros:Pass the stringified predicate as second arg to static assert

   CC_ASSERT mapes to the c++ static_assert or provides the same
   funtionality for c via the other macros. The c++ static assert
   takes 2 argumants the prdicate and a message. This fixes the
   lacking second argument.

* Updated nuttx and apps submodule to upstream nuttx 7.21+==master

   This is the latest uptake of upstream nuttx and apps.

* ROMFS generate with xxd instead of objcopy

* delete nuttx-patches

* NuttX update submodules to latest px4_nuttx-master

* fix nuttx apps and board dependency

* docker_run update to latest container 2017-08-29

* cmake ROMFS portable sed usage

* NuttX update submodules to latest px4_nuttx-master
2017-09-29 10:13:51 -04:00
Daniel Agar 0da2dca8c1 drivers remove device _debug_enabled 2017-09-25 10:30:22 -04:00
Daniel Agar 9b5fe8c476 ignore -Wsign-compare per module 2017-09-07 10:27:36 +02:00
Daniel Agar 07619cf723 Make NuttX drivers cross platform (VDev -> CDev) 2017-08-31 09:27:36 +02:00
Daniel Agar e63da5860e uORB cleanup Subscription/Publication c++ 2017-08-20 20:42:42 +02:00
Peter Duerr 40dff737c5 Fix uninitialized values identified by cppcheck
* Replace `malloc` by `calloc` for c-string initialization
* Add initializer braces for structs
2017-08-07 22:05:17 +02:00
Peter Duerr cc1b766824 Fix memory leaks identified by cppcheck
* Add `free` / `delete`
* Add comment explaining the (presumed) motivation for the use of new instead of
  allocating on the stack
2017-08-07 22:05:17 +02:00
Beat Küng 3f6769d41e uorb: add module documentation 2017-07-14 11:57:11 +02:00
Beat Küng 317c8bf557 uorb: update usage 2017-07-14 11:57:11 +02:00
Daniel Agar 61fd6f4c8a uorb failure print topic name 2017-07-09 14:40:11 +02:00
Julien Lecoeur 89a8c656f2 Unneeded includes 2017-06-13 11:50:00 +02:00
Julien Lecoeur 1a6d2c491b Remove explicit template instantiation of Subscription<T> 2017-06-13 11:50:00 +02:00
Julien Lecoeur 550aee4da3 Remove explicit template instantiation of Publication<T> 2017-06-13 11:50:00 +02:00
Julien Lecoeur 3ff1f4d16f Move uORB::Subscription template implementation to header 2017-06-13 11:50:00 +02:00
Daniel Agar 17c1114b3e clang-tidy readability-named-parameter 2017-06-02 19:35:18 -04:00
Daniel Agar e112161a04 clang-tidy fix mathlib headers and format 2017-06-02 19:35:18 -04:00
Beat Küng 4a7e02c640 systemlib/visibility.h: remove this file
This is duplicated in src/include/visibility and is directly included via
compiler flag '-include'
2017-03-29 23:02:09 +02:00
Nate Weibley f5ffdba4cc Move uORB Subscription getter to header file (#6891) 2017-03-24 15:47:22 -04:00
Daniel Agar 0611677ee2 segway move to examples 2017-03-11 11:40:14 +01:00
Kabir Mohammed f8775306d3 Remove deprecated vision_position_estimate topic 2017-02-15 21:48:33 +01:00
Daniel Agar 070cd55636 clang-tidy readability 2017-02-01 22:15:50 -05:00
Daniel Agar ca09f8a107 uORBDevices use global read with stdin int 2017-02-01 22:15:50 -05:00
Daniel Agar 6631e72d6f clang-tidy modernize-redundant-void-arg 2017-02-01 22:15:50 -05:00
Daniel Agar e927f3e040 clang-tidy modernize-use-nullptr 2017-02-01 22:15:50 -05:00
Daniel Agar ee8fa78d93 astyle src/modules/uORB 2017-01-29 01:18:32 +01:00
Larry Wang 1beb2911e2 init shmem early to avoid random crash in fastrpc (#6407)
* init shmem early to avoid possible crash

* fix_code_style

* Keep the initialziation to NULL, remove the duplicate memory allocation
2017-01-21 08:30:46 +01:00
wangxdflight b693e29d64 enable px4 flight for excelsior(legacy) 2017-01-16 08:25:58 -08:00
Mark Charlebois f529069368 Fixed code format issues
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2017-01-09 15:41:54 -08:00
Mark Charlebois 830eb8528e fixed merge conflict
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2017-01-09 15:41:54 -08:00
Mark Charlebois 9834155d09 Removed extra debug
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2017-01-09 15:41:54 -08:00
Mark Charlebois b556528984 Fixed wait_for_topic and orb_exists
orb_exists was not updating the DSP topics on apps proc side

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2017-01-09 15:41:54 -08:00
Mark Charlebois 62a3e07423 orb_exists support for muorb
Also added builtin command wait_for_topic

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2017-01-09 15:41:54 -08:00
Beat Küng ab3b68cf18 ORB_PRIO: set ORB_PRIO_MIN to 1 instead of 0
This is needed as the sensors app assumes a value of 0 means uninitialized.

Follow-up to 'Sensors app: Fix consistency checks', a6696d339d
2017-01-03 20:53:26 +01:00
Daniel Agar cbc9680800 relax uorb test required avg 2017-01-02 10:14:41 +01:00
Lorenz Meier 2ec9f4a74e uORB: Header cleanup 2016-12-27 21:00:51 +01:00
David Sidrane dc8c6ea5e5 White space fixes 2016-12-21 08:34:21 +01:00
Lorenz Meier c62c3c98bf uORB devices: Guard more against invalid handles fed to publish routine 2016-12-19 20:34:52 +01:00
Beat Küng 0f2b31b41e uorb: inline orb_advertise (directly calls orb_advertise_multi)
reduces the stack depth
2016-11-06 14:48:20 +01:00
Beat Küng 3029555016 uORBUtils: remove #include <string>
Avoid including <string> which can cause problems on NuttX
2016-10-24 10:22:48 +02:00
Beat Küng 1bdad65849 uorb: reduce RAM usage by avoiding string copies
The lifetime of the string is guaranteed because we never delete
DeviceNode objects and the strings in question are already on the heap.

This frees roughly 2.2KB of RAM on Pixracer
2016-10-23 15:25:20 +02:00
Beat Küng c50e4a6e21 uORB::DeviceNode: reduce the size of some members
The limits the maximum queue size to 255, which I think is ok for the
forseable future.

sizeof(uORB::DeviceNode) is reduces from 128 to 112 on NuttX, and with
~80 instances, this saves over 1KB of RAM.
2016-10-23 15:25:20 +02:00
Beat Küng 76733ce54b uorb tests: move orb metadata struct definition into cpp file
If they're in the header and the header is used in multiple .cpp, there
are multiple definitions. Oddly it did not lead to an error, but there
were multiple structs of the same topic but with different adresses.
This lead to a metadata mismatch, when running eg:
uorb_tests
uorb_tests latency_test
2016-09-30 13:50:51 +02:00
Beat Küng 549d456ec7 uorb devices: set errno on write error 2016-09-30 13:50:51 +02:00
Beat Küng 1d111cb254 px4_getpid: return the taskmap index instead of pthread_self()
this makes it consistent with other functions, like px4_task_spawn_cmd()
and px4_task_kill()
2016-09-30 13:50:51 +02:00
Julian Oes 8ff237c69f Remove size optimization for individual modules
It makes more sense to set the optimization flags on a platform basis
instead of individually for each module. This allows for different
optimization options for SITL, NuttX, Snapdragon, etc.
2016-09-30 08:11:51 +02:00