Andy Piper
b5d7d06886
AP_HAL_Linux: QSPI -> WSPI
2023-04-28 08:31:15 +10:00
Andrew Tridgell
d5effcdf92
AP_HAL_Linux: change to 16 bit timeout in event interface
...
prevent issues on 16 bit timers where we can end up with TIME_INFINITE
2023-04-19 17:26:57 +10:00
bugobliterator
ee310433e5
AP_HAL_Linux: add option to use vitual CAN in linux
2023-03-29 17:16:39 +11:00
Peter Barker
a10f5dbd0a
AP_HAL_Linux: add and use a "bool read(c)" method to AP_HAL
...
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Richard Allen
90cbb6ad26
AP_HAL_Linux: Update GPIO and RCInput for pi version change
...
Update version numbers according to earlier change.
Fixes: 53c1c235b8
2023-02-22 21:10:04 -08:00
Richard Allen
693068e68a
AP_HAL_Linux: more rpi initialization checks
...
Check more mmap() call sites for failure and exit.
Also exit when starting on an unknown board.
2023-02-22 21:10:04 -08:00
Andrew Tridgell
deb86be1da
AP_HAL_Linux: added old_size to heap_realloc
2023-01-16 09:19:16 +11:00
Andrew Tridgell
03f4ab515d
AP_HAL_Linux: check for alloc failure of ObjectBuffer
2023-01-08 15:11:32 +11:00
Mohammad Hefny
feece150c6
AP_HAL_Linux: Raspberry 64OS Address fix
2022-12-27 10:03:41 +11:00
Willian Galvani
5ae3f96cbe
AP_HAL_Linux: add LEAK probe pin to Navigator gpio whitelist
2022-11-08 09:46:50 -03:00
Willian Galvani
c607c38cbf
AP_HAL_Linux: add missing header to RCInput_RCProtocol.cpp
...
This fixes muslhf linux build
2022-09-28 18:38:33 -03:00
Willian Galvani
4558742e39
HAL_Linux: add RC in driver for Navigator
2022-09-28 18:38:33 -03:00
Neil Bertram
0326d5eeca
AP_HAL_Linux: Use Linux-specific TCSETS2 ioctl to enable "non-standard" UART baudrates
2022-09-26 22:12:21 -03:00
Yuri
80079b2ce7
AP_HAL_Linux: increase short board names to 23 chars
2022-09-21 17:56:42 +10:00
Willian Galvani
5ed2785dfa
AP_HAL_Linux: create GPIO_Navigator
2022-09-06 09:34:07 +10:00
Willian Galvani
710cbacef7
RCOutput_PC9685: refactor write/write_gpio
2022-09-06 09:34:07 +10:00
Willian Galvani
603bc5ecce
RCOutput_PCA9685: implement gpio methods
2022-09-06 09:34:07 +10:00
Andrew Tridgell
f530761174
AP_HAL_Linux: more changes for 32 bit servo mask
2022-05-22 12:07:37 +10:00
Peter Barker
c456172821
AP_HAL_Linux: tidy includes
2022-05-03 09:14:58 +10:00
Iampete1
c58404beac
AP_HAL_Linux: allow stop_clock in examples
2022-04-26 10:26:29 +10:00
HefnySco
53c1c235b8
AP_HAL:RPI read cpu by revision
2022-03-24 00:51:27 -07:00
Andrew Tridgell
b6f78ede2e
HAL_Linux: support mavcan
2022-02-12 16:36:05 +11:00
Willian Galvani
403ea405dd
AP_Hal_Linux: create defaults.parm for Navigator
2022-02-01 17:35:26 +11:00
Willian Galvani
b5de26c1f2
AP_Hal_Linux: PCA9685: do not shutdown
...
Shutting down causes the pulses to be cut short, often causing
ESCs to interpret this pulse
2022-01-18 11:06:35 +11:00
HefnySco
b80393b2cd
AP_HAL_Linux: supporting RPI-Zero 2 W
2022-01-14 00:32:51 -08:00
HefnySco
88f4eb6017
AP_HAL_Linux: RPI-CM4 detection
2022-01-10 12:21:09 -08:00
Willian Galvani
1dad7b2d56
HAL_Linux: update SPI speeds for Navigator
...
As @jaxxzer found out, if SCL goes under 1MHz, the MMC sometimes
glitches out, freezing.
2022-01-03 15:05:47 -03:00
Jaaaky
08d44815f6
AP_HAL_Linux: Fix multi #include's
2021-12-21 10:38:46 +11:00
Peter Barker
d8e4669e07
AP_HAL_Linux: tidy set/get of hw RTC
2021-12-06 12:58:43 +11:00
Andrew Tridgell
018ac68061
AP_HAL_Linux: support up to 9 UARTs
2021-11-22 22:48:59 +11:00
Patrick José Pereira
6ac7c2dbea
AP_HAL_Linux: Update SPIDevice for Navigator R4
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-11-10 18:11:34 -03:00
bugobliterator
f57f106c7f
AP_HAL_Linux: add get_storage_ptr method
2021-11-10 17:21:35 +11:00
courk
b1bf22b53c
GPIO_BBB: fix partially working GPIO init
...
use cleaner way to enable all GPIO banks, including GPIO1.
2021-10-15 15:16:17 -07:00
Lucas De Marchi
24adf18685
AP_HAL_Linux: small fixes to cpu affinity
...
- Do not mention x:y form in the comment since it's not supported
- Give more detail in the help output regarding the meaning of each form
- No prints in the helper parse function, let the caller print it
2021-10-08 16:08:52 -07:00
HefnySco
9f1cbdc0a5
AP_HAL_Linux: cpu affinity
2021-10-08 13:47:56 -07:00
Iampete1
62474e6dc8
AP_HAL_Linux: AnalogSource: set_pin return true
2021-10-06 18:42:51 +11:00
Josh Henderson
9a7530ad50
AP_HAL_Linux: make panic() WEAK
2021-09-28 09:11:48 +10:00
Peter Barker
f0efc1300e
AP_HAL_Linux: move defines of GPIO LOW/HIGH into cpp file
...
Insane having these generic defines happening if you include GPIO_BBB.h
2021-09-22 21:37:00 +10:00
Peter Barker
275457fd2c
AP_HAL_Linux: move from HAL_NO_GCS to HAL_GCS_ENABLED
2021-09-22 21:37:00 +10:00
Willian Galvani
68cbb47d68
HAL_Linux: RCOutput_PCA9685: implement force_safety_on/off
2021-09-14 10:11:17 +10:00
Willian Galvani
38e8020e4b
HAL_Linux: try to stop PWMs before shutting down due to SIGTERM
2021-09-14 10:11:17 +10:00
Mohammad Hefny
5eb28be8e6
AP_HAL_Linux: define board features on Linux module
2021-09-10 08:17:37 +10:00
MHefny
280788bfdf
AP_HAL_LINUX:toggle gpio port
2021-07-24 09:16:08 -07:00
Siddharth Purohit
f2e947589d
AP_HAL_Linux: add support for hw random number generation
2021-07-07 18:57:25 +10:00
Siddharth Purohit
eed706c46b
AP_HAL_Linux: add empty qspi mgr instance
2021-06-30 19:33:17 +10:00
Siddharth Purohit
35344d1aef
AP_HAL_Linux: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS
2021-06-24 09:02:42 +10:00
Tom Pittenger
4054b5e891
AP_HAL_Linux: AP::can().log_text() needs HAL_ENABLE_LIBUAVCAN_DRIVERS
2021-06-09 18:36:18 +10:00
Andrew Tridgell
dfc4b37df1
AP_HAL_Linux: removed perf counters
2021-06-07 14:29:27 +10:00
Andy Piper
ba96f4491d
AP_HAL_Linux: allow tone alarm types
2021-05-05 17:41:24 +10:00
Andrew Tridgell
fd3bf0f639
HAL_Linux: added --defaults option to Linux HAL
...
useful for initial parameters
2021-04-13 09:36:52 +10:00
Jacob Walser
5537f5564c
AP_HAL: update imu hardware for navigator r3
2021-04-07 15:08:18 -04:00
Jacob Walser
3a433cd71e
AP_HAL: update pwm hardware for navigator r3
2021-04-07 15:08:18 -04:00
Jacob Walser
421638453f
AP_HAL: update Notify LED hardware for navigator r3
2021-04-07 15:08:18 -04:00
MHefny
6bbfdbaf6a
AP_HAL_LINUX:fix missing setting physical address
2021-04-07 10:36:31 -07:00
MHefny
30382740d2
AP_HAL_Linux:fix code style
2021-04-07 10:36:31 -07:00
MHefny
8767112a77
AP_HAL_LINUX:remove duplicates and fix _version
2021-04-07 10:36:31 -07:00
MHefny
c57764e9b4
linux: RCInput_RPI RPI-4 Support
2021-04-07 10:36:31 -07:00
Peter Barker
d0b3b926c0
AP_HAL_Linux: split out a calculate_thread_priority method
2021-03-30 10:49:06 +11:00
Iampete1
4315a69b9d
AP_HAL_Linux: add semaphore to AnalogIn::channel to make it thread safe
2021-03-30 10:44:43 +11:00
Andrew Tridgell
0601259d20
AP_HAL_Linux: removed assert calls
...
these waste flash space and do not do us any good
2021-03-25 14:03:40 +11:00
Andrew Tridgell
9db0862d61
HAL_Linux: use nullptr for vnav rcinput
...
this makes it clearer what is going on
2021-01-20 13:49:26 +11:00
Andrew Tridgell
009cb8f62b
HAL_Linux: setup RCIN for vnav
2021-01-20 10:06:45 +11:00
Andrew Tridgell
16753a51f4
HAL_Linux: use ExpandingString
2021-01-05 10:52:00 +11:00
Andy Piper
74633e55cc
AP_HAL_Linux: rename system_initialized() and add is_system_initialized()
2020-12-30 18:16:59 +11:00
Andrew Tridgell
d6c5fc36d8
HAL_Linux: only init serial(0)
...
we should not pre-init all uarts, it wastes memory if unused
2020-12-15 10:32:46 +11:00
Andrew Tridgell
348dfeff6e
HAL_Linux: use a loop for serial tick
2020-12-15 10:32:46 +11:00
Andrew Tridgell
db76eebd85
AP_HAL_Linux: convert to using hal.serial() instead of hal.uartX
2020-12-15 10:32:46 +11:00
Andrew Tridgell
78711e05b7
AP_HAL_Linux: support uartI, allowing a total of 9 uarts
...
this allows for OTG2 on the MatekH743 board, which makes SLCAN much
easier
2020-11-30 14:09:31 +11:00
Jacob Walser
35c2d13e2f
HAL_Linux_Class: specify per board external clock frequency for RCOutput_PCA9685 drivers
2020-11-21 00:25:19 -08:00
Jacob Walser
e64d9816ce
RCOutput_PCA9685: allow different external clock frequencies
...
The PCA9685 may use an external clock 0~50MHz
Specify the external clock frequency in constructor arguments for each board HAL
2020-11-21 00:25:19 -08:00
bugobliterator
d0cf3365ee
AP_HAL_Linux: handle uninitialised soCAN file descriptor
2020-11-11 19:52:37 +11:00
Vinicius Juvinski
36204e5dae
AP_HAL_Linux: Fix PWM FS to follow the Kernel's 4.X instead 3.9
...
Checking the ToneAlarm under AP_HAL_Linux(BBBMINI is using that) I realize was using old kernek
3.9 device tree, so I updated to 4.X - this will affect only BBBMINI and
Blue boards.
2020-10-26 22:55:03 -07:00
bugobliterator
ba576247f0
AP_HAL_Linux: configure filter only if in filtered mode
2020-10-08 09:31:35 +11:00
Peter Barker
4ebde78bbf
AP_HAL_Linux: throw warning if we ever stop-clock backwards
...
Also don't compile in the stop_clock symbol to make it clear changes in
this method won't affect vehicles
2020-09-15 10:02:36 +10:00
Patrick José Pereira
5746943f50
AP_HAL_Linux: Use pthread_self in place of _ctx
...
Avoid aproblem where _ctx is initialized in a race condition.
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-08-25 07:15:00 -07:00
Patrick José Pereira
248daa85a1
AP_HAL_Linux: Scheduler: Use pthread_* over sched_* calls for setschedparam
...
musl implements `sched_*` following the posix standard,
where `sched_setschedule` is used for process scheduling.
Linux implementation defines `sched_*` functions based in
the thread scheduler and not with the process.
Using `pthread_*` should be used to follow such standard.
Ref: https://pubs.opengroup.org/onlinepubs/9699919799/
From: https://www.openwall.com/lists/musl/2016/03/01/5
> ... Linux does not provide a way
> to set scheduling parameters for a _process_, only for threads. The
> sched_setscheduler syscall is documented as taking a pid but actually
> takes a thread id and only operates on that thread. glibc just ignores
> this and provides sched_* functions that do the wrong thing.
This can be fixed by using `pthread_setschedparam` and requesting the current
thread id via `pthread_self`.
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-08-25 07:15:00 -07:00
Siddharth Purohit
0e923fe061
HAL_Linux: add methods for native clock info methods
2020-08-19 17:31:09 +10:00
Siddharth Purohit
7de444ec53
HAL_Linux: add uavcan agnostic CANSocket Iface Driver
2020-08-19 17:31:09 +10:00
Isaac Ault
e74acba4ec
AP_HAL_Linux: Allow for parameters to be passed with -G, -H
...
All other work has been previously implemented, however when fetching
params these values were ignored.
2020-08-10 10:03:12 +10:00
mhefny
e137698a4a
AP_HAL_Linux: Fix RCInput_RPI Segmentation Fault
2020-08-08 10:01:57 -07:00
Andrew Tridgell
c5a60c31a7
HAL_Linux: fixed build warnings in RC input methods
2020-07-07 10:23:00 +10:00
Peter Barker
f3bee7fa03
AP_HAL_Linux: correct clearing of UART drivers
2020-06-03 17:00:44 +10:00
Peter Barker
1ebfc79eb0
AP_HAL_Linux: enable console for examples
...
Turns out we *do* need this for examples. We're back to stuffing up
terminals where examples have been run, but that can be addressed later.
2020-05-28 13:49:47 +10:00
Peter Barker
9a9743e6ba
AP_HAL_Linux: add discard_input method on UARTDriver
2020-05-26 09:20:32 +10:00
Lucas De Marchi
29d8586ea4
AP_HAL_Linux: RCInput_UDP: accept up to 16 channels
...
This allows more channels to be passed to RCInput_UDP protocol while
also allowing less than 8 channels - this is similar to the approach
used by SITL in which the packet size is used to figure out the number
of channels.
2020-05-03 00:07:52 -07:00
Patrick José Pereira
3268c234d8
AP_HAL_Linux: Add PAGE_SIZE in RCInput_RPI
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-04-29 02:12:58 -07:00
Patrick José Pereira
32c0e37512
AP_HAL_Linux: Organize and document GPIO_RPI class
...
- Move macros to functions and improve explanation about logic behind it
- Break code in functions to make it more readable
- Add doxygen comments about functions and how they work in a comprehensive manner
- Improve general code maintainability
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-04-29 02:12:58 -07:00
Patrick José Pereira
c83ce93165
AP_HAL_Linux: Add missing wscript for GPIOTest
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-04-17 15:59:25 +10:00
Peter Barker
a3e2e156e7
AP_HAL_Linux: do not create ConsoleDevices for Replay or examples
...
Uusally problems evidence themsleves with stdin not working correctly -
for example, "git add -p" skipping through all queries as if the
user was just pressing enter.
2020-03-31 11:22:21 +11:00
Patrick José Pereira
e65cc35fb0
AP_HAL_Linux: Use template to generate raspberry pins
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-03-15 22:35:50 -07:00
Peter Barker
f8058bcf70
AP_HAL_Linux: avoid segfaults during early panics
...
singletons failing to be singleton can cause the segfaults. This is
more a tidiness thing - but better not to have cascading failures.
2020-03-10 10:45:09 +11:00
Peter Barker
c917cd4dbb
AP_HAL_Linux: make a static-const hal references references to external symbol
2020-03-03 10:12:14 +11:00
Andy Piper
127a0e9b41
AP_HAL_Linux: add in empty dsp driver
2020-02-22 11:15:37 +11:00
Andrew Tridgell
cbbf61af93
HAL_Linux: fixed bitmask error on storage erase
2020-01-31 11:06:29 +11:00
Andrew Tridgell
a153799e26
HAL_Linux: support inverted 115200 protocols
...
this allows for FrSky FPort input
2020-01-19 21:10:00 +11:00
Andrew Tridgell
4b9442dad7
AP_HAL_Linux: make all semaphores recursive
...
the cost is very similar and this prevents an easy coding error which
can occur on less used code paths
2020-01-19 20:19:30 +11:00
Andrew Tridgell
67bd4ed396
AP_HAL_Linux: use take_blocking instead of HAL_SEMAPHORE_BLOCK_FOREVER
...
this makes for cleaner and smaller code as the failure case is not
needed
2020-01-19 20:19:30 +11:00
Patrick José Pereira
0c0d97debe
AP_HAL_Linux: Add storage-directory argument in usage
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-01-18 17:03:20 +11:00
Patrick José Pereira
6518d6dc4d
AP_HAL_LINUX: Add support for Raspberry Pi 4
...
The Raspberry Pi 4 uses a new BCM cpu, the BCM2711 with
a peripheral base address of 0xFE000000
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-01-16 08:03:34 +11:00
Patrick José Pereira
6230524636
AP_HAL_Linux: Add navigator board
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-01-16 08:01:54 +11:00