Commit Graph

812 Commits

Author SHA1 Message Date
Kevin O'Connor 1b801508ba stm32: Add comments to configuration of OSPEEDR gpio speed
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-12 13:32:46 -04:00
Kevin O'Connor 9d9fe3cb1b stm32: Rework #if pin definition clauses in hard_pwm.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-11 21:43:56 -04:00
jrhelbert dbafeb8876
stm32: Adding Hardware PWM support for the STM32F4 processors (#4693)
This change has been expanded to include all STM32F4 processors, since they share a common TIMER mapping with some processors just not having all of the timers and pins.

Signed-off-by: Jerome Helbert <jerome@helbert.net>
2021-10-11 16:31:27 -04:00
Manuel Fichtner 5d52a3b19f
config: Anycubic Vyper (#4740)
This commit contains a configuration for the Anycubic Vyper printer from 2021.
It uses a clone of the STM32F103 chip named GD32F103.
There are 2 Mainboard versions out there v0.0.5 and v0.0.6, this config has
been tested with the v0.0.6 only. It should probably work for v0.0.5 as well
since there are no different changes in the Anycubic Marlin firmware.
The LCD is not supported yet (might work, but didn't try yet).

Signed-off-by: Marc Neuhaus <marc@neuhaus.nrw>
Signed-off-by: Manuel Fichtner <manuel.fichtner@me.com>
2021-10-11 16:26:14 -04:00
Simon Kühling d90da37433 atsamd: Add i2c_read() implementation
Signed-off-by: Simon Kühling <mail@simonkuehling.de>
2021-10-06 21:27:51 -04:00
Kevin O'Connor e3905eb241 stm32: Add an MACH_STM32F4x5 alias for F405, F407, and F429 chips
The F405, F407, and F429 chips are in the same series and almost all
code definitions should apply to all chips in that series.  Implement
the alias and fix defintions in adc.c and Kconfig that were only
applying to a subset of that series.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-06 19:56:46 -04:00
D4SK c1136bef10 stm32: Add hardware pwm for stm32h7
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-06 18:20:29 -04:00
D4SK 0a55489e2c stm32: Add initial support for stm32h7
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-06 18:20:29 -04:00
D4SK 28b3c9e88c armc_boot: Support cortex-m7 chips
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-06 18:17:06 -04:00
D4SK a05650f33c armcm_irq: Support cortex-m7 chips
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-06 18:17:06 -04:00
Kevin O'Connor 8cf1b51223 linux: Support spidev4 through spidev7
The rpi4 has additional spi devices.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-09-15 11:06:10 -04:00
Kevin O'Connor 22167f9510 adxl345: Compress each sample from 6 bytes to 5 bytes
Transmit data from mcu to host using 5 bytes per sample and up to 10
samples per message block.  This improves bandwidth efficiency.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:25:50 -04:00
Kevin O'Connor e34137582d adxl345: Implement timing via new adxl345_status messages
Query the adxl345 message counter every 100ms so that accurate timing
can be obtained during measurements.  This allows the adxl345 data to
be exported with timestamps while captures are running.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:25:50 -04:00
Kevin O'Connor 3f46609c1d usb_cdc: Increase USB transmit size
Increase the transmit buffer size to better support bulk transmission
of sensor data.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:12:11 -04:00
Michael Kurz efbb704522 lpc176x: Fix wrong inital value at PWM setup
This fixes a PWM going to full scale output when a initial value != 0 was
given. The output was on 100% until another update occurred.

This change enables the PWM counter before setting the channel values.

Fixes KevinOConnor/klipper#4559

Signed-off-by: Michael Kurz <michi.kurz@gmail.com>
2021-08-23 21:29:29 -04:00
Kevin O'Connor 7fddc5a8fa avr: Fix typo causing broken gpio mappings
Commit 070fac07 had a typo causing two PINE definitions to be added to
the list of available GPIOs.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-15 09:48:33 -04:00
Kevin O'Connor 070fac0702 avr: Define PORTE on atmega328p
The atmega328pb supports PORTE, but the current avr-libc toolchain
doesn't support the atmega328pb.  So, for now, add support for PORTE
to atmega328p.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-14 22:00:17 -04:00
Kevin O'Connor cf3c7cd99a avr: Rename the analog-only PE0/PE1 pins on atmega168/328 to PE2/PE3
The atmega328pb has officially named these pins as PE2 and PE3, so use
that naming scheme instead of the previous Klipper invented names.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-14 22:00:17 -04:00
Kevin O'Connor 0971a8c2e1 stm32: Support PB7/PB6 for USART1 on stm32f0
Add support for USART1 on PB7/PB6.

Remove STM32_SERIAL_USART1_ALT_PA15_PA14 option and allow all serial
mappings to be used on stm32f031.

Reported by @Desuuuu.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-01 13:46:31 -04:00
Simon Hawkenson 698ca1d0ae
stm32: Add 16KiB bootloader option for STM32F103 (#4493)
The Eryone ER-20 is a STM32F103 based 3D printer which ships with a 16KiB bootloader. Their official version of Marlin starts at 0x08004000.

Signed-off-by: Simon Hawkenson <simon@hawkenson.ca>
2021-07-15 14:09:56 -04:00
Lasse Dalegaard 84523f2811 rp2040: implement SPI
This implements SPI for the rp2040 target. All output groupings of both
SPI blocks are available for use.

Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
2021-07-15 13:30:20 -04:00
Lasse Dalegaard 28f60f7ef6 rp2040: hardware PWM support
This implements hardware PWM support for the rp2040. The maximum
value(100% duty) is set to 255 to match the other controllers. Cycle
time is clamped automatically, and uses the full 8.4 fractional range of
the rp2040 PWM block. This allows a maximum PWM frequency of 490kHz and
a minimum frequency of 1915 Hz.

Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
2021-07-09 11:23:48 -04:00
Henky Prayoga 4802c6d86a
stm32: Allow STM32F401 boards to use STM32 HID Bootloader (#4461)
Signed-off-by: Henky Prayoga <henky.prayoga@callysta-engineering.com>
2021-07-09 11:20:30 -04:00
Kevin O'Connor f2b4d353d8 rp2040: Add _ramfunc macro to internal.h and use in bootrom.c and chipid.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-07-04 12:45:27 -04:00
Lasse Dalegaard ba958468b7 rp2040: add chipid support
The rp2040 doesn't have a chip ID, but the flash chip connected does. We
can get this ID by asking the flash chip directly, but doing so requires
disengaging the XIP layer, performing the interrogation of the flash
chip, and then re-enabling the XIP layer. This gives us a 64-bit unique
ID that we can use as our USB serial number.

Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
2021-07-04 12:43:45 -04:00
Lasse Dalegaard 0597210cb9 rp2040: support usb_request_bootloader
Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-07-04 11:30:19 -04:00
Lasse Dalegaard bb2f27f928 rp2040: remove unused linker option
In binutils 2.36 and above the -nostartfiles option is no longer
ignored. -nostartfiles is actually a gcc option, and so isn't supported
by ld. Earlier versions of binutils however had less error checking, and
thus just ignored the option.

Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
2021-07-04 16:36:52 +02:00
Kevin O'Connor c5667193c9 rp2040: Initial USB support
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-07-04 10:11:02 -04:00
Kevin O'Connor 59fe878241 rp2040: Add initial adc support
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-07-04 10:11:02 -04:00
Kevin O'Connor 045bfa4e8d rp2040: Add initial support for the rp2040 mcu
Support the rp2040 (as tested on a Raspberry Pi Pico board).  This
adds basic uart, timer, gpio, and watchdog support.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-07-04 10:11:02 -04:00
Kevin O'Connor 1b79ffcad2 lcd_st7920: Check CONFIG_MACH_AVR for slow mcus
Use CONFIG_MACH_AVR instead of CONFIG_CLOCK_FREQ to check for slow
mcus.  Some fast MCUs do not export a high clock frequency.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-07-04 10:11:02 -04:00
Kevin O'Connor b55703d837 Makefile: Allow CONFIG_HAVE_GPIO_BITBANGING when not CONFIG_HAVE_GPIO_SPI
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-07-04 10:11:02 -04:00
Kevin O'Connor 1e11b76379 usb_cdc: Add comments on debugging USB connections via UART
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-07-04 10:11:02 -04:00
henrikssn 430578957f
stm32: Add support for STM32F072 (used in the TurboCAN board) (#4412)
* Add menuconfig option for stm32f072
* Add support for internal temp of stm32f072
* Share the temperature calculation logic between stm32f0x2 MCUs

Signed-off-by: Erik Henriksson <erikhenrikssn@gmail.com>
2021-06-27 20:35:34 -04:00
github@matthewlloyd.net 23f466bfce config: Add configs for Prusa Buddy and Mini+
Signed-off-by: Matthew Lloyd <github@matthewlloyd.net>
2021-06-14 12:37:34 -04:00
Kevin O'Connor 05c2d51a12 trsync: Introduce new "trigger synchronization" support
Separate out the stepper stopping code from endstop.c into its own
trsync.c code file.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-06-09 18:58:35 -04:00
Sergey Alirzaev c19d1fbb59 Makefile: Include debug symbols in the .elf
Signed-off-by: Sergey Alirzaev <zl29ah@gmail.com>
2021-06-08 19:29:16 -04:00
Kevin O'Connor bd65c37ed5 atsamd: Add support for 25Mhz crystals
Needed for the Duet3 Mini 5+ board.  Reported by @lukeslaboratory.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-06-04 17:48:21 -04:00
Kevin O'Connor 6266e7c259 atsamd: Fix pll reference in samd51 config_dpll()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-06-04 17:02:17 -04:00
Kevin O'Connor d619796495 Revert "linux: Raise an error if configuring a pullup when that is not supported"
This reverts commit 70ea0806d9.

The above commit breaks software spi on linux hosts.  Revert that
commit until an improved error check can be implemented.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-05-27 11:33:24 -04:00
Kevin O'Connor 4ea434796b stm32: Support spi1 on PB4/PB5/PB3 on stm32f103 and stm32f2
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-05-26 00:04:30 -04:00
Kevin O'Connor f99dca0918 stm32: Allow alternate USART1 and USART2 ports on stm32f1 and stm32f2
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-05-25 23:50:28 -04:00
Kevin O'Connor 273106358d stm32: Reorganize stm32f1 pin remap handling
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-05-25 23:50:28 -04:00
Kevin O'Connor 12acb99a38 stm32: Fix USART3 on stm32f1 and stm32f2
Commit 6a3c357a incorrectly disabled support for USART3 on stm32f1 and
stm32f2 - restore that support.

Also, add support for USART3 on PD9/PD8 on stm32f103.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-05-25 22:13:09 -04:00
Kevin O'Connor b1f6a608c3 lpc176x: Add support for serial on UART3 P4.29/P4.28
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-05-25 12:58:26 -04:00
Kevin O'Connor ce8fe615ed lpc176x: Move pin definitions together in serial.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-05-25 12:44:13 -04:00
Kevin O'Connor 6a3c357a50 stm32: Add alternate serial ports on stm32f4
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-05-24 21:17:51 -04:00
Kevin O'Connor c1e8ee58e7 stm32: Include pin names in STM32_SERIAL_USART?_ALT kconfig symbols
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-05-24 21:06:04 -04:00
Kevin O'Connor 338bc82d0b stm32: Allow 32KiB bootloader on stm32f446
Useful on the Octopus board.  Reported by @bigtreetech.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-05-20 19:12:09 -04:00
Kevin O'Connor 1ed67120cd debugcmds: Remove start/end_group commands
These commands were never used by the main code and are not
particularly helpful for debugging.  Remove them to reduce code size -
in particular on the pru architecture.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-05-07 13:53:47 -04:00