Commit Graph

22 Commits

Author SHA1 Message Date
Daniel Agar af6098b9ea uORB print_message add device_id pretty print 2018-09-02 21:13:10 +02:00
Daniel Agar e4b9891259 led cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
Daniel Agar a2f4757e31 CDev extract from drivers Device class hierarchy
- leave CDev shim for now until all usage is updated
2018-08-27 13:14:15 -04:00
Beat Küng 2c148f07bd cdev: delete the prev_pollset in unlocked state
Because it uses a semaphore.
2018-07-31 11:49:45 +02:00
Beat Küng 13f2315314 CDev: add DEVICE_POLL_DEBUG macro that removes all poll debug output from the build by default
Reduces 'uorb_tests latency_test' by about 1us
2018-07-30 23:06:32 +02:00
Beat Küng 99fd1f7213 CDev::poll_notify_one: remove checking the semaphore counter
The check is unnecessary. In the worst case the semaphore gets unlocked
twice, but it's not an issue because the waiter is only interested in the
first sem_post(), and the semaphore is then not used anymore.
2018-07-30 23:06:32 +02:00
Beat Küng 72773b75c3 CDev::poll: disable IRQs instead of using an expensive semaphore
poll() is one of the heavily used methods and thus needs to be optimized
as much as possible.

Test on Pixracer: uorb_tests latency_test
Before:
uORB note: ---------------- LATENCY TEST ------------------
INFO  [uorb_tests] mean:     40.4320 us
INFO  [uorb_tests] std dev:   1.3466 us
INFO  [uorb_tests] min:      39 us
INFO  [uorb_tests] max:      57 us
INFO  [uorb_tests] missed topic updates: 0
This Patch:
uORB note: ---------------- LATENCY TEST ------------------
INFO  [uorb_tests] mean:     31.3480 us
INFO  [uorb_tests] std dev:   1.4584 us
INFO  [uorb_tests] min:      30 us
INFO  [uorb_tests] max:      45 us
INFO  [uorb_tests] missed topic updates: 0
2018-07-30 23:06:32 +02:00
Daniel Agar cc96e5ec5e sensor messages remove unused fields and improve comments 2018-07-29 21:04:21 +02:00
Daniel Agar b1d3bb0403 stop ignoring Wmissing-field-initializers and fix (#9912) 2018-07-22 12:45:52 -04:00
Beat Küng 5e3e486527 px4_posix.h: avoid defining PX4_F_RDONLY as O_RDONLY
- There is an assumption un uORB that PX4_F_RDONLY is not 0.
- But O_RDONLY is 0 on Linux. orb_exists passes 0 to px4_open, which in
  uORB::DeviceNode::open leads to an unnecessary allocation of
  SubscriberData()
- PX4_F_RDONLY is only used in combination with px4_open, never with open()

However even if it was wrong/unexpected, it did not cause any problems,
just the unnecessary allocation.
2018-07-13 11:30:23 +02:00
DanielePettenuzzo 5cb6753572 i2c.h: include board_config 2018-07-03 17:33:18 +02:00
DanielePettenuzzo 6cb17839ee distance sensors: remove bus_option array and add it to i2c.h header 2018-07-03 17:33:18 +02:00
Daniel Agar cf74166801 double promotion warning fix or ignore per module 2018-07-01 09:36:55 +00:00
Daniel Agar 02d4405a62 c++11 default destructors 2018-06-30 19:55:08 -04:00
Daniel Agar c39ac93ca8 device integrator cleanup initialization 2018-06-30 19:55:08 -04:00
Daniel Agar 20aabd3566 move systemlib/airspeed to standalone lib 2018-06-12 09:06:30 +02:00
Philipp Oettershagen 6f1f414b49 Subsystem_info status flags & checks : Initial commit, updating the health flags in a centralized way mostly in commander and the votedSensorsUpdate function. 2018-06-06 18:54:24 +02:00
Daniel Agar 222a91c6be mathlib delete Matrix, Quaternion, Vector 2018-05-23 17:27:09 -04:00
DanielePettenuzzo 8b54346d52 mpu9250: decrease sampling rate when using i2c 2018-05-22 12:21:45 +02:00
Daniel Agar 4e32cb17df clang-tidy modernize-use-equals-default 2018-05-18 22:48:55 +02:00
Beat Küng 3dd791c92c vfile: rename fops to fix shadowing warning
for GCC 8.0.1
2018-05-09 07:59:46 +02:00
Daniel Agar ea3acb7121 cmake remove circular linking and reorganize
- px4_add_module now requires MAIN
 - px4_add_library doesn't automatically link
2018-04-29 21:48:54 -04:00