Commit Graph
47 Commits
Author SHA1 Message Date
Lorenz Meier 9f0d588989 Simulated drivers: Use fake device IDs 2017-01-19 19:24:52 +01:00
Paul Riseborough c21b4aaf2e posix drivers: Populate baro device ID
TODO - use unique HW ID
2017-01-19 19:24:52 +01: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
Lucas De Marchi 18330f7ab7 Move __STDC_FORMAT_MACROS to build system
__STDC_FORMAT_MACROS changes the behavior of inttypes.h to allow
defining format macros for printf-like functions. It needs to be defined
before any include is done, otherwise due to include chains and header
guards it may not take effect.

Instead of having to define it everywhere it is used, move the define to the
build system. Also update ecl and DriverFramework submodules to deal with the
changed definitions.
2016-07-10 16:31:36 +02:00
Daniel Agar 2487dbfc92 remove Wpacked and cleanup unused warning flags 2016-05-19 21:49:34 +02:00
Daniel Agar 7aa6e85563 enable Wshadow 2016-05-05 13:32:42 +02:00
Lorenz Meier 32368e5eda Baro sim: Cleanup 2016-03-12 11:07:55 +01:00
Julian Oes adf9647aab barosim: corrected wrong return value 2016-02-19 16:59:48 +01:00
Mark Charlebois 9f3bf8e9f4 Rebase changes on upstream master
This brings in many of the changes from the PX4 fork on ATLFLight.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:41 +01:00
Lorenz Meier 119c82de4e Baro sim: Code style fix 2015-12-01 14:14:47 +01:00
Lorenz Meier a880725bd7 Baro sim: Fix up struct use 2015-12-01 14:07:11 +01:00
Lorenz Meier c140c2b59c Baro sim: Ensure struct is initialized to zero 2015-12-01 13:58:28 +01:00
Lorenz Meier bc1639386b Fix compilation of baro sim on Linux 2015-12-01 13:54:37 +01:00
Lorenz Meier 9fb2a408bf baro sim: Code style 2015-12-01 12:43:49 +01:00
Lorenz Meier 9ee4760fe0 Barosim: Simplify to a plain loop without reschedules or sub interfaces. Behaves now. The DriverFramework needs closer inspection for busy-running threads. 2015-11-30 00:41:46 +01:00
Erik de Castro Lopo 5e9a8d0c03 Baro sim: Add missing initializers 2015-11-26 13:29:11 +11:00
Lorenz Meier 24767547e9 Baro sim: Code style fix 2015-11-25 11:16:16 +01:00
Lorenz Meier 6a80d8b3dc Baro sim: Code style fix 2015-11-25 11:16:00 +01:00
Mark Charlebois f3126e9d3a Fixes for DriverFramework, accelsim and gyrosim
DriverFramework was updated to properly delete nodes in managed lists.

Baro was fixed to use DriverFramework.

Accelsim was fixed with change to DriverFramework to return < 0 when start()
is called and the driver was already started, or stop() is called but the
driver was not running.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-24 22:46:20 -08:00
Lorenz Meier 6acb8850d4 Baro sim: Initialize to 100 Hz 2015-11-21 17:46:18 +01:00
Mark Charlebois 34410e7ce4 Changes for updated DriverFramework
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-19 19:03:10 -08:00
Mark Charlebois dbe3b0e52b Re-enabling code to handle DF framework
Updated to latest DriverFramework and changed ioctl args to
unsigned int from void *.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-16 13:51:39 -08:00
Lorenz Meier a26d7c35cd Baro sim: use right IOCTL API 2015-11-14 11:17:28 +01:00
Lorenz Meier fc0ff0d2f6 Baro sim: Initialize struct 2015-11-14 10:31:37 +01:00
Lorenz Meier 6c43b6c964 Baro sim: fix baro ioctl interface 2015-11-14 00:06:18 +01:00
Lorenz Meier 50820157ce Baro sim: No module file 2015-11-13 23:56:51 +01:00
Lorenz Meier a3f2c7ac13 Baro sim: Code style 2015-11-12 15:32:48 +01:00
Mark Charlebois efd9995a10 Ported more simulated sensors to DriverFramework
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-10 07:45:13 -08:00
Lorenz Meier 0b7f6902a9 POSIX Sim drivers: Fix formatting 2015-10-19 13:35:32 +02:00
James Goppert e38eba0934 cmake: Fix for posix sitl. 2015-09-20 11:17:31 -04:00
Lorenz Meier ceb7204590 POSIX sim: Remove unused error variables 2015-09-12 10:52:44 +02:00
James Goppert 1d6b31d196 Switch to cmake build system. 2015-09-07 20:37:45 -04: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
Lorenz Meier df4b07937e baro sim: Fix code style 2015-07-09 00:01:20 +02:00
Lorenz Meier fc9d6ac39b POSIX baro SITL: Failed advert type is pointer, not number 2015-07-05 16:16:57 +02:00
tumbili 5694e37854 fix reading baro values from simulator 2015-06-08 22:21:59 -07:00
tumbili aef3f37ae0 enable reading sensor data from simulator module for SITL 2015-06-08 22:21:58 -07:00
Mark Charlebois f763c4cc0e POSIX: fixed type used in USEC2TICKS
The macro was using a constant defined as a long instead on an
unsigned long. Made corresponsing changes to barosim.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-03 11:49:28 -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
Lorenz Meier e9c2dc563f Baro sim: Add ringbuffer namespace 2015-05-25 10:00:31 +02:00
Mark Charlebois ffdc9d629c POSIX: Improved logging
The warnx and warn calls map to PX4_WARN.
Calls to errx or err genrtate a compile error.

The px4_log.h file implements a new log format:

For DEBUG and INFO:
<level> <msg>

For ERROR and WARN:
<level> <msg> (file filepath line linenum)

The verbosity can be changed by setting the macro to use
either linux_log or linux_log_verbose in px4_log.h

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-19 09:19:24 -07:00
Mark Charlebois 791d780bb8 BAROSIM: Fixed error in transfer function
The transfer function would previously return error if the receive
buffer length was 0. This appears to be a valid condition for
requesting a measurmement be taken but no data returned.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-18 13:29:20 -07:00
Mark Charlebois 09718fa324 Revamped debug macros
Created px4_debug,h to define:

PX4_DBG
PX4_INFO
PX4_WARN
PX4_ERR

These enable OS specific mappings to be made, filtering, etc.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-27 21:58:54 -07: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 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