Lorenz Meier
d199710651
Fixed up init sequence of all sensors - we can publish in interrupt context, but not advertise! All advertisements now contain valid data
11 years ago
Lorenz Meier
a34a14ce86
Support for publication blocking: LSM303D, cleaned up device start
11 years ago
Lorenz Meier
f4ac204f46
Cranking up bus speeds for all sensors to achievable 10.4 MHz, will cut the bus lock time to half
11 years ago
Andrew Tridgell
acd0a70dca
lsm303d: close fds before exit
11 years ago
Andrew Tridgell
02e7f7fa85
lsm303d: use register_class_devname()
11 years ago
Andrew Tridgell
f24479c27a
lsm303d: dump I2C control registers in regdump
11 years ago
Lorenz Meier
1fb406ba09
Add also default descriptor for alternate sensors
11 years ago
Lorenz Meier
3d27dd7246
Made all usual suspects default to their custom names and only register the default name if its not already taken by someone else
11 years ago
Andrew Tridgell
30ff61fa90
lsm303d: use DRDY pins to automatically reschedule measurements
...
this prevents double reads of sensor data, and missing samples from
the accel
11 years ago
Andrew Tridgell
24a243843e
lsm303d/l3gd20: change filters to 50Hz analog on-chip filters
...
after discussion with Leonard these analog on-chip filters should be
at 50Hz
11 years ago
Andrew Tridgell
f0e50fc87a
lsm303d: init filter to 773 Hz
11 years ago
Andrew Tridgell
2de588e861
lsm303d: changed tones for accel fail to 3 tones
...
distinct tones for init fail, post-boot fail and recovery
11 years ago
Andrew Tridgell
c46ab017e1
lsm303d: make log distinctive with i2c disable included
11 years ago
Andrew Tridgell
032c450d15
lsm303d: cleanup logic traces by pre-zeroing all transfers
11 years ago
Andrew Tridgell
a2b31118cb
lsm303d: get cleaner logic traces by gathering all regs more regularly
11 years ago
Andrew Tridgell
7c9d92a5d6
lsm303d: added I2C disable based on method from ST engineering support
11 years ago
Andrew Tridgell
fe4b95f9d5
lsm303d: zero-fill register reads
11 years ago
Andrew Tridgell
ea33a19c8f
lsm303d: show regs at both high and low bus speed on error
11 years ago
Andrew Tridgell
4ce4b8a174
lsm303d: always log first ARB and REG values
11 years ago
Andrew Tridgell
5ef91d694b
lsm303d: log mag regs too
11 years ago
Andrew Tridgell
671447ce2c
lsm303d: fixed TEMP_H register define
11 years ago
Andrew Tridgell
cdaafff6e4
lsm303d: added detailed logging of accels on extremes
...
this will log accel values and registers to /fs/microsd/lsm303d.log if
any extreme values are seen
11 years ago
Andrew Tridgell
415417196b
lsm303d: print more registers in "lsm303d regdump"
11 years ago
Andrew Tridgell
af049f7cf8
lsm303d: define some more register addresses
11 years ago
Andrew Tridgell
93f3398dfe
lsm303d: added 'lsm303d regdump' command
...
useful for diagnosing issues
11 years ago
Andrew Tridgell
1b1aa0edea
lsm303d: use DRDY pins to automatically reschedule measurements
...
this prevents double reads of sensor data, and missing samples from
the accel
11 years ago
Andrew Tridgell
038ec194ae
lsm303d: close fds before exit
11 years ago
Andrew Tridgell
e334377e6c
lsm303d: use register_class_devname()
11 years ago
Andrew Tridgell
895dc3a2bb
lsm303d: dump I2C control registers in regdump
11 years ago
Andrew Tridgell
0349937a82
lsm303d: added detailed logging of accels on extremes
...
this will log accel values and registers to /fs/microsd/lsm303d.log if
any extreme values are seen
11 years ago
Andrew Tridgell
476070510e
lsm303d/l3gd20: change filters to 50Hz analog on-chip filters
...
after discussion with Leonard these analog on-chip filters should be
at 50Hz
11 years ago
Lorenz Meier
c72162cc5a
Add also default descriptor for alternate sensors
11 years ago
Lorenz Meier
7becbcdbd5
Made all usual suspects default to their custom names and only register the default name if its not already taken by someone else
11 years ago
Andrew Tridgell
b2119839bd
lsm303d: init filter to 773 Hz
11 years ago
Andrew Tridgell
6ba54e7035
lsm303d: cleanup logic traces by pre-zeroing all transfers
11 years ago
Andrew Tridgell
9214154831
lsm303d: added I2C disable based on method from ST engineering support
11 years ago
Andrew Tridgell
b666581983
lsm303d: fixed TEMP_H register define
11 years ago
Andrew Tridgell
7d415b0c42
lsm303d: print more registers in "lsm303d regdump"
11 years ago
Andrew Tridgell
72c53b6537
lsm303d: define some more register addresses
11 years ago
Andrew Tridgell
a46042754f
lsm303d: added 'lsm303d regdump' command
...
useful for diagnosing issues
11 years ago
Andrew Tridgell
52ee477137
lsm303d: try to reset the lsm303d if it goes bad in flight
...
this is based on earlier work by Julian Oes
11 years ago
Lorenz Meier
24648b5294
Minor cleanups in the drivers
12 years ago
px4dev
19fdaf2009
Use the generic device::SPI locking strategy.
12 years ago
Lorenz Meier
d84fe2913e
Move IRQ restore to right position
12 years ago
Andrew Tridgell
4893509344
drivers: report error_count in drivers where possible
12 years ago
px4dev
cefc7ac00e
Rework the ringbuffer class so that it's not templated, and refactor its clients so they aren't dancing around the linker anymore.
12 years ago
Andrew Tridgell
4b4f4fee5b
lsm303d: convert to using RingBuffer
12 years ago
Lorenz Meier
3a326cb467
Guard probe / reset against other SPI drivers
12 years ago
Andrew Tridgell
2e0fc9a288
lsm303d: convert to using RingBuffer
12 years ago
Andrew Tridgell
fdbc09e2a5
avoid counters going above limit in INCREMENT()
...
when using INCREMENT() the counter would temporarily read equal to
limit, which could cause an issue if the task is preempted.
(this macro should be in a common header, though which header?)
12 years ago