Andrew Tridgell
9817922bf9
FMUv2: switch debug console and 2nd GPS
...
this allows a normal GPS cable to be used for the 2nd GPS, making
dual-GPS setups easier
2014-03-04 19:33:16 +01:00
Andrew Tridgell
a7012a5418
tests: added "tests file2" filesystem test
...
this is useful for testing for filesystem corruption on cluster
boundaries
2014-03-04 09:01:30 +01:00
Andrew Tridgell
b0c60296f5
FMUv2: fixed UART3 flow control pins
2014-02-10 10:08:50 +01:00
Andrew Tridgell
0dc7f223ea
FMUv2: fixed UART3 flow control pins
2014-02-10 10:08:19 +01:00
Andrew Tridgell
e7e3e132ad
FMUv2: push SPI2 GPIO speed up to 50MHz as well
2014-01-29 13:17:37 +01:00
Andrew Tridgell
6b709e21d3
FMUv2: set SPI GPIO pins on bus 1 to 50MHz
...
this solves the ms5611 issue related to temperature. We now need to
test if it is OK with all sensors
2014-01-29 13:17:24 +01:00
Andrew Tridgell
d8c1131f1e
px4io: improved reliability of forceupdate re-starting px4io
...
this adds a 0.1s delay after update to give px4io time to boot. It
removes the need for the user to reboot after an IO update
2014-01-24 12:35:19 +01:00
Andrew Tridgell
4524fe3e48
px4fmu: added PWM_SERVO_SET_COUNT API
...
this allows the balance between PWM channels and GPIOs to be changed
after the main flight code has started, which makes it possible to
change the balance with a parameter in APM
2014-01-23 21:41:07 +01:00
Andrew Tridgell
dda50c62bf
hmc5883: much faster calibration code with bug fixes
...
this fixes two bugs in "hmc5883 calibrate" and also makes it much
faster, so it can be run on every boot. It now uses the correct 2.5Ga
range when calibrating, and fixes the expected values for X/Y/Z axes
The basic calibration approach is similar to the APM2 driver, waiting
for 10 good samples after discarding some initial samples. That allows
the calibration to run fast enough that it can be done on every boot
without causing too much boot delay.
2014-01-23 21:40:29 +01:00
Andrew Tridgell
e5ad3c31e0
mtd: added "mtd readtest" and "mtd rwtest"
...
this allows for verification of MTD operation on startup
2014-01-16 07:58:45 +01:00
Andrew Tridgell
ff59aa9a0f
mtd: use new MTDIOC_SETSPEED ioctl
...
set SPI speed to 10MHz
2014-01-16 07:57:32 +01:00
Andrew Tridgell
778cbcb5cc
mtd: fixed creation and erase of a single partition
2014-01-15 09:33:58 +01:00
Andrew Tridgell
f30ae8c9f3
Added MTD erase command
2014-01-14 07:32:34 +01:00
Andrew Tridgell
94b539dfdd
px4io: enable power on Spektrum connector on init
2014-01-07 09:36:33 +01:00
Andrew Tridgell
d6088efd34
ms5611: report P and T in ms5611 info
2014-01-07 09:34:32 +01:00
Andrew Tridgell
3be1a5182d
FMUv1: use larger CDCACM buffer size for faster log transfer on FMUv1
2014-01-07 09:33:39 +01:00
Andrew Tridgell
1f564a95ee
meas_airspeed: avoid trivial dependency on math lib
...
including the math lib adds a huge amount to flash usage
2014-01-07 09:33:10 +01:00
Andrew Tridgell
d4d2571161
FMUv2: enable RXDMA on 2nd GPS port and debug console
...
This should reduce the chance of lost data on these ports due to high
interrupt latency
2014-01-07 09:32:49 +01:00
Andrew Tridgell
c4fc730aca
FMUv2: make all UARTs use 512 byte buffer, 2048 for CDCACM output
...
this is important when using UARTs for things like secondary GPS
modules, which may produce large enough transfers that 128 bytes is
not enough.
The 2048 buffer for CDCACM transmit makes mavlink log and parameter
transfer faster
2014-01-07 09:32:23 +01:00
Andrew Tridgell
1a13e66aab
px4iofirmware: make forceupdate more reliable
...
this schedules a reboot rather than rebooting immediately, which means
the FMU gets an ACK for its reboot operation, preventing it from
timing out waiting for the ACK. That makes the timing of the reboot
more consistent, which makes it more reliable for forceupdate
2014-01-07 09:30:56 +01:00
Andrew Tridgell
bccf65cc28
mpu6000: disable interrupts during initial reset
...
this seems to avoid a problem where the mpu6000 doesn't startup
correctly if other devices are transferring at the same time.
2013-12-16 15:06:45 +01:00
Andrew Tridgell
c46bd8b041
Enabled DMA on both telemetry ports and GPS
2013-12-13 11:26:16 +01:00
Andrew Tridgell
5b7d1af5d8
Merged crccheck command
2013-12-13 11:22:14 +01:00
Andrew Tridgell
6016fbe55d
Merged PX4IO crc checks and force update
2013-12-13 11:21:00 +01:00
Andrew Tridgell
8f90efa312
l3gd20: print more perf counters and make DRDY usage clearer
2013-12-13 11:19:18 +01:00
Andrew Tridgell
e808e015dd
LowPassFilter: allow for filtering to be disabled
...
using bandwidth of 0 gives no filtering
2013-12-13 11:19:08 +01:00
Andrew Tridgell
17502cbde4
l3gd20: fixed a warning
2013-12-13 11:18:59 +01:00
Andrew Tridgell
cf78440ee6
drv_hrt: added note on why an uninitialised hrt_call is safe
2013-12-10 12:07:03 +01:00
Andrew Tridgell
d43e3394b0
l3gd20: added rescheduling and error checking
2013-12-10 12:06:56 +01:00
Andrew Tridgell
91870953d9
mpu6000: treat all zero data from mpu6k as bad
2013-12-10 12:06:48 +01:00
Andrew Tridgell
96881d8810
ms5611: check for all zero in the prom
...
when SPI CLK fails we get all zero data
2013-12-10 12:06:41 +01:00
Andrew Tridgell
f0d84d4826
mpu6000: close fds before exit
2013-12-10 12:06:34 +01:00
Andrew Tridgell
acd0a70dca
lsm303d: close fds before exit
2013-12-10 12:06:25 +01:00
Andrew Tridgell
09ece4306e
l3gd20: close fds before exit
2013-12-10 12:06:18 +01:00
Andrew Tridgell
1fc122562c
mpu6000: use register_class_devname()
2013-12-10 12:06:11 +01:00
Andrew Tridgell
02e7f7fa85
lsm303d: use register_class_devname()
2013-12-10 12:06:02 +01:00
Andrew Tridgell
1d5f0a1433
l3gd20: use register_class_devname()
2013-12-10 12:05:55 +01:00
Andrew Tridgell
c5097a6561
hmc5883: use register_class_devname()
2013-12-10 12:05:42 +01:00
Andrew Tridgell
6145e69fc6
device: added register_class_devname() API
...
this allows drivers to register generic device names for a device
class, with automatic class instance handling
2013-12-10 12:05:36 +01:00
Andrew Tridgell
f24479c27a
lsm303d: dump I2C control registers in regdump
2013-12-10 12:05:29 +01:00
Andrew Tridgell
0456ee2364
ms5611: give cleaner SPI traces
...
this makes logic traces cleaner by zeroing extra bytes written
2013-12-10 12:05:07 +01:00
Andrew Tridgell
bc6ddb971f
ms5611: removed unused variable
2013-12-10 12:05:00 +01:00
Andrew Tridgell
7e30941475
ms5611: change bus speed to 5MHz
...
this gives 5MHz SPI bus speed (by asking for 6MHz due to timer
granularity).
Tests with a logic analyser show that the ms5611 is actually more
reliable at 5MHz than lower speeds
2013-12-10 12:04:52 +01:00
Andrew Tridgell
30ff61fa90
lsm303d: use DRDY pins to automatically reschedule measurements
...
this prevents double reads of sensor data, and missing samples from
the accel
2013-12-10 12:04:46 +01:00
Andrew Tridgell
0e97c288bb
px4fmu2: enable SPI sensor DRDY pins
2013-12-10 12:04:39 +01:00
Andrew Tridgell
4956feffdf
drv_hrt: added hrt_call_init() and hrt_call_delay() APIs
...
hrt_call_init() can be used to initialise (zero) a hrt_call structure
to ensure safe usage. The hrt_call_every() interface calls this
automatically.
hrt_call_delay() can be used to delay a current callout by the given
number of microseconds
2013-12-10 12:04:26 +01:00
Andrew Tridgell
513d014f03
l3gd20: added retries to disable_i2c()
2013-12-10 12:04:20 +01:00
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
2013-12-10 12:04:13 +01:00
Andrew Tridgell
0a83772c0d
l3gd20: use highest possible on-chip filter bandwidth
...
this allows the software filter to do its job properly
2013-12-10 12:04:05 +01:00
Andrew Tridgell
f0e50fc87a
lsm303d: init filter to 773 Hz
2013-12-10 12:03:58 +01:00
Andrew Tridgell
2de588e861
lsm303d: changed tones for accel fail to 3 tones
...
distinct tones for init fail, post-boot fail and recovery
2013-12-10 12:00:55 +01:00
Andrew Tridgell
c46ab017e1
lsm303d: make log distinctive with i2c disable included
2013-12-10 12:00:46 +01:00
Andrew Tridgell
51a1ad48c5
FMUv2: don't config ADC pins that are now used for MPU6k CS and other uses
2013-12-10 12:00:36 +01:00
Andrew Tridgell
aeba9e5c1e
FMUv2: change CS pins to 2MHz
...
this gives cleaner traces
2013-12-10 12:00:27 +01:00
Andrew Tridgell
032c450d15
lsm303d: cleanup logic traces by pre-zeroing all transfers
2013-12-10 12:00:17 +01:00
Andrew Tridgell
a2b31118cb
lsm303d: get cleaner logic traces by gathering all regs more regularly
2013-12-10 12:00:08 +01:00
Andrew Tridgell
7c9d92a5d6
lsm303d: added I2C disable based on method from ST engineering support
2013-12-10 12:00:02 +01:00
Andrew Tridgell
9a169d8ef4
l3gd20: added I2C disable based on method from ST engineering support
2013-12-10 11:59:54 +01:00
Andrew Tridgell
44b2543d2d
FMUv2: set MPU6000 CS as initially de-selected
2013-12-10 11:59:48 +01:00
Andrew Tridgell
3ce14497a1
FMUv2: added define for MPU DRDY pin
2013-12-10 11:59:29 +01:00
Andrew Tridgell
b927974a97
FMUv2: added support for MPU6000 on v2.4 board
2013-12-10 11:59:23 +01:00
Andrew Tridgell
fe4b95f9d5
lsm303d: zero-fill register reads
2013-12-10 11:59:13 +01:00
Andrew Tridgell
ea33a19c8f
lsm303d: show regs at both high and low bus speed on error
2013-12-10 11:59:06 +01:00
Andrew Tridgell
4ce4b8a174
lsm303d: always log first ARB and REG values
2013-12-10 11:59:00 +01:00
Andrew Tridgell
5ef91d694b
lsm303d: log mag regs too
2013-12-10 11:58:53 +01:00
Andrew Tridgell
671447ce2c
lsm303d: fixed TEMP_H register define
2013-12-10 11:58:45 +01:00
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
2013-12-10 11:58:39 +01:00
Andrew Tridgell
50d5241985
px4io: moved blue heartbeat LED to main loop
...
this allows us to tell if the main loop is running by looking for a
blinking blue LED
2013-12-10 11:58:29 +01:00
Andrew Tridgell
97af3d2204
mpu6000: change bus speed based on registers being accessed
...
this ensures we follow the datasheet requirement of 1MHz for general
registers and up to 20MHz for sensor and int status registers
2013-12-10 11:58:21 +01:00
Andrew Tridgell
8df4d636ab
SPI: added set_frequency() API
...
this allows the bus speed to be changed on the fly by device
drivers. This is needed for the MPU6000
2013-12-10 11:58:15 +01:00
Andrew Tridgell
415417196b
lsm303d: print more registers in "lsm303d regdump"
2013-12-10 11:58:08 +01:00
Andrew Tridgell
af049f7cf8
lsm303d: define some more register addresses
2013-12-10 11:58:01 +01:00
Andrew Tridgell
93f3398dfe
lsm303d: added 'lsm303d regdump' command
...
useful for diagnosing issues
2013-12-10 11:57:54 +01:00
Andrew Tridgell
1b1aa0edea
lsm303d: use DRDY pins to automatically reschedule measurements
...
this prevents double reads of sensor data, and missing samples from
the accel
2013-12-10 11:48:44 +01:00
Andrew Tridgell
b3f4b0a240
drv_hrt: added note on why an uninitialised hrt_call is safe
2013-12-10 11:40:51 +01:00
Andrew Tridgell
893d66d961
l3gd20: added rescheduling and error checking
2013-12-10 11:40:06 +01:00
Andrew Tridgell
2b491a7954
mpu6000: treat all zero data from mpu6k as bad
2013-12-10 11:39:50 +01:00
Andrew Tridgell
8744aa7536
ms5611: check for all zero in the prom
...
when SPI CLK fails we get all zero data
2013-12-10 11:39:28 +01:00
Andrew Tridgell
39b40e41c2
mpu6000: close fds before exit
2013-12-10 11:39:20 +01:00
Andrew Tridgell
038ec194ae
lsm303d: close fds before exit
2013-12-10 11:39:14 +01:00
Andrew Tridgell
1bac7e7f8b
l3gd20: close fds before exit
2013-12-10 11:39:07 +01:00
Andrew Tridgell
b55403c551
mpu6000: use register_class_devname()
2013-12-10 11:38:30 +01:00
Andrew Tridgell
e334377e6c
lsm303d: use register_class_devname()
2013-12-10 11:38:23 +01:00
Andrew Tridgell
5a88dc02a7
l3gd20: use register_class_devname()
2013-12-10 11:38:10 +01:00
Andrew Tridgell
5ee41bc083
hmc5883: use register_class_devname()
2013-12-10 11:37:59 +01:00
Andrew Tridgell
b2b9665e44
device: added register_class_devname() API
...
this allows drivers to register generic device names for a device
class, with automatic class instance handling
2013-12-10 11:31:04 +01:00
Andrew Tridgell
895dc3a2bb
lsm303d: dump I2C control registers in regdump
2013-12-10 11:30:53 +01:00
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
2013-12-10 11:30:01 +01:00
Andrew Tridgell
70e56a3d54
px4fmu2: enable SPI sensor DRDY pins
2013-12-10 11:03:43 +01:00
Andrew Tridgell
53f2dc8296
drv_hrt: added hrt_call_init() and hrt_call_delay() APIs
...
hrt_call_init() can be used to initialise (zero) a hrt_call structure
to ensure safe usage. The hrt_call_every() interface calls this
automatically.
hrt_call_delay() can be used to delay a current callout by the given
number of microseconds
2013-12-10 11:03:31 +01:00
Andrew Tridgell
86ec1c37fa
l3gd20: added retries to disable_i2c()
2013-12-10 11:03:12 +01:00
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
2013-12-10 11:02:49 +01:00
Andrew Tridgell
b0bb5a3450
ms5611: change bus speed to 5MHz
...
this gives 5MHz SPI bus speed (by asking for 6MHz due to timer
granularity).
Tests with a logic analyser show that the ms5611 is actually more
reliable at 5MHz than lower speeds
2013-12-10 11:01:53 +01:00
Andrew Tridgell
a52e70ca93
ms5611: removed unused variable
2013-12-10 11:01:33 +01:00
Andrew Tridgell
3f0f34a4c7
ms5611: give cleaner SPI traces
...
this makes logic traces cleaner by zeroing extra bytes written
2013-12-10 11:01:20 +01:00
Andrew Tridgell
edc5b68499
l3gd20: use highest possible on-chip filter bandwidth
...
this allows the software filter to do its job properly
2013-12-04 07:08:23 +01:00
Andrew Tridgell
b2119839bd
lsm303d: init filter to 773 Hz
2013-12-04 07:08:05 +01:00
Andrew Tridgell
ba8399780a
init.d: added 3dr_skywalker airframe config
...
params not tuned yet, but servos in the right direction
2013-12-01 07:57:22 +11:00
Andrew Tridgell
bdb462379a
FMUv2: don't config ADC pins that are now used for MPU6k CS and other uses
2013-11-30 20:21:51 +11:00
Andrew Tridgell
19853f87a2
FMUv2: change CS pins to 2MHz
...
this gives cleaner traces
2013-11-30 20:21:44 +11:00