Murilo Belluzzo
c7a65a026c
AP_HAL_PX4: UARTDriver: Make use of ByteBuffer class
...
This patch replaces the 'old style' ringbuffer by the ByteBuffer class.
An effort was made to keep the exchange as close as possible from a
drop-in replacement to minimize the risk of introducing bugs.
Although the exchange opens opportunities for improvement and
simplification of this class.
2016-10-27 14:23:43 +11:00
Lucas De Marchi
26650049c0
AP_HAL_Linux: UARTDriver: fix writting/reading with failures
...
When the buffer wraps and we do it in 2 steps, we can't actually do the
second part if it fails or if we wrote less bytes than we intended,
otherwise we will corrupt the data being sent.
2016-10-27 14:23:42 +11:00
Murilo Belluzzo
ce81c45f80
AP_HAL_Linux: UARTDriver: Make use of ByteBuffer class
...
This patch replaces the 'old style' ringbuffer by the ByteBuffer class.
An effort was made to keep the exchange as close as possible from a
drop-in replacement to minimize the risk of introducing bugs.
Although the exchange opens opportunities for improvement and
simplification of this class.
2016-10-27 14:23:42 +11:00
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Murilo Belluzzo
077e03678f
Global: Adapt Stream class to be used with Ringbuffer
2016-08-03 01:44:02 -03:00
Staroselskii Georgii
a1f151a79b
AP_HAL_Linux: do not create unnecessary consoles in UARTDriver
2016-07-15 15:31:19 -03:00
Staroselskii Georgii
7b3a5e3158
AP_HAL_Linux: use factory method for creation of UARTDriver backends
...
Using factory method maked it easier to grasp the lifetime of all object
that get created and destroyed. Instead of spanning this thoughout whole
source file we have it nicely encapsulated in this a little horrendeous
_parseDevicePath that is of course to improve more.
2016-07-15 15:29:05 -03:00
Staroselskii Georgii
e7a5945056
AP_HAL_Linux: make flow_control a property of SerialDevice rather than UARTDriver's
...
Make it possible to change flow control settings for individual devices.
2016-07-15 15:26:49 -03:00
Staroselskii Georgii
3f1e999fc8
AP_HAL_Linux: remove ConsoleDevice construction from UARTDriver constructor
...
Since we're going to create ConsoleDevice in UARTDriver either way,
there's no need to do anything except setting the console flag.
2016-07-15 14:56:00 -03:00
Andrew Tridgell
beb3591f67
HAL_Linux: improved help output and errors for udp and bcast
2016-06-28 21:01:45 +10:00
Andrew Tridgell
72b5cecdb2
HAL_Linux: added udpin support to HAL_Linux
...
useful for setting up ardupilot as a mavlink UDP listener
2016-06-28 21:01:43 +10:00
Andrew Tridgell
ef210217dd
HAL_Linux: cope with MAVLink2 in UDP driver for packetising
2016-05-23 10:10:03 +10:00
Lucas De Marchi
71e10c9132
AP_HAL_Linux: fix include order
...
Sort include alphabetically and make them in order:
Main header
system headers
library headers
local headers
While reordering, change a include of endian.h to our sparse-endian.h
which is more reliant to toolchain changes.
2016-05-18 23:05:56 -03:00
Lucas De Marchi
45c6b750f2
AP_HAL_Linux: remove ifdef checks for HAL_BOARD_LINUX
...
Everything inside libraries/AP_HAL_Linux is for Linux boards, there's
not need to add the ifdefs.
2016-05-18 23:05:56 -03:00
Andrew Tridgell
dc8a3bbf92
HAL_Linux: added qflight board subtype
2015-12-27 16:12:27 +11:00
Andrew Tridgell
0a36503742
HAL_Linux: fixed a bug with UDP packetisation
...
this fixes a bug where we would send UDP MAVLink packets larger than 300 bytes
2015-12-14 18:27:11 +11:00
Lucas De Marchi
2ac96b942c
AP_HAL_Linux: remove prefix from AP_HAL_Linux classes
...
We have already a Linux namespace, so there's no need to prefix Linux on
all names.
2015-10-21 10:11:19 +11:00
Lucas De Marchi
dabfeff440
AP_HAL_Linux: standardize inclusion of libaries headers
...
Do the missing header changes due to changing the code before the pr
getting accepted.
2015-08-18 17:12:51 +10:00
Gustavo Jose de Sousa
124b750c10
AP_HAL_Linux: standardize inclusion of libaries headers
...
This commit changes the way libraries headers are included in source files:
- If the header is in the same directory the source belongs to, so the
notation '#include ""' is used with the path relative to the directory
containing the source.
- If the header is outside the directory containing the source, then we use
the notation '#include <>' with the path relative to libraries folder.
Some of the advantages of such approach:
- Only one search path for libraries headers.
- OSs like Windows may have a better lookup time.
2015-08-11 16:28:43 +10:00
Andrew Tridgell
45a7c37734
HAL_Linux: added bcast flag for udp broadcast
2015-07-29 16:46:53 +10:00
Andrew Tridgell
b99740cb93
HAL_Linux: sped up UDP transfers by about 25x
...
allow more than 1 packetised transfer per tick
2015-07-29 14:19:46 +10:00
Andrew Tridgell
a5c7aa1b19
HAL_Linux: allow startup before network bringup
...
this makes it possible to bootup ardupilot before the desired network
interface is available. This is very useful for when using 3G dongles
in aircraft
2015-07-29 09:55:47 +10:00
Andrew Tridgell
55fc66ec65
HAL_Linux: implemented TCP server as a single driver
...
the wait flag just changes startup behaviour. The TCP server should
always be a server with listen and accept. We don't need two drivers
2015-07-29 09:37:57 +10:00
Staroselskii Georgii
aa3efecef3
AP_HAL_Linux: fixed _parseDevicePath() in LinuxUARTDRiver
...
The current implementation doesn't throw an error on a malformed path string.
i.e. udp:192.168.1.1.14550 instead of udp:192.168.1.1:14550 may result in a memory leak or whatsoever.
The commit fixes the issue and outputs a nice error message if anything's wrong.
2015-07-29 08:36:09 +10:00
Staroselskii Georgii
0362128265
AP_HAL_Linux: renamed TCPClientDevice
2015-07-29 08:36:09 +10:00
Staroselskii Georgii
211acbec9c
AP_HAL_Linux: renamed TCPServerDevice
...
A more appropriate name for the class.
2015-07-29 08:36:08 +10:00
Staroselskii Georgii
a3f47878a2
AP_HAL_Linux: made UARTDriver use TCPServerDevice
2015-07-29 08:36:08 +10:00
Staroselskii Georgii
eacc085289
AP_HAL_Linux: made UARTDriver use TCPClientDevice
2015-07-29 08:36:07 +10:00
Staroselskii Georgii
6e34dd9669
AP_HAL_Linux: got rid of TCP connection
2015-07-29 08:36:07 +10:00
Staroselskii Georgii
de6b2b4bce
AP_HAL_Linux: made UARTDriver use ConsoleDevice
2015-07-29 08:36:07 +10:00
Staroselskii Georgii
6ec67a9bfd
AP_HAL_Linux: made UARTDriver use UDPDevice
2015-07-29 08:36:06 +10:00
Staroselskii Georgii
656399541f
AP_HAL_Linux: encapsulated LinuxUARTDriver::_deallocate_buffers
2015-07-29 08:36:06 +10:00
Staroselskii Georgii
f117134443
AP_HAL_Linux: made UARTDriver use UARTDevice
2015-07-29 08:36:05 +10:00
Staroselskii Georgii
dacbdb57c4
AP_HAL_Linux: added _serial_start_connection
2015-07-29 08:36:05 +10:00
Staroselskii Georgii
44198bd4eb
AP_HAL_Linux: encapsulated LinuxUARTDriver::allocate_buffers
2015-07-29 08:36:04 +10:00
Staroselskii Georgii
94de9416fe
AP_HAL_Linux: use defines instead of hardcoding fd numbers in UARTDriver
2015-07-29 08:36:04 +10:00
Víctor Mayoral Vilches
309511dc08
HAL_Linux: UARTDriver, const device_path
...
Class member set to const and set_device_path
accepts a const char* now.
2015-06-30 14:36:00 +10:00
Staroselskii Georgii
da6316ed4c
AP_HAL_Linux: fixed TCP client connection in LinuxUARTDriver
2015-04-14 15:59:33 +10: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
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
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
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
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
b4be93113c
HAL_Linux: prevent read past end of buffer
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
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
Andrew Tridgell
8e5915ef7d
HAL_Linux: fixed some valgrind errors
2014-07-14 09:44:35 +10:00