117 Commits

Author SHA1 Message Date
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
Lorenz Meier
48a94e3570 Fixed i2c not running (#5408) 2016-09-01 09:19:30 +02:00
Lorenz Meier
79678c5f25 MPU6K fix code style 2016-08-19 22:24:41 +02:00
Lorenz Meier
306a911dc9 Fix MPU6K driver ICM extensions 2016-08-19 22:09:05 +02:00
Lorenz Meier
fe62c259e8 Fix MPU6K initialization 2016-08-19 11:10:11 +02:00
Lorenz Meier
a97c5ec4e1 MPU6K compile and code style fixes 2016-08-18 13:50:29 +02:00
Lorenz Meier
3d1f1522d9 MPU6K driver improvements 2016-08-18 12:55:54 +02:00
JochiPochi
31e634b082 mpu6000 driver: set icm registers only on icm devices 2016-08-17 20:50:44 +02:00
JochiPochi
e3557e0d3e mpu6000 driver: Add DLPF set function for IMC20608 2016-08-17 20:50:44 +02:00
JochiPochi
ce27cc8326 mpu6000: Separate DLPF params for MPU and ICM family of sensors 2016-08-17 20:50:44 +02:00
Lorenz Meier
1c0a494b4d Code style 2016-08-12 13:55:16 +02:00
David Sidrane
c5e11cd16f TAP:Added i2c speed setting to init 2016-08-07 11:15:48 +02:00
David Sidrane
e8ae0fe13c Made the MPU6000 driver a highbread using both hrt for SPI or workqueue for I2C 2016-08-07 11:15:48 +02:00
David Sidrane
5f342c3b5f Added I2C to MPU6000 driver 2016-08-07 11:15:48 +02:00
David Sidrane
a420d47797 Minor fix usage (#5094) 2016-07-18 15:01:55 -10:00
Lorenz Meier
7398164fcc Updated PX4 use / API of low level GPIO and other hardware-centric system facilities 2016-05-28 14:56:17 +02:00
Daniel Agar
1ecdb0f6fb adjust stack sizes 2016-05-19 21:49:34 +02:00
Daniel Agar
69c1ce1714 WIP logger serialization 2016-05-14 11:27:07 +02:00
Daniel Agar
eb29b33620 use gcc attributes to align and pack 2016-05-14 11:27:07 +02:00
James Goppert
967e4dd127 Modified cmake to use STACK_MAX and STACK_MAIN 2016-04-14 13:36:36 -04:00
Lorenz Meier
b8c5f6be6a MPU6K: Use shorter perf names 2016-03-28 13:03:41 +02:00
Julian Oes
b9cc0b74e2 drivers: re-use calibration topic
E.g. instead of defining a gyro_scale struct in drv_gyro.h, use the
gyro_calibration message.
2016-03-24 13:08:30 +01:00
Lorenz Meier
9172bf7271 MPU6K: Report start scan not as failure, but as not found if sensor is not around 2016-02-23 13:09:06 +01:00
Lorenz Meier
b240b3fc3c MPU6K: Fix formatting 2015-12-01 13:36:52 +01:00
ksschwabe
88caa9bc93 MPU6000: Correct temperature scaling for use with ICM20608 2015-12-01 13:32:26 +01:00
Lorenz Meier
f0a4979da6 Merged master into driver_framework 2015-12-01 12:34:02 +01:00
Lorenz Meier
44d32a31d1 MPU6K: Remove unused perf counter 2015-11-29 13:41:02 +01:00
Andrew Tridgell
46631b5c8a mpu6000: work around apparent ICM20608 bug
undocumented register 0x11 sometimes starts with value 0, which gives
an offset on the Y accel axis of 2.7m/s/s. It sometimes boots with
0xc9, which gives a zero offset. Force it to 0xc9 to get consistently
correct behaviour
2015-11-28 09:13:15 +01:00
David Sidrane
46c63da8be Added support for ICM-20608-G to MPU6000 driver 2015-11-28 09:13:15 +01:00
Lorenz Meier
236a423edd Fixed MPU6K code style 2015-10-19 13:12:32 +02:00
Lorenz Meier
fa5071b3c5 Remove module.mk files to prevent confusion of adopters upgrading 2015-10-06 11:23:20 +02:00
Lorenz Meier
6ef94e0dfb Merged master into cmake-2 2015-09-20 10:33:39 +02:00
James Goppert
1d6b31d196 Switch to cmake build system. 2015-09-07 20:37:45 -04:00
Lorenz Meier
e5834460e2 MPU6K: Add commandline option to set range, fix test command by resetting guard logic properly 2015-08-19 10:28:02 +02:00
Lorenz Meier
c34a505576 MPU6K driver: Add delta angles / velocities including coning correction 2015-08-19 10:16:35 +02:00
Andrew Tridgell
f77620c3f4 mpu6000: check WHOAMI register
this prevents a mpu9250 being seen as a mpu6000
2015-08-17 09:17:07 +02: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
7277d390c4 Merge branch 'beta' 2015-07-12 15:52:02 +02:00
Lorenz Meier
614c397762 MPU6K self-test: Be more forgiving on offset values 2015-07-11 22:08:36 +02: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
Mark Charlebois
36f5d47ed9 Merge remote-tracking branch 'upstream/master' into linux
Signed-off-by: Mark Charlebois <charlebm@gmail.com>

Conflicts:
	src/modules/commander/gyro_calibration.cpp
	src/modules/mavlink/mavlink_ftp.cpp
2015-05-16 15:04:38 -07:00
Andrew Tridgell
a710159263 mpu6000: sample at 200usec faster rate to avoid aliasing
this runs the mpu6000 200usec faster than requested then detects and
disccards duplicates by comparing accel values. This avoids a nasty
aliasing issue due to clock drift between the stm32 and mpu6000
2015-05-07 15:16:32 +10:00
Mark Charlebois
9758112e31 Use px4_config.h instead of nuttx/config.h
Modified code to use OS independent header file for config settings.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:55:41 -07:00
Lorenz Meier
cb8e32f833 MPU6K: Temp support 2015-03-25 22:57:18 -07:00
Jonathan Challinger
89d5ae69d3 mpu6000: add set_accel_range 2015-03-25 22:02:05 -07:00
Andrew Tridgell
9442fc13e4 mpu6000: show temperature in "mpu6000 info" 2015-03-17 13:44:53 +11:00
Lorenz Meier
92a52ea195 MPU6000 driver: Rotate before applying offsets. 2015-03-15 17:26:11 +01:00
Lorenz Meier
2cf0aec332 MPU6K: Allow stop 2015-02-28 14:31:39 +01:00