aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* misc: Import misc.h in all files defining console_sendf()Kevin O'Connor2022-05-133-0/+3
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Remove unused header from can.cKevin O'Connor2022-05-101-1/+0
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* canbus: Rename CANBUS_CMD_SET_NODEID to CANBUS_CMD_SET_KLIPPER_NODEIDKevin O'Connor2022-05-101-5/+5
| | | | | | | Rename the command name for consistency with the canbus_query.py script. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: add 8 KiB bootloader option for F0x2 devicesEric Callahan2022-05-101-1/+1
| | | | Signed-off-by: Eric Callahan <arksine.code@gmail.com>
* canbus: send 8 bytes in the id responseEric Callahan2022-05-101-1/+2
| | | | | | | The last byte contains the "node id" command, which is used to identify the application. Signed-off-by: Eric Callahan <arksine.code@gmail.com>
* canbus: add bootloader supportEric Callahan2022-05-101-0/+27
| | | | | | | | | This adds a command which allows an external script to broadcast a bootloader request, using a supplied UUID to match the request. Included is a method to process requests to enter the canboot bootloader. Signed-off-by: Eric Callahan <arksine.code@gmail.com>
* stm32: Fix typo in i2c.cKevin O'Connor2022-05-071-2/+2
| | | | | | Reported by @kaidegit. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Add 64kib bootloader offset option to STM32F401 (#5457)JamesH19782022-04-251-1/+1
| | | | | This is needed for the Creality Ender 3 S1 with the STM32F401 chips to enable a 64kib bootloader offset Signed-off-by: James Hartley <james@hartleyns.com>
* spicmds: Allow inversion of CS pin for SPI bussesMartin Hierholzer2022-04-221-12/+14
| | | | | Signed-off-by: Martin Hierholzer <martin@hierholzer.info> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Add STM32F072 16KiB bootloader option (#5404)alstoepp2022-04-131-1/+1
| | | Signed-off-by: Alexander Stöpperger <a.stoepperger@gmx-topmail.de>
* stm32: Add support for additional i2c busesKevin O'Connor2022-04-111-0/+17
| | | | | | Reported by @StoneColdCrazy. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* sensor_angle: Support TLE5012b frame counter for timingKevin O'Connor2022-03-291-14/+57
| | | | | | | Use the tle5012b internal frame counter to calculate the time of each measurement. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* sensor_angle: Add support for bulk querying of spi angle sensorsKevin O'Connor2022-03-294-1/+291
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* atsam: Fix typo in sam4e_afecAlex Maclean2022-03-281-1/+1
| | | | | | | | Accidentally introduced in 80492432210f1cf7817b7808245d196f3420021e, renders the AFE non-functional on SAME70. Should have had little impact on SAM4E. Signed-off-by: Alex Maclean <monkeh@monkeh.net>
* atsam: Add support for SAM E70Alex Maclean2022-03-2615-74/+425
| | | | Signed-off-by: Alex Maclean <monkeh@monkeh.net>
* linux: Update i2c.c (#5295)Blinker732022-03-141-1/+1
| | | | | | | | | | | | | | | Similarly to commit 8cf1b512 for SPI, the Rpi4 has more i2c busses to offer This change allows klipper to use up to I2c bus 6 /boot/configtxt dtparam=i2c_arm=on dtoverlay=i2c6 and pi@fluiddpi:~ $ ls -1 /dev/i2c* /dev/i2c-1 /dev/i2c-6 Signed-off-by: Sylvain Dansereau <brutus_dansereau@hotmail.com>
* stm32: Allow 32KiB bootloader to be specified for all STM32F4 buildsKevin O'Connor2022-03-141-1/+1
| | | | | | Reported by @GerogeFu. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Clarify CCIPR2 setting in stm32g0.cKevin O'Connor2022-03-111-1/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Simplify CCIPR2 register assignment on stm32g0Kevin O'Connor2022-03-091-5/+2
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: USB clock source from PLLQCLK on stm32g0 (#5341)BIGTREETECH2022-03-091-6/+4
| | | Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
* lpc176x: Fix serial ordering of initializationKevin O'Connor2022-03-011-1/+1
| | | | | | | The serial device needs to be enabled before setting the DLAB bit. This prevented UART3 from working. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Clear SPE flag on a change to SPI CR1 registerKevin O'Connor2022-02-101-0/+6
| | | | | | | | | The stm32 specs indicate that the SPE bit must be cleared before changing the CPHA or CPOL bits. Reported by @cbc02009 and @bigtreetech. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Wait for transmission to complete before returning from spi_transfer()Kevin O'Connor2022-02-101-2/+5
| | | | | | | | | | | | | It's possible for the SCLK pin to still be updating even after the last byte of data has been read from the receive pin. (In particular in spi mode 0 and 1.) Exiting early from spi_transfer() in this case could result in the CS pin being raised before the final updates to SCLK pin. Add an additional wait at the end of spi_transfer() to avoid this issue. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Fix ADC on stm32h7 (#5239)adelyser2022-02-061-1/+3
| | | | | | Don't reset the ADC peripheral if the clock is already enabled. Fixes #5236 Signed-off-by: Aaron DeLyser <bluwolf@gmail.com>
* flash_usb: use sudo for rp2040 flashingLasse Dalegaard2022-01-311-1/+1
| | | | | | | | | | | The rp2040 can be flashed without sudo when using udev rules to give the user permission, but in a standard configuration sudo is required. Here we make it possible for flash_usb to use sudo for the rp2040 target, and make it the default when using `make flash` for the rp2040. As for other targets, one can set `NOSUDO=1` to not call through sudo. Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
* stm32: Add remap CAN to PD0/PD1 for stm32f103 (#5173)Sergey15602022-01-262-1/+4
| | | Signed-off-by: Sergey Terentiev <sergey@terentiev.me>
* rp2040: implement I2CLasse Dalegaard2022-01-124-0/+227
| | | | | | | This implements I2C for the rp2040 target. All output groupings of both I2C blocks are available for use. Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
* stm32: Update Kconfig as CANBUS isn't available on stm32f401Kevin O'Connor2022-01-071-8/+15
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* rp2040: add make flash supportLasse Dalegaard2022-01-061-6/+7
| | | | | | | | | | | | | | | | This adds `make flash` support for the rp2040 target. Flashing is performed using a custom `rp2040_flash` tool that uses the PICOBOOT protocol. Root is not required. The user specifies the serial device of the rp2040 they wish to flash as the device. This device is reset into bootsel mode and `rp2040_flash` is invoked on the original USB device path. If the device is already in bootloader mode, the user can specify 'first' as `FLASH_DEVICE` which will simply invoke `rp2040_flash` with no bus/address options. Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
* stm32: Unify enable_pclock() codeKevin O'Connor2021-12-308-238/+125
| | | | | | | | | Unify the handling of the enable_pclock() and is_enabled_pclock() code across all stm32 chips. All chips will now perform a peripheral reset on enable_pclock() (this is a change for stm32f0 and stm32h7). The enable_pclock() code will now also disable irqs during the enable. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Fix the GPIO register for stm32h7 (#5077)adelyser2021-12-291-3/+3
| | | Signed-off-by: Aaron DeLyser <bluwolf@gmail.com>
* stm32: Fix ADC on stm32f042Kevin O'Connor2021-12-241-0/+1
| | | | | | It seems the stm32f042 chip needs a small delay during ADC enable. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Enable SPI support on stm32g0Kevin O'Connor2021-12-232-4/+8
| | | | | Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Enable ADC support on stm32g0Kevin O'Connor2021-12-233-12/+51
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Rework register access on stm32f0_adc.cKevin O'Connor2021-12-231-34/+25
| | | | | | | | | | | Avoid read-modify-write operations where possible. The register values are in a known state so prefer absolute writes. Improve handling of race conditions with hardware updates. Remove the adc reference from "struct gpio_adc" as it is a constant. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Minor whitespace changes to stm32f0_adc.cKevin O'Connor2021-12-231-12/+8
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Enable I2C on stm32g0Kevin O'Connor2021-12-232-1/+2
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Add support for USB on stm32g0Kevin O'Connor2021-12-232-21/+70
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Rework USB transfer memory layout in usbfs.cKevin O'Connor2021-12-231-46/+55
| | | | | | | | | Use a fixed layout for the USB transfer memory and remove the ep_mem struct definition. This is in preparation for stm32g0 support. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Fix buffer size calculation in usbfs.cKevin O'Connor2021-12-231-1/+1
| | | | | | When the buffers are over 32 bytes, a block count of 1 starts at 0. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Simplify irq declaration in usbfs.cKevin O'Connor2021-12-231-11/+11
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Initial support for stm32g0Kevin O'Connor2021-12-236-8/+253
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Enable optimized gpio_clock_enable() function on stm32h7Kevin O'Connor2021-12-231-1/+3
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Reorganize stm32h7.c into major code blocksKevin O'Connor2021-12-231-10/+21
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Remove USB boot stubs from stm32h7.cKevin O'Connor2021-12-231-8/+0
| | | | | | | The USB dfu bootloader wasn't enabled on stm32h7, so remove the copy-and-paste code stubs for it. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Fix DFU entry point on stm32f072Kevin O'Connor2021-12-231-0/+2
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Reorganize usb bootloader code in stm32f0.cKevin O'Connor2021-12-231-38/+65
| | | | | | Reorganize stm32f0.c into major code blocks. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Reorganize usb bootloader code in stm32f4.cKevin O'Connor2021-12-231-30/+63
| | | | | | Reorganize stm32f4.c into major code blocks. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Reorganize code in stm32f1.cKevin O'Connor2021-12-231-47/+82
| | | | | | Reorganize stm32f1.c into major code blocks. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Add new gpioperiph.c file for gpio_peripheral() codeKevin O'Connor2021-12-235-83/+45
| | | | | | | | The gpio_peripheral() code is the same in stm32f0.c, stm32f4.c, and stm32h7.c. Move that function to a new gpioperiph.c file to avoid code duplication. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>