Lucas De Marchi
29b667efdf
AP_HAL_Linux: remove useless mlock of stack
...
In Linux the default stack size is always greater than 32k, either 2MB
or 8MB depending on the architecture. There's no point in creating a
function to lock 32k.
2015-04-14 09:17:20 +10:00
mirkix
445f358839
AP_HAL_Linux: Fix compiler warning of MAX_PWMS redefinition (previously defined)
2015-04-06 15:34:50 -07:00
mirkix
d4d42599b0
AP_HAL_Linux: Add RcInput and RcOutput with only one PRU when using a BBB. BBBMINI use the RC AIO PRU firmware already
2015-03-16 09:33:54 +11:00
mirkix
a6b018eab9
AP_HAL_Linux: BBBMINI use kernel CS now
2015-03-16 09:15:06 +11:00
Staroselskii Georgii
75cd41a7c1
AP_HAL_Linux: added NavioAnalogIn
2015-02-12 12:57:45 +11:00
Staroselskii Georgii
195aa5fc6b
AP_HAL_Linux: take the semaphore in SPIUARTDriver for shorter periods of time
2015-02-12 12:52:56 +11:00
Staroselskii Georgii
64da7f0360
AP_HAL_Linux: fix macro that defines number of I/O callbacks
2015-02-12 12:52:56 +11:00
Staroselskii Georgii
5b21bd2f1d
AP_HAL_Linux: make Ublox transactions shorter
2015-02-12 12:52:56 +11:00
Staroselskii Georgii
4034004194
AP_HAL_Linux: switch NavIO to kernel CS handling
2015-02-12 12:52:56 +11:00
Andrew Tridgell
33a3254d8b
HAL_Linux: accept a smaller sync pulse width
2015-02-08 21:47:28 +11:00
Andrew Tridgell
61be4ce2d2
HAL_Linux: fixed #if for linux builds
2015-01-22 15:58:20 +11:00
Víctor Mayoral Vilches
2b74d018fe
HAL_Linux: Adjust set_system_clock
...
Do nothing for HAL_BOARD_SUBTYPE_NONE.
2015-01-22 15:43:16 +11:00
Víctor Mayoral Vilches
974f243c7e
HAL_Linux: Add set_system_clock
2015-01-22 15:43:16 +11:00
mirkix
c58a022111
AP_HAL_Linux: add support for BBBMINI, simple ArduPilot DIY Cape for the BeagleBone Black
2015-01-12 21:36:40 +13:00
Mikhail Avkhimenia
954b0795d4
HAL_Linux: Enable PCA9685 output after its setup
2015-01-09 06:38:21 +11:00
Andrew Tridgell
4da0a24887
HAL_Linux: use common RingBuffer.h
2015-01-07 08:41:14 +11:00
Staroselskii Georgii
e4a21f291d
AP_HAL_Linux: added LinuxSPIUARTDriver that can handle SPI-driven Ublox
2015-01-07 08:41:12 +11:00
Staroselskii Georgii
2b589d4604
AP_HAL_Linux: enable output for PCA9685 PWM in NavioRCOuput
2015-01-07 08:41:12 +11:00
Andrew Tridgell
193bda068c
HAL_Linux: run IO processes when we do a stop_clock()
...
this has the effect of allowing logging to progress in Replay where we
are running at much more than realtime speeds
2014-12-08 11:24:39 +11:00
John Williams
d0e467aea0
AP_HAL_Linux: Bypass manual CS assertion for SPI_CS_KERNEL mode
...
Missed from initial patch series
Signed-off-by: John Williams <john@whelanwilliams.net>
2014-11-27 15:57:12 +11:00
Mikhail Avkhimenia
955753f3f0
HAL_Linux: Optimize bandwidth for RCOutput_Navio
...
40% less bytes in I2C transactions for PCA9685.
2014-11-26 11:14:44 +11:00
Mikhail Avkhimenia
50459bdca0
HAL_Linux: Enable external clk for RCOutput_Navio
...
That should fix PWM value drifts.
2014-11-26 11:14:44 +11:00
Andrew Tridgell
22cb1c8525
HAL_Linux: tidy up SPI debugging a bit
2014-11-26 10:16:39 +11:00
John Williams
0fe3959d7e
AP_HAL_Linux: Add support for in-kernel SPI CS handling
...
Add support for /dev/spidev<bus>.<cs> in-kernel SPI CS handling, and convert
existing SPI devices over.
* Add a new member _subdev to the LinuxSPIDeviceDriver class, and initialiser
in LinuxSPIDevice constructor. Use subdev 0 for GPIO-managed CS
* Extend the _cs_pin to signed 16 bits and define SPI_CS_KERNEL (-1) for
kernel-managed CS
* Move to per-device file descriptors (required for in-kernel CS)
* Extend spidev filenames to include bus and subdevice numbers, possibly
longer than 1 digit each
* Allow support for platforms enumerating /dev/spidevNNN from non-zero bases
* Convert existing users over to the new API
Signed-off-by: John Williams <john@whelanwilliams.net>
2014-11-26 09:55:09 +11:00
Andrew Tridgell
7497b4dfb1
HAL_Linux: fixed Replay with new AP_InertialSensor library
2014-11-16 12:30:50 +11:00
bugobliterator
9d39c0407e
HAL_Linux: added ToneAlarmDriver.h
2014-11-15 21:25:55 +11:00
bugobliterator
329c1f5190
HAL_Linux:create ToneAlarmDriver as a separate class
...
ToneAlarm is now declared as a separate class instance of which is added as a private member of LinuxUtil
Some minor fixes in this patch include changing return type of tonealarm_init() to bool and use dprintf
2014-11-15 16:59:06 +11:00
bugobliterator
f058131140
HAL_Linux Scheduler: reduce the delay inside tonealarm thread
...
Since the tonealarm is now passthrough the delay inside the thread needs to be reduced for precise tune generation
2014-11-15 16:59:06 +11:00
bugobliterator
3b94cb3072
HAL_Linux: make tonealarm generation a passthrough operation
...
get rid of all delays and while loops(that may turn into infinite loop)
2014-11-15 16:59:06 +11:00
bugobliterator
e254b406d0
HAL_Linux: make rtttl tune and tune repeat flag list static members
...
instead of initialising them inside constructor
2014-11-15 16:59:06 +11:00
Andrew Tridgell
c8c822422a
HAL_Linux: give error msg on failure to start toneAlarm
2014-11-15 16:58:58 +11:00
John Williams
57d2fc1dd5
HAL_Linux: RCInput support for Zynq
2014-11-14 14:10:35 +11:00
Staroselskii Georgii
a55db1c25d
AP_HAL_Linux: fixed LinuxGPIO_RPI::read()
2014-11-14 10:28:34 +11:00
Mikhail Avkhimenia
49d3035ee5
HAL_Linux: fix types, remove printfs in GPIO_RPI
2014-11-14 10:28:34 +11:00
Mikhail Avkhimenia
6f993fe64a
HAL_Linux: add prototype RCInput code for Navio
2014-11-14 10:28:34 +11:00
Staroselskii Georgii
ef420a2544
AP_HAL_Linux: changed SPI mode for MPU9250
2014-11-14 10:28:34 +11:00
Staroselskii Georgii
bf860ee41f
AP_HAL_Linux: Ublox SPI stub
2014-11-14 10:28:34 +11:00
Víctor Mayoral Vilches
ce4c4c43dc
AP_HAL_Linux: Scheduler reboot fix
...
exit from the autpilot when reboot is commanded.
The software assumes that the code is being
launched in an infinite loop thereby an exit
will make it reboot.
2014-11-14 10:27:19 +11:00
John Williams
ae87399919
HAL_Linux: Basic Zynq Linux platform support
...
Preliminary support for Zynq/Linux on the 'ZyboPilot' HW platform.
see https://github.com/trjw/ZyboPilot-bsp for the PetaLinux / Vivado project
files.
At this stage CPPM/Pulse in and PWM out work, and in CLI mode the passthru
test works correctly.
The platform has passed minimal smoke testing in HIL mode.
ZYNQ IS NOT FLIGHT TESTED YET! FLY THIS PLATFORM AT YOUR OWN RISK!
Signed-off-by: John Williams <john@whelanwilliams.net>
2014-11-14 10:21:04 +11:00
Andrew Tridgell
00526359b0
HAL_Linux: use dprintf() instead of sprintf and write
2014-11-10 06:51:53 +11:00
bugobliterator
af203760bd
HAL_Linux: change the return type of AP_HAL::Util::tonealarm_init() to signed int8_t.
...
This is a part of a set of fixes for the bugs and typos tridge discovered and shared inside earlier commits for setting up tonealarm.
2014-11-10 06:27:48 +11:00
bugobliterator
298b27444a
HAL_Linux: Add ToneAlarm Driver to Linux_HAL
...
ToneAlarm is setup for Beaglebone Black using pwm, toneAlarm thread runs on second last priority.
2014-11-10 06:27:48 +11:00
Andrew Tridgell
02581f4c05
HAL_Linux: re-fix dirty mask bug in Storage
...
when conversion to a single parent class was done it re-introduced a
bug that was fixed a while ago
See commit d238ff7c5d
2014-11-08 11:55:55 +11:00
Andrew Tridgell
330dab2fe3
HAL_Linux: fixed some warnings
2014-11-08 11:49:09 +11:00
bugobliterator
4908e335d2
HAL_Linux: Add Storage.cpp containing common storage class member definitions
2014-11-08 11:36:12 +11:00
bugobliterator
dd6d520385
HAL_Linux:Create subclass to handle FRAM Storage under main Storage Class
2014-11-08 11:36:09 +11:00
Andrew Tridgell
14a6878bcd
HAL_Linux: fixed termios settings on BBB initial boot
...
this should fix the problem of losing the GPS in flight
2014-11-07 22:15:28 +11:00
Andrew Tridgell
8506e8b5fb
HAL_Linux: fixed linux build
2014-10-30 17:47:18 +11:00
John Williams
b9f0310b82
hal_ap_linux: Make PRU constants private to reduce #define namespace pollution.
...
Forthcoming Zynq port AP_HAL_Linux uses similar constants with different
values - move these as private member constants to avoid collisions.
Signed-off-by: John Williams <john@whelanwilliams.net>
2014-10-30 13:51:41 +11:00
Mikhail Avkhimenia
81de994fef
HAL_Linux: separate RCInput for PRU and Navio
2014-10-30 13:30:07 +11:00
Mikhail Avkhimenia
e05151f0e0
HAL_Linux: Initialize i2c before rcoutput (required by i2c pwm chips for initialization)
2014-10-30 13:30:07 +11:00
Mikhail Avkhimenia
2f0900b0a8
HAL_Linux: add GPIO driver for Raspberry Pi
2014-10-30 13:30:07 +11:00
Mikhail Avkhimenia
07ed93cea0
HAL_Linux: add PCA9685 based RCOutput for Navio
2014-10-30 13:30:07 +11:00
Alexander Mergel
14c401c0f4
AP_HAL_Linux: [Bugfix] prevent memory acces violation in process_dsm_pulse
...
When a S.Bus signal is fed into the rcin-Pin AruPlane on the BBB get's a
Segmentation fault. This patch prevents the memory acces to dsm_state.bytes[16] outside
of the array bounds. The patch should be reviewed by sombody who knows the DSM protocol,
as i don't.
2014-10-30 11:57:35 +11:00
Andrew Tridgell
39fadad7d6
HAL_Linux: fixed build warnings
2014-10-09 16:49:23 +11:00
Andrew Tridgell
c834589daa
HAL_Linux: reduce the number of times we split up UART reads
2014-10-09 12:29:25 +11:00
Andrew Tridgell
076bb1294e
HAL_Linux: improved UDP packetisation and add flow control reporting
...
report we have flow control on UDP and TCP
2014-10-09 12:29:25 +11:00
Andrew Tridgell
cebfef3ead
HAL_Linux: don't accept less than 5 input channels
2014-10-09 09:19:35 +11:00
Andrew Tridgell
a3fee16604
HAL_Linux: added DSM/Spektrum RCInput support
...
this decodes DSM using the RCIN pulses from the PRU
2014-10-08 12:50:50 +11:00
Andrew Tridgell
3e3f87188b
HAL_Linux: enable DSM power pin
2014-10-08 12:50:50 +11:00
Andrew Tridgell
50e5ae6f7a
HAL_Linux: added low level DSM decoder
...
based on dsm.c from PX4 project
2014-10-08 12:50:50 +11:00
Andrew Tridgell
9b207d029d
HAL_Linux: change ring buffer to 300 entries
2014-10-07 14:57:34 +11:00
Andrew Tridgell
b1845ed00d
HAL_Linux: initial support for parallel SBUS and PPM-SUM decoding
2014-10-07 14:57:34 +11:00
Andrew Tridgell
42e9dc3c31
HAL_Linux: added SBUS decoder from PX4 project
...
thanks Lorenz!
2014-10-07 14:57:34 +11:00
Andrew Tridgell
e0e534628b
HAL_Linux: support direct UDP output from UART drivers
...
this allows safe operation over WiFi links without MAVProxy
2014-10-06 15:13:03 +11:00
Andrew Tridgell
d238ff7c5d
HAL_Linux: fixed storage bug in Linux too
2014-09-11 18:58:54 +10:00
Andrew Tridgell
46ac52bccc
HAL_Linux: removed retry loop on UART open
...
this was there for HAL_PX4 only, and makes no sense on Linux
2014-08-27 18:31:38 +10:00
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