Kevin O'Connor
bde6215c3f
stm32: Enable ADC3 pins on stm32f446
...
Reported by @bigtreetech.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-05-06 12:43:13 -04:00
Kevin O'Connor
45cd3543e3
lpc176x: Use full peripheral clock speed; fix UART interface
...
Commit ae89a659
caused a regression in the lpc176x UART handling.
After that commit the UART clock divisor would need to be 6.25 on
lpc1768 or 7.5 on lpc1769, but the code only supports whole numbers.
Set the PCLKSELx registers at startup and return to using full speed
peripheral clocks.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-05-04 20:29:48 -04:00
Wilhelm Schuster
1fb091c4fa
stm32: Allow selecting bootloader size for STM32F446
...
Signed-off-by: Wilhelm Schuster <ws@rot13.io>
2021-05-03 14:36:18 -04:00
Kevin O'Connor
edea52863a
endstop: Report trigger time in endstop_query response
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-30 11:40:37 -04:00
Kevin O'Connor
470b1e2e46
adxl345: Use "clock" suffix instead of "time" in commands
...
The debugging code knows how to handle fields that end in "clock".
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-30 11:40:37 -04:00
Kevin O'Connor
b611e72a19
pulse_counter: Use "clock" suffix instead of "time" in commands
...
The debugging code knows how to handle fields that end in "clock".
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-30 11:40:37 -04:00
Kevin O'Connor
8f76e53c0e
stepper: Remove min_stop_interval from mcu code
...
Now that the host never uses a min_stop_interval, remove it from the
mcu code.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-30 11:26:19 -04:00
Kevin O'Connor
70ea0806d9
linux: Raise an error if configuring a pullup when that is not supported
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-25 11:54:11 -04:00
Kevin O'Connor
3dadcd3614
linux: Minor formatting, variable name, and error reporting changes
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-25 11:12:46 -04:00
Michael Kurz
308f0338cf
lpc176x: Add i2c_read functionality
...
This adds the i2c_read command to the lp176x MCU.
Signed-off-by: Michael Kurz <michi.kurz@gmail.com>
2021-04-25 10:37:28 -04:00
pkElectronics
dd7085cbca
stm32: Added mcu temperature support additional mcu ( #4211 )
...
Enabled MCU_Temperature sensor for STM32F405 based boards
Signed-off-by: Pascal Wistinghausen <pascal.wistinghausen@ib-wistinghausen.de>
2021-04-25 10:35:15 -04:00
Kevin O'Connor
acd94909bc
linux: Don't use timer_repeat_until for linux "irq" polling
...
Use a simpler counter system to prioritize tasks and irqs when busy.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-21 22:02:08 -04:00
Kevin O'Connor
92fe116dc7
sched: Call irq_poll() at start of run_tasks() loop
...
On architectures that poll for irqs, check for any pending irqs prior
to checking if tasks are idle.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-21 19:38:31 -04:00
Kevin O'Connor
8f9e497d69
linux: Rework timer_check_periodic() to use ticks
...
Avoid using a 'struct timespec' to simplify the code.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-19 09:50:40 -04:00
Kevin O'Connor
e0aba590f9
linux: Move timer fields into a struct
...
Storing the fields in a struct allows gcc to optimize memory pointers.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-19 08:53:47 -04:00
Kevin O'Connor
db0fb5d596
linux: Avoid calling timer_read_time() in timer_dispatch() when not needed
...
The timer_read_time() call can be expensive - when the next timer is
definitely pending, avoid making that call.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-18 13:12:32 -04:00
Kevin O'Connor
89af88d016
linux: Simplify timer dispatch code
...
Implement rescheduling math using the simple 32-bit timer instead of
the Unix timespec struct. This makes the code simpler and doesn't
adversely impact the overall performance.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-18 12:25:50 -04:00
Kevin O'Connor
d5c72e3693
linux: Fix local timer_repeat_until cache in timer.c
...
Make sure to update the local copy of timer_repeat_until when updating
it.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-18 12:17:00 -04:00
Oliver
41999eb94d
stm32: CAN Kconfig typo
...
Fixed simple typo in the Kconfig and can.c. stm32f4 CAN Pins
Signed-off-by: Oliver Walter <oli1111@web.de>
2021-04-07 13:06:13 -04:00
Arksine
689c2f9baf
stm32f1: reset peripherals in enable_pcclock()
...
Some bootloaders do not disable peripherals in use before jumping to the application. Reset peripherals to assure correct operation.
SIgned-off-by: Eric Callahan <arksine.code@gmail.com>
2021-04-07 12:57:21 -04:00
Michael Kurz
59c4c49893
stm32: Add hardware PWM support for STM32F1
...
This adds hardware PWM support for STM32F1 processors.
This should also work for STM32 F0/F2/F4 processors, but I
don't have one of those to test it.
Signed-off-by: Michael Kurz <michi.kurz@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-26 12:04:51 -04:00
Michael Kurz
39188e1cf3
lpc176x: Add hardware PWM support for LPC176x
...
This adds hardware PWM support for LPC176x processors.
Signed-off-by: Michael Kurz <michi.kurz@gmail.com>
2021-03-26 12:01:42 -04:00
Kevin O'Connor
ae89a65956
lpc176x: Do not modify PCLKSELx at runtime
...
The lpc176x has an errata that could cause updates to PCLKSELx to not
take effect. Rework the code to use the default peripheral clock
speed (25Mhz or 30Mhz) so that this register does not need to be
updated at runtime.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-25 11:35:04 -04:00
Kevin O'Connor
6cab7bcfcb
lpc176x: Introduce get_pclock_frequency()
...
Add get_pclock_frequency() - a standard way of obtaining the
peripheral clock frequency.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-25 11:35:04 -04:00
Evgeny Chukreev
8c369b54ab
ds18b20: Segmentation fault on 64bit Raspberry Pi
...
Signed-off-by: Evgeny Chukreev <Evgeny.Chukreev@gmail.com>
2021-03-19 11:18:51 -04:00
Kevin O'Connor
4566392faf
stm32: Minor optimization to can.c IRQ data reading
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-18 16:55:04 -04:00
Kevin O'Connor
fee84c2afb
canbus: Support reading CAN packets directly from IRQ handler
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-18 15:58:09 -04:00
Kevin O'Connor
d5a3ef6c40
avr: Fix Kconfig USB/Serial selection
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-18 14:45:12 -04:00
Kevin O'Connor
2024451f50
lpc176x: Use "communication interface" menu option in Kconfig
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-18 14:23:24 -04:00
Kevin O'Connor
1804fbfce9
atsamd: Use "communication interface" menu option in Kconfig
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-18 14:23:14 -04:00
Kevin O'Connor
6a4f1ece89
atsam: Use "communication interface" menu option in Kconfig
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-18 14:22:57 -04:00
Kevin O'Connor
c5f21aa16c
avr: Use "communication interface" menu option in Kconfig
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-18 14:22:15 -04:00
Kevin O'Connor
1eddc0fd90
stm32: Simplify USB/Serial/CANbus Kconfig selection
...
Combine the various communication options into a single "make
menuconfig" menu item.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-18 13:33:33 -04:00
Kevin O'Connor
6cb419a90a
canbus: Rework CAN command protocol
...
Rework the micro-controller command protocol so that it supports
direct communication with the serialqueue.c code.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-13 11:29:41 -05:00
Matt Baker
3f07b16b35
armcm_boot: Improve ARM Cortex-M control transfer from bootloaders ( #4024 )
...
Signed-off-by: Matt Baker <baker.matt.j@gmail.com>
2021-03-09 09:32:20 -05:00
Michael Kurz
ab979a52cf
stm32: Add support for STM32F1 I2C1 alternate pin mapping ( #4012 )
...
This adds support for the alternate pin mapping of
I2C1 on PB8/9 in STM32F1 devices
Signed-off-by: Michael Kurz <michi.kurz@gmail.com>
2021-03-02 23:02:20 -05:00
Adrian Keet
16d85d1a78
fan: Add tachometer support
...
This adds new config options for fans: 'tachometer_pin' to specify the
GPIO pin, and 'tachometer_ppr' (default 2) to specify the number of
signal pulses per revolution. The rpm is also exposed by get_status for
command templates and the API server. For fast fans (at least 10000
RPM), the polling interval can be shortened using the
'tachometer_poll_interval' option.
There is a new mcu object for a generic edge counter, which repeatedly
polls a GPIO pin and periodically reports the count to the host.
Signed-off-by: Adrian Keet <arkeet@gmail.com>
2021-03-01 14:53:13 -05:00
Kevin O'Connor
c4edc7d946
stm32: Add support for 48KiB bootloaders
...
Reported by @mks-viva.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-20 09:37:43 -05:00
Kevin O'Connor
267a2f3a38
stm32: Optimize stm32f401 peripheral clock
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-19 12:19:32 -05:00
Arkadiusz Raj
90ffa0685f
stm32: stm32f401 pll_freq updates
...
Signed-off-by: Arkadiusz Raj <arek.raj@gmail.com>
2021-02-19 12:15:44 -05:00
Arkadiusz Raj
28e41806f5
stm32: 25MHz clock fixes
...
Signed-off-by: Arkadiusz Raj <arek.raj@gmail.com>
2021-02-19 12:15:31 -05:00
Arkadiusz Raj
a6e28f7d6a
stm32: Fix missing STM32F429 clock initialization
...
Signed-off-by: Arkadiusz Raj <arek.raj@gmail.com>
2021-02-19 12:14:55 -05:00
Arkadiusz Raj
7f63efdcea
stm32: F429 shall use 168Mhz to allow easy USB clock configuration
...
Signed-off-by: Arkadiusz Raj <arek.raj@gmail.com>
2021-02-19 12:14:19 -05:00
Arek
e6d1910ef9
stm32: Add STM32F429 variant ( #3926 )
...
* Add F429 variant; add CAN on PD0,PD1; add 25Mhx clock; move CAN1_RX from PI8 to correct position (PI9)
* Add test for STM32F429
Signed-off-by: Arkadiusz Raj <arek.raj@gmail.com>
2021-02-18 20:12:32 -05:00
Kevin O'Connor
fc783f9b83
stm32: Add support for spi bus on stm32f407 pins PI2,PI3,PI1
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-12 17:32:54 -05:00
Kevin O'Connor
6698b249ce
stm32: Minor indention change to spi.c
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-12 17:32:49 -05:00
Kevin O'Connor
d7bacae29d
pru: Request the host not send more than 496 bytes to the pru
...
Writes over 496 bytes don't fit in a single "rpmsg" page. Request the
host limit the number of bytes outstanding to avoid getting "write:
(22)Invalid argument" errors.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-12 11:23:29 -05:00
Kevin O'Connor
8666a724db
canbus: Call can_notify_rx() at startup so low-level code does not need to
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-09 18:51:03 -05:00
Kevin O'Connor
5c4cf54557
canbus: Rename canbus_set_dataport() to canbus_set_filter() and simplify
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-09 18:27:29 -05:00
Elias Bakken
8b443acae8
stm32: Adding support for STM32F031x6 ( #3871 )
...
Add support for alt usart 1
Do not select all functions on 16 K mcu
Signed-off-by: Elias Bakken <elias@iagent.no>
2021-02-03 12:23:17 -05:00