Andrew Tridgell
024d3b71e7
HAL_Linux: use a semaphore in suspend_timer_procs()
...
this is the start of multi-core aware code
2014-08-22 21:13:11 +10:00
Andrew Tridgell
ead82ee581
HAL_Linux: implement millis64() and micros64()
2014-08-20 08:00:21 +10:00
Andrew Tridgell
b9dc2335ee
HAL_Linux: run timer thread at average 1kHz without drift
...
this avoids drift in the 1kHz timer, to avoid bias in the IMU
filtering
2014-08-19 20:03:34 +10:00
Andrew Tridgell
8f280d212b
HAL_Linux: don't use usleep() in suspend_timer_procs()
...
usleep can cause a large delay with PREEMPT kernel
2014-08-19 20:03:33 +10:00
Andrew Tridgell
94e14f5dcb
HAL_Linux: split off RCOutput class to be specific to PXF and ERLE
...
this fixes the Replay tool
2014-08-19 20:03:33 +10:00
Andrew Tridgell
2ce219aeb8
HAL_Linux: split RCInput class into generic and PRU implementations
...
this will make it easier for other boards (such as NAVIO) to implement
their own RCInput mechanism
2014-08-19 20:03:33 +10:00
Andrew Tridgell
b4be93113c
HAL_Linux: prevent read past end of buffer
2014-08-19 10:08:17 +10:00
Andrew Tridgell
b40bd479c4
HAL_Linux: moved FRAM vs FS choice into HAL_Linux headers
2014-08-19 10:08:17 +10:00
Andrew Tridgell
9fccb5f5ed
HAL_Linux: clear more UART flags
...
this fixes a major timing issue caused by bad UART flags (I suspect
the echo flags) and the GPS auto detection code
2014-08-19 10:08:17 +10:00
Andrew Tridgell
c87b0adc29
HAL_Linux: the MS5611 seems to be a bit happier at higher speed
...
still getting some bogus data, but less
2014-08-19 10:08:17 +10:00
Andrew Tridgell
6cc304e486
HAL_Linux: RCOutput should default to 50Hz on all boards
2014-08-19 10:08:16 +10:00
Andrew Tridgell
9d948d5a26
HAL_Linux: fixed name space collision in RCOutput
2014-08-19 10:08:16 +10:00
Andrew Tridgell
721d349922
HAL_Linux: fixed build of BusTest
2014-08-19 10:08:16 +10:00
Andrew Tridgell
a4ef512f10
SPIDriver: fixed handling of 0 based SPI bus numbers
2014-08-19 10:08:16 +10:00
Andrew Tridgell
5fb2ad0068
HAL_Linux: fixed safety of RCInput code
...
don't loop forever waiting for pulses
2014-08-19 10:08:16 +10:00
bugobliterator
ac11d282b5
HAL_Linux: Add support for PPM input to HAL_Linux
...
rcin thread continuously scans for values inside ring buffer maintained by pru with rcinpru0 firmware.
2014-08-19 10:08:16 +10:00
bugobliterator
4b2f7cd163
HAL_Linux: Add FRAM HAL driver support for non-volatile storage
...
Support for File System starage mode is retained, appropriate Storage
mode can be set by defining USE_FS_STORAGE for File System storage
aand US_FRAM_STORAGE for FRAM storage. Note: FS storage and FRAM
storage are never synced as of now.
2014-08-19 10:08:16 +10:00
Victor Mayoral Vilches
8a71fdf092
HAL_Linux: minor syntax fix in UARTDriver
...
Typo noticed by @hcervino.
2014-08-19 10:08:16 +10:00
Silvia
b6baf78e73
HAL_Linux:duplicate #include <sys/types<
deleted
2014-08-19 10:08:16 +10:00
Silvia
7fd0e8345d
HAL_Linux: Duplicate #include <unistd.h>
deleted
2014-08-19 10:08:16 +10:00
Andrew Tridgell
d40d0f6aec
AP_HAL: removed old storage type read/write functions
...
not needed any more
2014-08-13 18:46:44 +10:00
Mikhail Avkhimenia
a09fbb4171
HAL_Linux: Add SPI configuration for Navio
...
This changes the SPI bus number to be zero based on Linux
2014-08-12 22:13:00 +10:00
Andrew Tridgell
03e8e5f2b9
HAL_Linux: setup for all 6 SPI devices for PXF cape
2014-07-19 13:23:37 +10:00
Andrew Tridgell
05f5d91709
HAL_Linux: fixed BusTest build
2014-07-19 12:22:06 +10:00
Andrew Tridgell
9e921719ca
HAL_Linux: added bus scanning test
2014-07-15 19:06:11 +10:00
Andrew Tridgell
bcc8768358
HAL_Linux: fixed a build warning
2014-07-15 13:56:50 +10:00
Andrew Tridgell
1b85b12738
HAL_Linux: made I2C driver more portable
...
this uses a typeof() to cope with different kernel data types for I2C
messages
2014-07-15 13:56:50 +10:00
Andrew Tridgell
224515f3eb
HAL_Linux: fixed indexing of device array for SPI
2014-07-14 11:31:55 +10:00
Andrew Tridgell
3292055af2
HAL_Linux: fixed dataflash SPI
2014-07-14 11:07:41 +10:00
Andrew Tridgell
6312b9f8c0
HAL_Linux: allow different SPI and GPIO devices on different boards
...
this fixes the Replay utility, which uses subtype NONE, and will make
it easier to port to new boards
2014-07-14 09:44:37 +10:00
bugobliterator
003806fcc1
HAL_Linux: pwmpru,HAL_Linux_RCOut code doesn't wait for magic flag to send data
...
change pwmpru code to remove frequent wrong PWM outputs
Replace pru firmware with new modified pru firmware
2014-07-14 09:44:37 +10:00
bugobliterator
8cf628e780
HAL_Linux_RCoutput:Add handler to catch SIGBUS error
2014-07-14 09:44:37 +10:00
bugobliterator
25e670d0cc
HAL_LINUX_RCOutput: Change to reading hilo_read instead of periodhi
...
use uint instead of int
2014-07-14 09:44:36 +10:00
Andrew Tridgell
a46d8dbd51
HAL_Linux: make the spi driver fd part of the manager, not device
...
it should be one connection to the kernel per bus, not one per device
2014-07-14 09:44:36 +10:00
Andrew Tridgell
9f8f27090a
HAL_Linux: MPU9250 is restricted to 1MHz for setup
...
(see datasheet)
2014-07-14 09:44:36 +10:00
Andrew Tridgell
549e08446a
HAL_Linux: use BBB pin names in SPIDriver
...
easier to find the pins on the board
2014-07-14 09:44:36 +10:00
Andrew Tridgell
8e5915ef7d
HAL_Linux: fixed some valgrind errors
2014-07-14 09:44:35 +10:00
Andrew Tridgell
130f831c1c
HAL_Linux: use MODE_3 for MPU9250
...
this fixes the MS5611 (probably due to idle state?)
2014-07-14 09:44:35 +10:00
Andrew Tridgell
fc8068adfe
HAL_Linux: use board subtypes
2014-07-14 09:44:35 +10:00
Andrew Tridgell
1bf0c4c67d
HAL_Linux: cope with different I2C headers for data
2014-07-14 09:44:34 +10:00
Andrew Tridgell
fa2a1c495e
HAL_Linux: fixed I2C driver build errors
2014-07-14 09:44:34 +10:00
Andrew Tridgell
8c4565c741
HAL_Linux: fixed a build warning
2014-07-14 09:44:34 +10:00
Andrew Tridgell
5b438471a7
HAL_Linux: added set_bus_speed() support to SPI driver
...
used by MPU6000 driver for setup registers
2014-07-14 09:44:33 +10:00
Andrew Tridgell
0b64d834c3
HAL_Linux: MS5611 and MPU6000 should be MODE3
...
this doesn't solve the MPU6000 problem, but is correct
2014-07-14 09:44:33 +10:00
Andrew Tridgell
1c89f54934
HAL_Linux: fixed SPI mode handling per-device
...
the mode must be set per-device, not per bus.
2014-07-14 09:44:33 +10:00
Víctor Mayoral Vilches
145c71c4af
HAL_Linux: Storage: Change storage folder in Linux to /var/APM
2014-07-14 09:44:33 +10:00
bugobliterator
ca163c292c
HAL_Linux: PRU: remove obsolete libraries/AP_HAL_Linux/PRU
2014-07-14 09:32:29 +10:00
Andrew Tridgell
72f94444c4
HAL_Linux: added basic support for RC overrides
...
this allows for easier testing of RC output by allowing
mavproxy to setup fake inputs
Pair-Programmed-With: Sid, Anuj, Victor and Philip
2014-07-14 09:32:29 +10:00
Andrew Tridgell
d0b007248f
HAL_Linux: fixed SPI semaphore, and panic on CS error
...
This adds a check for trying to assert two CS pins on the same bus
at the same time. The change involves moving the _device handles into the
DeviceManager class, and accessing via static methods.
This also moves the semaphore to be per-bus rather than per-device,
which fixes the problem with bad MS5611 transfers.
Pair-Programmed-With: Victor, Sid, Anuj and Philip
2014-07-14 09:32:29 +10:00
bugobliterator
5bcdb039e2
HAL_Linux: Make asynchronous PRU write and reduce the size of data exchange
...
Change to sending Total Period and hi Period, rather than Hi and Lo Period
Change PRU firmware accordingly
2014-07-14 09:32:29 +10:00