Mohammad Hefny
11944811df
AP_HAL_Linux: define board features on Linux module
3 years ago
Siddharth Purohit
35344d1aef
AP_HAL_Linux: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS
4 years ago
Tom Pittenger
4054b5e891
AP_HAL_Linux: AP::can().log_text() needs HAL_ENABLE_LIBUAVCAN_DRIVERS
4 years ago
Andrew Tridgell
dfc4b37df1
AP_HAL_Linux: removed perf counters
4 years ago
Andy Piper
ba96f4491d
AP_HAL_Linux: allow tone alarm types
4 years ago
Andrew Tridgell
fd3bf0f639
HAL_Linux: added --defaults option to Linux HAL
...
useful for initial parameters
4 years ago
Jacob Walser
5537f5564c
AP_HAL: update imu hardware for navigator r3
4 years ago
Jacob Walser
3a433cd71e
AP_HAL: update pwm hardware for navigator r3
4 years ago
Jacob Walser
421638453f
AP_HAL: update Notify LED hardware for navigator r3
4 years ago
MHefny
6bbfdbaf6a
AP_HAL_LINUX:fix missing setting physical address
4 years ago
MHefny
30382740d2
AP_HAL_Linux:fix code style
4 years ago
MHefny
8767112a77
AP_HAL_LINUX:remove duplicates and fix _version
4 years ago
MHefny
c57764e9b4
linux: RCInput_RPI RPI-4 Support
4 years ago
Peter Barker
d0b3b926c0
AP_HAL_Linux: split out a calculate_thread_priority method
4 years ago
Iampete1
4315a69b9d
AP_HAL_Linux: add semaphore to AnalogIn::channel to make it thread safe
4 years ago
Andrew Tridgell
0601259d20
AP_HAL_Linux: removed assert calls
...
these waste flash space and do not do us any good
4 years ago
Andrew Tridgell
9db0862d61
HAL_Linux: use nullptr for vnav rcinput
...
this makes it clearer what is going on
4 years ago
Andrew Tridgell
009cb8f62b
HAL_Linux: setup RCIN for vnav
4 years ago
Andrew Tridgell
16753a51f4
HAL_Linux: use ExpandingString
4 years ago
Andy Piper
74633e55cc
AP_HAL_Linux: rename system_initialized() and add is_system_initialized()
4 years ago
Andrew Tridgell
d6c5fc36d8
HAL_Linux: only init serial(0)
...
we should not pre-init all uarts, it wastes memory if unused
4 years ago
Andrew Tridgell
348dfeff6e
HAL_Linux: use a loop for serial tick
4 years ago
Andrew Tridgell
db76eebd85
AP_HAL_Linux: convert to using hal.serial() instead of hal.uartX
4 years ago
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
4 years ago
Jacob Walser
35c2d13e2f
HAL_Linux_Class: specify per board external clock frequency for RCOutput_PCA9685 drivers
4 years ago
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
4 years ago
bugobliterator
d0cf3365ee
AP_HAL_Linux: handle uninitialised soCAN file descriptor
4 years ago
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.
4 years ago
bugobliterator
ba576247f0
AP_HAL_Linux: configure filter only if in filtered mode
4 years ago
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
4 years ago
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>
5 years ago
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>
5 years ago
Siddharth Purohit
0e923fe061
HAL_Linux: add methods for native clock info methods
5 years ago
Siddharth Purohit
7de444ec53
HAL_Linux: add uavcan agnostic CANSocket Iface Driver
5 years ago
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.
5 years ago
mhefny
e137698a4a
AP_HAL_Linux: Fix RCInput_RPI Segmentation Fault
5 years ago
Andrew Tridgell
c5a60c31a7
HAL_Linux: fixed build warnings in RC input methods
5 years ago
Peter Barker
f3bee7fa03
AP_HAL_Linux: correct clearing of UART drivers
5 years ago
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.
5 years ago
Peter Barker
9a9743e6ba
AP_HAL_Linux: add discard_input method on UARTDriver
5 years ago
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.
5 years ago
Patrick José Pereira
3268c234d8
AP_HAL_Linux: Add PAGE_SIZE in RCInput_RPI
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
5 years ago
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>
5 years ago
Patrick José Pereira
c83ce93165
AP_HAL_Linux: Add missing wscript for GPIOTest
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
5 years ago
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.
5 years ago
Patrick José Pereira
e65cc35fb0
AP_HAL_Linux: Use template to generate raspberry pins
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
5 years ago
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.
5 years ago
Peter Barker
c917cd4dbb
AP_HAL_Linux: make a static-const hal references references to external symbol
5 years ago
Andy Piper
127a0e9b41
AP_HAL_Linux: add in empty dsp driver
5 years ago
Andrew Tridgell
cbbf61af93
HAL_Linux: fixed bitmask error on storage erase
5 years ago