Ka Ru
ce177a3637
AP_HAL_Linux: add can-zero board
2023-12-05 07:41:06 -06:00
Thomas Watson
8fe95dca81
AP_HAL_Linux: introduce get_HAL_mutable() to complement get_HAL()
...
Returns a mutable reference to the same HAL for certain purposes where
the HAL needs to be mutated to avoid UB problems with casting away const
and to make the fact that mutation is happening obvious.
2023-11-28 08:24:25 +11:00
Willian Galvani
d33facd884
AP_HAL_Linux: add newline and remove stray semicolon
2023-10-31 20:34:24 -03:00
Willian Galvani
60a38a0ab1
AP_HAL_Linux: set bw_in_bytes_per_second default to 10/100Mbps connection
2023-10-31 11:00:28 +11:00
Andrew Tridgell
cb62e48164
HAL_Linux: use the AP_RCProtocol sbus decoder for Linux
2023-10-13 09:42:25 +11:00
Richard Allen
c8f9d193fb
AP_HAL_Linux: make all semaphores priority-inherit
2023-09-06 15:58:58 -05:00
Andrew Tridgell
559e85df11
HAL_Linux: inherit CAN stats structure
...
this allows for the last_transmit_us field
2023-09-05 06:56:51 +10:00
Andrew Tridgell
aaa2746bff
AP_HAL_Linux: added last_transmit_us to CAN stats
2023-09-05 06:56:51 +10:00
Willian Galvani
e82949d241
AP_HAL_Linux: update Navigator available GPIOs
...
The comment was wrong. gpio 26 is actually used for the PCA Output Enable signal.
This also adds GPIO18, which is the one broken out to the PWM0 pin
2023-09-04 18:06:37 +10:00
Andrew Tridgell
51af21f6d9
HAL_Linux: removed ESC scaling, moved to AP_HAL
2023-08-24 13:06:40 +10:00
Andrew Tridgell
8ed289a514
AP_HAL_Linux: removed native_millis/micros
2023-08-24 13:06:40 +10:00
Andrew Tridgell
25761c3a8e
AP_HAL_Linux: moved UART port locking up to AP_HAL
2023-07-12 17:06:02 +10:00
Peter Barker
9ee6be8a55
AP_HAL_Linux: fix help ouput from Options to Examples
2023-06-17 17:51:34 +10:00
Neil Bertram
dcafaf3ab2
AP_HAL_Linux: Improve the self-documentation and configuration of serial ports for the Linux HAL
2023-06-17 14:46:27 +10:00
Mohammad Hefny
9314163bb0
AP_HAL_Linux: Fix RPI check using enumerations
2023-06-17 14:44:38 +10:00
acxz
7aa8347374
AP_HAL_Linux: remove std:: scope from uint16_t
2023-05-17 11:15:43 +10:00
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