Commit Graph
39 Commits
Author SHA1 Message Date
Mark Charlebois 40b488d693 Updated to latest DriverFramework
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-16 11:59:30 -08:00
Lorenz Meier fd0584e95d Gyro sim IOCTL fix 2015-11-14 00:08:01 +01:00
Lorenz Meier aac1afd83d Gyro sim: No module file 2015-11-13 23:57:23 +01:00
Lorenz Meier f6798c6b85 Gyro sim: Fix merge fail 2015-11-12 15:24:38 +01:00
Lorenz Meier 437133aac4 Merged driver_framework from mcharleb 2015-11-12 15:20:15 +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 cb30d53a83 Merged mcharleb branch 2015-11-10 13:23:54 +01:00
Lorenz Meier 7faffdc945 Updated driver framework repo 2015-11-10 13:21:13 +01:00
Lorenz Meier 67132b0b16 Register the driver framework correctly 2015-11-10 13:21:13 +01:00
Mark Charlebois de1a7b30ce gyrosim and adcsim now compile with DriverFramework enabled
Only the posix build is tested for compilation

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-10 13:21:13 +01:00
Mark Charlebois 847b604841 Added Gyrosim
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-10 13:21:13 +01:00
Mark Charlebois 40c079efa8 Ported accelsim, gyrosim and adcsim to DriverFramework
Need to handle _pub_blocked flag in DriverFramework as a PX4
specific implementation.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-09 10:26:28 -08:00
Lorenz Meier d9a7dd04a4 Updated driver framework repo 2015-11-09 07:37:30 -08:00
Lorenz Meier a71f00686b Register the driver framework correctly 2015-11-09 07:37:30 -08:00
Mark Charlebois 596a2789d6 gyrosim and adcsim now compile with DriverFramework enabled
Only the posix build is tested for compilation

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-09 07:37:30 -08:00
Mark Charlebois ce97aea1bf Added Gyrosim
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-09 07:37:30 -08:00
Lorenz Meier 0b7f6902a9 POSIX Sim drivers: Fix formatting 2015-10-19 13:35:32 +02:00
Daniel Agar 6c10cf18e4 re-enable Werror 2015-10-06 18:28:30 -04:00
Lorenz Meier b2a8dd18c0 Gyrosim: More verbose output 2015-09-20 16:43:44 +02:00
Lorenz Meier 59f71452d7 Sensor sim: Initialize sensor data to zero 2015-09-20 12:55:48 +02:00
Lorenz Meier ddd1b82240 Simulated sensors: Publish valid data initially 2015-09-20 11:36:11 +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
Mark Charlebois 1b01c54dd1 POSIX: fixed build error for unused variable
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-30 09:53:01 -07:00
Mark Charlebois 34d15fe631 Gyrosim cleanup
Removed unused code. Reset reschedule interval for sampling when the
sampling rate is changed.

The rate is always 1000Hz as it is set to the default value.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-30 09:23:37 -07:00
tumbili 24ac4c9891 remove usleep in gyrosim 2015-06-24 09:19:59 +02:00
Mark Charlebois ed58e83460 gyrosim: removed dead code from gyrosim
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-15 18:08:22 -07:00
Mark Charlebois 83bcb95999 POSIX: Added sleep command
The baro was not fully initialized when the sensors module tried to
open it. Added a sleep command and a sleep 2 to rc.S so the baro
is initialized by the time the sensors module tried to read it.

Fixed other noisy errors

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-11 17:28:46 -07:00
tumbili aef3f37ae0 enable reading sensor data from simulator module for SITL 2015-06-08 22:21:58 -07:00
Mark Charlebois 2d85578599 Gyrosim: Fixed constant looping
Gyrosim would call measure continuously because the write_checked_reg
was failing. There is no need to check faked reg writes in the
simulator so that code was removed.

The delay that was added to the simulator to pace the gyrosim reads
was also removed now that the source of the problem was determined.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-28 11:20:30 -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 ee39d72747 Gyro sim: Add ringbuffer namespace 2015-05-25 10:00:52 +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 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 93dea668dc Posix: make simulated devices always pass self tests
To facilitate testing, the simulated devices always return OK for
self tests.

rc.S was also upated to set CAL_XXXY_ID to the devid so tests pass the
calibration check.

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