From 16f54c820007e03e8d29c99bf3d341be3a72a629 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Mon, 27 Mar 2023 20:22:44 -0400 Subject: [PATCH 01/40] stale-issue-bot: Update github lock-threads action to v4 Update to latest version in hopes it will reduce failure reports. Signed-off-by: Kevin O'Connor --- .github/workflows/stale-issue-bot.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stale-issue-bot.yaml b/.github/workflows/stale-issue-bot.yaml index 3720e72cf4f6..b6369d8dced0 100644 --- a/.github/workflows/stale-issue-bot.yaml +++ b/.github/workflows/stale-issue-bot.yaml @@ -332,7 +332,7 @@ jobs: if: github.repository == 'Klipper3d/klipper' runs-on: ubuntu-latest steps: - - uses: dessant/lock-threads@v3 + - uses: dessant/lock-threads@v4 with: issue-inactive-days: '180' issue-lock-reason: '' From e93f39444c47e9a2ba7f3b7cfa942d9b87fd0a0b Mon Sep 17 00:00:00 2001 From: Chris Thompson Date: Mon, 27 Mar 2023 18:38:26 -0600 Subject: [PATCH 02/40] docs: Document how to connect ADXL345 to Pico then on to Pi. (#5996) This is based on documentation from: https://klipper.discourse.group/t/raspberry-pi-pico-adxl345-portable-resonance-measurement/1757 Signed-off-by: Christopher Thompson --- docs/Measuring_Resonances.md | 89 ++++++++++++++++++++++++- docs/img/adxl345-pico.png | Bin 0 -> 514492 bytes docs/img/flash_rp2040_FLASH_DEVICE.png | Bin 0 -> 17043 bytes docs/img/klipper_pico_menuconfig.png | Bin 0 -> 6030 bytes 4 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 docs/img/adxl345-pico.png create mode 100644 docs/img/flash_rp2040_FLASH_DEVICE.png create mode 100644 docs/img/klipper_pico_menuconfig.png diff --git a/docs/Measuring_Resonances.md b/docs/Measuring_Resonances.md index 63b61394774d..d09c305433ba 100644 --- a/docs/Measuring_Resonances.md +++ b/docs/Measuring_Resonances.md @@ -39,6 +39,7 @@ SCLK+CS ##### ADXL345 +###### Direct to Raspberry Pi **Note: Many MCUs will work with an ADXL345 in SPI mode(eg Pi Pico), wiring and configuration will vary according to your specific board and available pins.** @@ -60,6 +61,31 @@ Fritzing wiring diagrams for some of the ADXL345 boards: ![ADXL345-Rpi](img/adxl345-fritzing.png) +###### Using Raspberry Pi Pico + +You may connect the ADXL345 to your Raspberry Pi Pico and then connect the +Pico to your Raspberry Pi via USB. This makes it easy to reuse the +accelerometer on other Klipper devices, as you can connect via USB instead +of GPIO. The Pico does not have much processing power, so make sure it is +only running the accelerometer and not performing any other duties. + +In order to avoid damage to your RPi make sure to connect the ADXL345 to 3.3V +only. Depending on the board's layout, a level shifter may be present, which +makes 5V dangerous for your RPi. + +| ADXL345 pin | Pico pin | Pico pin name | +|:--:|:--:|:--:| +| 3V3 (or VCC) | 36 | 3.3V DC power | +| GND | 38 | Ground | +| CS | 2 | GP1 (SPI0_CSn) | +| SDO | 1 | GP0 (SPI0_RX) | +| SDA | 5 | GP3 (SPI0_TX) | +| SCL | 4 | GP2 (SPI0_SCK) | + +Wiring diagrams for some of the ADXL345 boards: + +![ADXL345-Pico](img/adxl345-pico.png) + #### I2C Accelerometers Suggested twisted pair order: @@ -164,6 +190,65 @@ probe_points: It is advised to start with 1 probe point, in the middle of the print bed, slightly above it. +#### Configure ADXL345 With Pi Pico + +##### Flash the Pico Firmware + +On your Raspberry Pi, compile the firmware for the Pico. + +``` +cd ~/klipper +make clean +make menuconfig +``` +![Pico menuconfig](img/klipper_pico_menuconfig.png) + +Now, while holding down the `BOOTSEL` button on the Pico, connect the Pico to +the Raspberry Pi via USB. Compile and flash the firmware. +``` +make flash FLASH_DEVICE=first +``` + +If that fails, you will be told which `FLASH_DEVICE` to use. In this example, +that's ```make flash FLASH_DEVICE=2e8a:0003```. +![Determine flash device](img/flash_rp2040_FLASH_DEVICE.png) + +##### Configure the Connection + +The Pico will now reboot with the new firmware and should show up as a serial +device. Find the pico serial device with `ls /dev/serial/by-id/*`. You can +now add an `adxl.cfg` file with the following settings: + +``` +[mcu adxl] +# Change to whatever you found above. For example, +# usb-Klipper_rp2040_E661640843545B2E-if00 +serial: /dev/serial/by-id/usb-Klipper_rp2040_ + +[adxl345] +cs_pin: adxl:gpio1 +spi_bus: spi0a +axes_map: x,z,y + +[resonance_tester] +accel_chip: adxl345 +probe_points: + # Somewhere slightly above the middle of your print bed + 147,154, 20 + +[output_pin power_mode] # Improve power stability +pin: adxl:gpio23 +``` + +If setting up the ADXL345 configuration in a separate file, as shown above, +you'll also want to modify your `printer.cfg` file to include this: + +``` +[include adxl.cfg] # Comment this out when you disconnect the accelerometer +``` + +Restart Klipper via the `RESTART` command. + #### Configure MPU-6000/9000 series With RPi Make sure the Linux I2C driver is enabled and the baud rate is @@ -228,7 +313,9 @@ Recv: // adxl345 values (x, y, z): 470.719200, 941.438400, 9728.196800 ``` If you get an error like `Invalid adxl345 id (got xx vs e5)`, where `xx` -is some other ID, it is indicative of the connection problem with ADXL345, +is some other ID, immediately try again. There's an issue with SPI +initialization. If you still get an error, it is indicative of the connection +problem with ADXL345, or the faulty sensor. Double-check the power, the wiring (that it matches the schematics, no wire is broken or loose, etc.), and soldering quality. diff --git a/docs/img/adxl345-pico.png b/docs/img/adxl345-pico.png new file mode 100644 index 0000000000000000000000000000000000000000..77bce31baebb0878cbd257927a726ca05e8eff97 GIT binary patch literal 514492 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

1}K|MKqT+N-sXO=GHLi9ZOr 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 literal 0 HcmV?d00001 diff --git a/docs/img/flash_rp2040_FLASH_DEVICE.png b/docs/img/flash_rp2040_FLASH_DEVICE.png new file mode 100644 index 0000000000000000000000000000000000000000..7687811e4514e76178636efea34685e0cae90921 GIT binary patch literal 17043 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 literal 0 HcmV?d00001 diff --git a/docs/img/klipper_pico_menuconfig.png b/docs/img/klipper_pico_menuconfig.png new file mode 100644 index 0000000000000000000000000000000000000000..478ee4a15437cba97f9913237e38e37488b7df7f GIT binary patch literal 6030 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 literal 0 HcmV?d00001 From 1a2033aba88e59c59ca4527378344e3407f08fdf Mon Sep 17 00:00:00 2001 From: Jess Date: Mon, 27 Mar 2023 21:09:46 -0400 Subject: [PATCH 03/40] scripts: add install script for Ubuntu 22.04 Jammy (#6112) python-dev package is not available on Jammy; specifies python3-dev. Signed-off-by: Jess Sullivan --- scripts/install-ubuntu-22.04.sh | 102 ++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 scripts/install-ubuntu-22.04.sh diff --git a/scripts/install-ubuntu-22.04.sh b/scripts/install-ubuntu-22.04.sh new file mode 100644 index 000000000000..e2b9580f5b05 --- /dev/null +++ b/scripts/install-ubuntu-22.04.sh @@ -0,0 +1,102 @@ +#!/bin/bash +# This script installs Klipper on an Ubuntu 22.04 ("Jammy") machine + +PYTHONDIR="${HOME}/klippy-env" +SYSTEMDDIR="/etc/systemd/system" +KLIPPER_USER=$USER +KLIPPER_GROUP=$KLIPPER_USER + +# Step 1: Install system packages +install_packages() +{ + # Packages for python cffi + PKGLIST="virtualenv python3-dev libffi-dev build-essential" + # kconfig requirements + PKGLIST="${PKGLIST} libncurses-dev" + # hub-ctrl + PKGLIST="${PKGLIST} libusb-dev" + # AVR chip installation and building + PKGLIST="${PKGLIST} avrdude gcc-avr binutils-avr avr-libc" + # ARM chip installation and building + PKGLIST="${PKGLIST} stm32flash dfu-util libnewlib-arm-none-eabi" + PKGLIST="${PKGLIST} gcc-arm-none-eabi binutils-arm-none-eabi libusb-1.0" + + # Update system package info + report_status "Running apt-get update..." + sudo apt-get update + + # Install desired packages + report_status "Installing packages..." + sudo apt-get install --yes ${PKGLIST} +} + +# Step 2: Create python virtual environment +create_virtualenv() +{ + report_status "Updating python virtual environment..." + + # Create virtualenv if it doesn't already exist + [ ! -d ${PYTHONDIR} ] && virtualenv -p python3 ${PYTHONDIR} + + # Install/update dependencies + ${PYTHONDIR}/bin/pip install -r ${SRCDIR}/scripts/klippy-requirements.txt +} + +# Step 3: Install startup script +install_script() +{ +# Create systemd service file + KLIPPER_LOG=/tmp/klippy.log + report_status "Installing system start script..." + sudo /bin/sh -c "cat > $SYSTEMDDIR/klipper.service" << EOF +#Systemd service file for klipper +[Unit] +Description=Starts klipper on startup +After=network.target + +[Install] +WantedBy=multi-user.target + +[Service] +Type=simple +User=$KLIPPER_USER +RemainAfterExit=yes +ExecStart=${PYTHONDIR}/bin/python ${SRCDIR}/klippy/klippy.py ${HOME}/printer.cfg -l ${KLIPPER_LOG} +EOF +# Use systemctl to enable the klipper systemd service script + sudo systemctl enable klipper.service +} + +# Step 4: Start host software +start_software() +{ + report_status "Launching Klipper host software..." + sudo systemctl start klipper +} + +# Helper functions +report_status() +{ + echo -e "\n\n###### $1" +} + +verify_ready() +{ + if [ "$EUID" -eq 0 ]; then + echo "This script must not run as root" + exit -1 + fi +} + +# Force script to exit if an error occurs +set -e + +# Find SRCDIR from the pathname of this script +SRCDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/.. && pwd )" + +# Run installation steps defined above +verify_ready +install_packages +create_virtualenv +install_script +start_software From 346e3901f6076987bdb8a6ec391f00f07e5c45e2 Mon Sep 17 00:00:00 2001 From: BIGTREETECH <38851044+bigtreetech@users.noreply.github.com> Date: Tue, 28 Mar 2023 09:18:06 +0800 Subject: [PATCH 04/40] tmc: Enable sg_angle_offset for smooth switching from Stealthchop to Spreadcycle (#6123) Signed-off-by: Alan.Ma from BigTreeTech --- docs/Config_Reference.md | 1 + klippy/extras/tmc2240.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/docs/Config_Reference.md b/docs/Config_Reference.md index 4e6488476149..a3c1e3145e5d 100644 --- a/docs/Config_Reference.md +++ b/docs/Config_Reference.md @@ -3410,6 +3410,7 @@ run_current: #driver_SEDN: 0 #driver_SEIMIN: 0 #driver_SFILT: 0 +#driver_SG4_ANGLE_OFFSET: 1 # Set the given register during the configuration of the TMC2240 # chip. This may be used to set custom motor parameters. The # defaults for each parameter are next to the parameter name in the diff --git a/klippy/extras/tmc2240.py b/klippy/extras/tmc2240.py index 1bc4c1ca8a3a..45482509915a 100644 --- a/klippy/extras/tmc2240.py +++ b/klippy/extras/tmc2240.py @@ -394,6 +394,8 @@ def __init__(self, config): set_config_field(config, "pwm_lim", 12) # TPOWERDOWN set_config_field(config, "tpowerdown", 10) + # SG4_THRS + set_config_field(config, "sg4_angle_offset", 1) def load_config_prefix(config): return TMC2240(config) From d518152ab27637c306eb1a275c5211e5fd5d2a2a Mon Sep 17 00:00:00 2001 From: BIGTREETECH <38851044+bigtreetech@users.noreply.github.com> Date: Tue, 28 Mar 2023 09:32:42 +0800 Subject: [PATCH 05/40] stm32: Enable I2C on stm32h7 (#6130) Signed-off-by: Alan.Ma from BigTreeTech --- src/stm32/Kconfig | 2 +- src/stm32/Makefile | 1 + src/stm32/stm32f0_i2c.c | 11 +++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/stm32/Kconfig b/src/stm32/Kconfig index 50db29d2536d..94384ec39c4d 100644 --- a/src/stm32/Kconfig +++ b/src/stm32/Kconfig @@ -7,7 +7,7 @@ config STM32_SELECT default y select HAVE_GPIO select HAVE_GPIO_ADC - select HAVE_GPIO_I2C if !(MACH_STM32F031 || MACH_STM32H7) + select HAVE_GPIO_I2C if !(MACH_STM32F031) select HAVE_GPIO_SPI if !MACH_STM32F031 select HAVE_GPIO_SDIO if MACH_STM32F4 select HAVE_GPIO_HARD_PWM if MACH_STM32F1 || MACH_STM32F4 || MACH_STM32G0 || MACH_STM32H7 diff --git a/src/stm32/Makefile b/src/stm32/Makefile index 390ad8d5ea64..fac9ed4aeb2a 100644 --- a/src/stm32/Makefile +++ b/src/stm32/Makefile @@ -57,6 +57,7 @@ src-$(CONFIG_MACH_STM32G4) += stm32/stm32f0_i2c.c src-$(CONFIG_MACH_STM32H7) += ../lib/stm32h7/system_stm32h7xx.c src-$(CONFIG_MACH_STM32H7) += stm32/stm32h7.c generic/armcm_timer.c src-$(CONFIG_MACH_STM32H7) += stm32/gpioperiph.c stm32/stm32h7_adc.c +src-$(CONFIG_MACH_STM32H7) += stm32/stm32f0_i2c.c src-$(CONFIG_MACH_STM32L4) += ../lib/stm32l4/system_stm32l4xx.c src-$(CONFIG_MACH_STM32L4) += stm32/stm32l4.c generic/armcm_timer.c src-$(CONFIG_MACH_STM32L4) += stm32/gpioperiph.c diff --git a/src/stm32/stm32f0_i2c.c b/src/stm32/stm32f0_i2c.c index a37306e8c3d8..48c3ae3e7747 100644 --- a/src/stm32/stm32f0_i2c.c +++ b/src/stm32/stm32f0_i2c.c @@ -72,6 +72,13 @@ struct i2c_info { DECL_CONSTANT_STR("BUS_PINS_i2c3_PC8_PC9", "PC8,PC9"); DECL_ENUMERATION("i2c_bus", "i2c3_PC8_PC11", 7); DECL_CONSTANT_STR("BUS_PINS_i2c3_PC8_PC11", "PC8,PC11"); +#elif CONFIG_MACH_STM32H7 + DECL_ENUMERATION("i2c_bus", "i2c1_PB6_PB7", 0); + DECL_CONSTANT_STR("BUS_PINS_i2c1_PB6_PB7", "PB6,PB7"); + DECL_ENUMERATION("i2c_bus", "i2c1_PB8_PB9", 1); + DECL_CONSTANT_STR("BUS_PINS_i2c1_PB8_PB9", "PB8,PB9"); + DECL_ENUMERATION("i2c_bus", "i2c2_PB10_PB11", 2); + DECL_CONSTANT_STR("BUS_PINS_i2c2_PB10_PB11", "PB10,PB11"); #endif static const struct i2c_info i2c_bus[] = { @@ -104,6 +111,10 @@ static const struct i2c_info i2c_bus[] = { { I2C2, GPIO('C', 4), GPIO('F', 0), GPIO_FUNCTION(4) }, { I2C3, GPIO('C', 8), GPIO('C', 9), GPIO_FUNCTION(8) }, { I2C3, GPIO('C', 8), GPIO('C', 11), GPIO_FUNCTION(8) }, +#elif CONFIG_MACH_STM32H7 + { I2C1, GPIO('B', 6), GPIO('B', 7), GPIO_FUNCTION(4) }, + { I2C1, GPIO('B', 8), GPIO('B', 9), GPIO_FUNCTION(4) }, + { I2C2, GPIO('B', 10), GPIO('B', 11), GPIO_FUNCTION(4) }, #endif }; From 4026365270daa8ba26c52eef01ecd0156626bfb2 Mon Sep 17 00:00:00 2001 From: "Dr. Matthew Swabey" Date: Mon, 27 Mar 2023 21:34:24 -0400 Subject: [PATCH 06/40] linux: Lock Memory and Increase Priority (#6131) Realtime programming best practice is to lock realtime code memory to prevent paging which will lead to unbounded latencies. The Linux MCU process has well bounded memory and small RAM footprint so locking the entire process' RAM has no downsides and will improve behavior when the system comes under memory pressure. (See bootlin training and Linux Foundation documentation linked below.) RT process priority ranges from 0-99 (although POSIX only requires 32), boost MCU process priority to half the max/2 to improve robustness when the system comes under pressure from other RT Kernel or user processes. Reference links: bootlin: https://bootlin.com/doc/training/preempt-rt/preempt-rt-slides.pdf Linux Foundation: https://wiki.linuxfoundation.org/realtime/documentation/howto/applications/application_base#howto_build_a_simple_rt_application Signed-off-by: Matthew Swabey --- src/linux/main.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/linux/main.c b/src/linux/main.c index c8cb3dfd46d3..f9ea3f6daaa8 100644 --- a/src/linux/main.c +++ b/src/linux/main.c @@ -4,10 +4,11 @@ // // This file may be distributed under the terms of the GNU GPLv3 license. -#include // sched_setscheduler +#include // sched_setscheduler sched_get_priority_max #include // fprintf #include // memset #include // getopt +#include // mlockall MCL_CURRENT MCL_FUTURE #include "board/misc.h" // console_sendf #include "command.h" // DECL_CONSTANT #include "internal.h" // console_setup @@ -25,12 +26,18 @@ realtime_setup(void) { struct sched_param sp; memset(&sp, 0, sizeof(sp)); - sp.sched_priority = 1; + sp.sched_priority = sched_get_priority_max(SCHED_FIFO) / 2; int ret = sched_setscheduler(0, SCHED_FIFO, &sp); if (ret < 0) { report_errno("sched_setscheduler", ret); return -1; } + // Lock ourselves into memory + ret = mlockall(MCL_CURRENT | MCL_FUTURE); + if (ret) { + report_errno("mlockall", ret); + return -1; + } return 0; } From d8a9ab5ef7b41feed0d5059693391fed8553a66b Mon Sep 17 00:00:00 2001 From: bbro44 <83624257+bbro44@users.noreply.github.com> Date: Wed, 29 Mar 2023 08:53:54 -0500 Subject: [PATCH 07/40] config: Add Ratrig V-Minion (#6120) This adds support for the stock configuration of the V-Minion printer from Ratrig, based on the Octopus v1.1 (STM32F446) Signed-off-by: Benjamin Lesher --- config/printer-ratrig-v-minion-2021.cfg | 180 ++++++++++++++++++++++++ test/klippy/printers.test | 1 + 2 files changed, 181 insertions(+) create mode 100644 config/printer-ratrig-v-minion-2021.cfg diff --git a/config/printer-ratrig-v-minion-2021.cfg b/config/printer-ratrig-v-minion-2021.cfg new file mode 100644 index 000000000000..d50d6462f9fc --- /dev/null +++ b/config/printer-ratrig-v-minion-2021.cfg @@ -0,0 +1,180 @@ +# This file contains pin mappings for a full Ratrig V-Minion kit +# with an Octopus Pro v1.1 board. +# +# This will not work with RatOS +# +# To use this config, during "make menuconfig" select the STM32F446 +# with a "32KiB bootloader", USB (on PA11/PA12) communication, and +# a "12MHZ Crystal" +# +# Flash this firmware on the MCU by copying "out/klipper.bin" to an SD +# card and turning the printer on with the card inserted. The firmware +# filename must be named "firmware.bin" +# +# See docs/Config_Reference.md for a description of parameters. + +[stepper_x] +step_pin: PF13 +dir_pin: !PF12 +enable_pin: !PF14 +endstop_pin: ^PG6 +rotation_distance: 40 +microsteps: 64 +position_max: 180 +position_min: 0 +homing_speed: 60 +position_endstop: 0 + +[tmc2209 stepper_x] +uart_pin: PC4 +run_current: 0.8 +interpolate: false +stealthchop_threshold: 0 + +[stepper_y] +step_pin: PG0 +dir_pin: PG1 +enable_pin: !PF15 +endstop_pin: ^PG9 +rotation_distance: 40 +microsteps: 64 +position_max: 180 +position_min: 0 +homing_speed: 60 +position_endstop: 0 + +[tmc2209 stepper_y] +uart_pin: PD11 +run_current: 0.8 +interpolate: false +stealthchop_threshold: 0 + +[stepper_z] +step_pin: PC13 +dir_pin: !PF0 +enable_pin: !PF1 +endstop_pin: probe:z_virtual_endstop +rotation_distance: 4 +position_min: -5 +microsteps: 64 +position_max: 180 + +[tmc2209 stepper_z] +uart_pin: PE4 +run_current: 0.8 +interpolate: false +stealthchop_threshold: 0 + +[extruder] +rotation_distance: 5.57 +full_steps_per_rotation: 200 +filament_diameter: 1.750 +step_pin: PF11 +dir_pin: !PG3 +enable_pin: !PG5 +microsteps: 64 +nozzle_diameter: 0.4 +heater_pin: PA2 +sensor_type: Generic 3950 +sensor_pin: PF4 +control: pid +pid_Kp: 22.2 +pid_Ki: 1.08 +pid_Kd: 114 + +min_temp: 0 +max_temp: 290 + +[tmc2209 extruder] +uart_pin: PC6 +run_current: 0.70 +stealthchop_threshold: 0 +interpolate: False + +[probe] +pin: ^PB7 +x_offset: -24.0 +y_offset: -13.0 +z_offset: 0.0 +speed: 5 +samples: 2 +sample_retract_dist: 2 +lift_speed: 5.0 +samples_result: median +samples_tolerance: 0.02 +samples_tolerance_retries: 5 + +[bed_mesh] +speed: 300 +horizontal_move_z: 5 +mesh_min: 15,15 +mesh_max: 150,160 +probe_count: 5,5 +fade_start: 1.0 +fade_end: 10.0 +mesh_pps: 2,2 +algorithm: bicubic +bicubic_tension: .2 + +[screws_tilt_adjust] +screw1: 80, 108 +screw1_name: Left Screw +screw2: 155, 72 +screw2_name: Front Right Screw +screw3: 155, 147 +screw3_name: Rear Right Screw +horizontal_move_z: 10 +speed: 300 +screw_thread: CCW-M4 + +[safe_z_home] +home_xy_position: 90,90 +z_hop: 5 +speed: 300 + +[heater_bed] +heater_pin: PA1 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PF3 +control: pid +pid_kp: 54.027 +pid_ki: 0.770 +pid_kd: 948.182 +min_temp: 0 +max_temp: 120 + +[fan] +pin: PA8 +shutdown_speed: 0.0 + +[heater_fan hotend_cooling_fan] +pin: PE5 +fan_speed: 1.0 +heater: extruder +heater_temp: 50.0 + +[controller_fan controller_fan] +pin: PD12 +fan_speed: 1.0 +stepper: stepper_x, stepper_y, stepper_z + +[printer] +kinematics: cartesian +max_velocity: 500 +max_accel: 20000 +max_z_velocity: 15 +max_z_accel: 2000 + +[mcu] +serial: INSERTSERIALIDHERE + +[board_pins octopus_11_tmc2209] +aliases: +## Expansion ports + # EXP1 header + EXP1_1=PE8, EXP1_3=PE9, EXP1_5=PE12, EXP1_7=PE14, EXP1_9=, + EXP1_2=PE7, EXP1_4=PE10, EXP1_6=PE13, EXP1_8=PE15, EXP1_10=<5V>, + # EXP2 header + EXP2_1=PA6, EXP2_3=PB1, EXP2_5=PB2, EXP2_7=PC15, EXP2_9=, + EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=, EXP2_10=PC5, + # Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "spi2" diff --git a/test/klippy/printers.test b/test/klippy/printers.test index 75b0d7d960c0..22f2be38955c 100644 --- a/test/klippy/printers.test +++ b/test/klippy/printers.test @@ -229,6 +229,7 @@ CONFIG ../../config/generic-fysetc-s6.cfg CONFIG ../../config/generic-fysetc-s6-v2.cfg CONFIG ../../config/generic-fysetc-spider.cfg CONFIG ../../config/generic-mks-rumba32-v1.0.cfg +CONFIG ../../config/printer-ratrig-v-minion-2021.cfg # Printers using the stm32h723 DICTIONARY stm32h723.dict From 9fe3152e23e6637c549006165168a9b8545f3542 Mon Sep 17 00:00:00 2001 From: spinixguy Date: Wed, 29 Mar 2023 09:55:02 -0400 Subject: [PATCH 08/40] config: Add config printer-sovol-sv05-2022.cfg (#6122) Adding Sovol SV06 printer config Signed-off-by: Joseph Spainhour --- config/printer-sovol-sv05-2022.cfg | 144 +++++++++++++++++++++++++++++ test/klippy/printers.test | 1 + 2 files changed, 145 insertions(+) create mode 100644 config/printer-sovol-sv05-2022.cfg diff --git a/config/printer-sovol-sv05-2022.cfg b/config/printer-sovol-sv05-2022.cfg new file mode 100644 index 000000000000..dafc6f3cf322 --- /dev/null +++ b/config/printer-sovol-sv05-2022.cfg @@ -0,0 +1,144 @@ +# This file contains pin mappings for the stock 2022 Sovol SV05 +# with the 32-bit Creality 4.2.2 board. +# +# To use this config, during "make menuconfig" select the STM32F103 +# with a "28KiB bootloader" and serial (on USART1 PA10/PA9) +# communication. +# +# Flash this firmware by copying "out/klipper.bin" to a SD card and +# turning on the printer with the card inserted. The firmware +# filename must end in ".bin" and must not match the last filename +# that was flashed. Might need a renaming if printer dosnt flash. + +# See docs/Config_Reference.md for a description of parameters. +[mcu] +serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 +restart_method: command + +[printer] +kinematics: cartesian +max_velocity: 300 +max_accel: 1000 +max_accel_to_decel: 1000 +max_z_velocity: 5 +max_z_accel: 100 + +[stepper_x] +step_pin: PC2 +dir_pin: PB9 +enable_pin: !PC3 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PA5 +position_endstop: 220 +position_max: 220 +homing_speed: 50 +position_min: -4 + +[stepper_y] +step_pin: PB8 +dir_pin: PB7 +enable_pin: !PC3 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PA6 +position_endstop: 220 +position_max: 220 +position_min: -4 +homing_speed: 50 + +[stepper_z] +step_pin: PB6 +dir_pin: PB5 +enable_pin: !PC3 +microsteps: 16 +rotation_distance: 8 +endstop_pin: probe:z_virtual_endstop +position_max: 300 +position_min: -3 + +[heater_bed] +heater_pin: PA2 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PC4 +min_temp: 0 +max_temp: 130 +control: pid +pid_kp: 64.742 +pid_ki: 0.827 +pid_kd: 1267.326 + +[fan] +pin: PA0 + +[safe_z_home] +home_xy_position: 70, 103 +speed: 100 +z_hop: 10 +z_hop_speed: 20 + +[extruder] +step_pin: PB4 +dir_pin: PB3 +enable_pin: !PC3 +microsteps: 16 +rotation_distance: 7.394 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +max_extrude_only_distance: 100.0 +heater_pin: PA1 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PC5 +min_temp: 0 +max_temp: 280 +control: pid +pid_kp: 28.850 +pid_ki: 1.658 +pid_kd: 125.496 + +[bltouch] +sensor_pin: ^PB1 +control_pin: PB0 +z_offset: 0 +x_offset: 40 +y_offset: 7 +samples: 2 +samples_tolerance: 0.015 +samples_tolerance_retries: 5 + +[bed_mesh] +speed: 100 +horizontal_move_z: 5 +mesh_min: 40, 7 +mesh_max: 220, 220 +probe_count: 5, 5 +algorithm: bicubic +fade_start: 1 +fade_end: 10 + +[bed_screws] +screw1: 25,28 +screw2: 195,28 +screw3: 195,197 +screw4: 25,197 + +[screws_tilt_adjust] +screw1: -4,21 +screw1_name: front left screw +screw2: 155,21 +screw2_name: front right screw +screw3: 155,190 +screw3_name: rear right screw +screw4: -4,190 +screw4_name: rear left screw +horizontal_move_z: 10 +speed: 50 +screw_thread: CW-M4 + +[display] +lcd_type: st7920 +cs_pin: PB12 +sclk_pin: PB13 +sid_pin: PB15 +encoder_pins: ^PB14, ^PB10 +click_pin: ^!PB2 diff --git a/test/klippy/printers.test b/test/klippy/printers.test index 22f2be38955c..1e4b0e675fea 100644 --- a/test/klippy/printers.test +++ b/test/klippy/printers.test @@ -154,6 +154,7 @@ CONFIG ../../config/generic-bigtreetech-skr-mini-e3-v2.0.cfg CONFIG ../../config/generic-bigtreetech-skr-mini-mz.cfg CONFIG ../../config/printer-anycubic-vyper-2021.cfg CONFIG ../../config/printer-monoprice-select-mini-v1-2016.cfg +CONFIG ../../config/printer-sovol-sv05-2022.cfg CONFIG ../../config/printer-sovol-sv06-2022.cfg CONFIG ../../config/printer-sunlu-t3-2022.cfg From 36e0afea2d7bd6243f58a4ae3b0a3a27551d5ecf Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Wed, 29 Mar 2023 14:19:26 -0400 Subject: [PATCH 09/40] config: Fix motor4 comment in manta m8p configs Reported by @jakep82. Signed-off-by: Kevin O'Connor --- config/generic-bigtreetech-manta-m8p-v1.0.cfg | 2 +- config/generic-bigtreetech-manta-m8p-v1.1.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/generic-bigtreetech-manta-m8p-v1.0.cfg b/config/generic-bigtreetech-manta-m8p-v1.0.cfg index 0ed4c9f0e8ae..2a801cded459 100644 --- a/config/generic-bigtreetech-manta-m8p-v1.0.cfg +++ b/config/generic-bigtreetech-manta-m8p-v1.0.cfg @@ -43,7 +43,7 @@ position_max: 270 #[stepper_] #step_pin: PD3 #dir_pin: PD2 -#enable_pin: PD5 +#enable_pin: !PD5 #endstop_pin: PC0 #... diff --git a/config/generic-bigtreetech-manta-m8p-v1.1.cfg b/config/generic-bigtreetech-manta-m8p-v1.1.cfg index 6a08145147fa..36ef710cde07 100644 --- a/config/generic-bigtreetech-manta-m8p-v1.1.cfg +++ b/config/generic-bigtreetech-manta-m8p-v1.1.cfg @@ -44,7 +44,7 @@ position_max: 270 #[stepper_] #step_pin: PD3 #dir_pin: PD2 -#enable_pin: PD5 +#enable_pin: !PD5 #endstop_pin: PC0 #... From c9731a6fe2968b5c1364d8cb602b6e2230f9a4eb Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Tue, 28 Mar 2023 09:44:51 +0200 Subject: [PATCH 10/40] tmc: DUMP_TMC optional REGISTER parameter Add an optional REGISTER parameter to DUMP_TMC so that the output is more filtered/cleaner for manual TMC calibration. Signed-off-by: Alex Voinea --- docs/G-Codes.md | 5 +++-- klippy/extras/tmc.py | 35 +++++++++++++++++++++++++---------- 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/docs/G-Codes.md b/docs/G-Codes.md index b28f8ab66985..ea1f2d735627 100644 --- a/docs/G-Codes.md +++ b/docs/G-Codes.md @@ -1219,8 +1219,9 @@ The following commands are available when any of the are enabled. #### DUMP_TMC -`DUMP_TMC STEPPER=`: This command will read the TMC driver -registers and report their values. +`DUMP_TMC STEPPER=` [REGISTER=]: This command will read all TMC +driver registers and report their values. If a REGISTER is provided, only +the specified register will be dumped. #### INIT_TMC `INIT_TMC STEPPER=`: This command will initialize the TMC diff --git a/klippy/extras/tmc.py b/klippy/extras/tmc.py index 36c27d5ce9ed..10a157691e50 100644 --- a/klippy/extras/tmc.py +++ b/klippy/extras/tmc.py @@ -413,17 +413,32 @@ def setup_register_dump(self, read_registers, read_translate=None): cmd_DUMP_TMC_help = "Read and display TMC stepper driver registers" def cmd_DUMP_TMC(self, gcmd): logging.info("DUMP_TMC %s", self.name) - print_time = self.printer.lookup_object('toolhead').get_last_move_time() - gcmd.respond_info("========== Write-only registers ==========") - for reg_name, val in self.fields.registers.items(): - if reg_name not in self.read_registers: + reg_name = gcmd.get('REGISTER', None) + if reg_name is not None: + reg_name = reg_name.upper() + val = self.fields.registers.get(reg_name) + if (val is not None) and (reg_name not in self.read_registers): + # write-only register + gcmd.respond_info(self.fields.pretty_format(reg_name, val)) + elif reg_name in self.read_registers: + # readable register + val = self.mcu_tmc.get_register(reg_name) + if self.read_translate is not None: + reg_name, val = self.read_translate(reg_name, val) + gcmd.respond_info(self.fields.pretty_format(reg_name, val)) + else: + raise gcmd.error("Unknown register name '%s'" % (reg_name)) + else: + gcmd.respond_info("========== Write-only registers ==========") + for reg_name, val in self.fields.registers.items(): + if reg_name not in self.read_registers: + gcmd.respond_info(self.fields.pretty_format(reg_name, val)) + gcmd.respond_info("========== Queried registers ==========") + for reg_name in self.read_registers: + val = self.mcu_tmc.get_register(reg_name) + if self.read_translate is not None: + reg_name, val = self.read_translate(reg_name, val) gcmd.respond_info(self.fields.pretty_format(reg_name, val)) - gcmd.respond_info("========== Queried registers ==========") - for reg_name in self.read_registers: - val = self.mcu_tmc.get_register(reg_name) - if self.read_translate is not None: - reg_name, val = self.read_translate(reg_name, val) - gcmd.respond_info(self.fields.pretty_format(reg_name, val)) ###################################################################### From fec7ddd8aefd9561fffd7f1ccecd7231002dc884 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Thu, 30 Mar 2023 18:30:48 +0200 Subject: [PATCH 11/40] docs: Fix typo in docs (#6147) Signed-off-by: Alex Voinea --- docs/G-Codes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/G-Codes.md b/docs/G-Codes.md index ea1f2d735627..d89c7df8cd72 100644 --- a/docs/G-Codes.md +++ b/docs/G-Codes.md @@ -1219,7 +1219,7 @@ The following commands are available when any of the are enabled. #### DUMP_TMC -`DUMP_TMC STEPPER=` [REGISTER=]: This command will read all TMC +`DUMP_TMC STEPPER= [REGISTER=]`: This command will read all TMC driver registers and report their values. If a REGISTER is provided, only the specified register will be dumped. From 27dab0ee517a6ab8197faa19e12c2911f67b712c Mon Sep 17 00:00:00 2001 From: "Dr. Matthew Swabey" Date: Fri, 7 Apr 2023 11:45:54 -0400 Subject: [PATCH 12/40] docs: Measuring_Resonances.md improved information on I2C accelerometers and AVR support (#6132) More information on I2C accelerometers. Added in table of MCUs with 400kbit/s I2C support Signed-off-by: Matthew Swabey --- docs/Measuring_Resonances.md | 205 ++++++++++++++++++++++++++++------- 1 file changed, 164 insertions(+), 41 deletions(-) diff --git a/docs/Measuring_Resonances.md b/docs/Measuring_Resonances.md index d09c305433ba..91d538a4eecd 100644 --- a/docs/Measuring_Resonances.md +++ b/docs/Measuring_Resonances.md @@ -1,35 +1,60 @@ # Measuring Resonances -Klipper has built-in support for ADXL345 accelerometer, which can be used to -measure resonance frequencies of the printer for different axes, and auto-tune -[input shapers](Resonance_Compensation.md) to compensate for resonances. -Note that using ADXL345 requires some soldering and crimping. ADXL345 can be -connected to a Raspberry Pi directly, or to an SPI interface of an MCU -board (it needs to be reasonably fast). - -When sourcing ADXL345, be aware that there is a variety of different PCB -board designs and different clones of them. Make sure that the board supports -SPI mode (small number of boards appear to be hard-configured for I2C by -pulling SDO to GND), and, if it is going to be connected to a 5V printer MCU, -that it has a voltage regulator and a level shifter. - +Klipper has built-in support for the ADXL345 and MPU-9250 compatible +accelerometers which can be used to measure resonance frequencies of the printer +for different axes, and auto-tune [input shapers](Resonance_Compensation.md) to +compensate for resonances. Note that using accelerometers requires some +soldering and crimping. The ADXL345 can be connected to the SPI interface of a +Raspberry Pi or MCU board (it needs to be reasonably fast). The MPU family can +be connected to the I2C interface of a Raspberry Pi directly, or to an I2C +interface of an MCU board that supports 400kbit/s *fast mode* in Klipper. + +When sourcing accelerometers, be aware that there are a variety of different PCB +board designs and different clones of them. If it is going to be connected to a +5V printer MCU ensure it has a voltage regulator and level shifters. + +For ADXL345s, make sure that the board supports SPI mode (a small number of +boards appear to be hard-configured for I2C by pulling SDO to GND). + +For MPU-9250/MPU-9255/MPU-6515/MPU-6050/MPU-6500s there are also a variety of +board designs and clones with different I2C pull-up resistors which will need +supplementing. + +## MCUs with Klipper I2C *fast-mode* Support + +| MCU Family | MCU(s) Tested | MCU(s) with Support | +|:--:|:--|:--| +| Raspberry Pi | 3B+, Pico | 3A, 3A+, 3B, 4 | +| AVR ATmega | ATmega328p | ATmega32u4, ATmega128, ATmega168, ATmega328, ATmega644p, ATmega1280, ATmega1284, ATmega2560 | +| AVR AT90 | - | AT90usb646, AT90usb1286 | ## Installation instructions ### Wiring An ethernet cable with shielded twisted pairs (cat5e or better) is recommended -for signal integrity over a long distance. If you still experience signal integrity -issues (SPI/I2C errors), shorten the cable. - -Connect ethernet cable shielding to the controller board/RPI ground. +for signal integrity over a long distance. If you still experience signal +integrity issues (SPI/I2C errors): + + * Double check the wiring with a digital multimeter for: + * Correct connections when turned off (continuity) + * Correct power and ground voltages + * I2C only: + * Check the SCL and SDA lines' resistances to 3.3V are in the range of 900 + ohms to 1.8K + * For full technical details consult [chapter 7 of the I2C-bus specification + and user manual UM10204](https://www.pololu.com/file/0J435/UM10204.pdf) + for *fast-mode* + * Shorten the cable + +Connect ethernet cable shielding only to the MCU board/Pi ground. ***Double-check your wiring before powering up to prevent damaging your MCU/Raspberry Pi or the accelerometer.*** -#### SPI Accelerometers +### SPI Accelerometers -Suggested twisted pair order: +Suggested twisted pair order for three twisted pairs: ``` GND+MISO @@ -37,12 +62,15 @@ GND+MISO SCLK+CS ``` -##### ADXL345 +Note that unlike a cable shield, GND must be connected at both ends. + +#### ADXL345 ###### Direct to Raspberry Pi -**Note: Many MCUs will work with an ADXL345 in SPI mode(eg Pi Pico), wiring and -configuration will vary according to your specific board and available pins.** +**Note: Many MCUs will work with an ADXL345 in SPI mode (e.g. Pi Pico), wiring +and configuration will vary according to your specific board and available +pins.** You need to connect ADXL345 to your Raspberry Pi via SPI. Note that the I2C connection, which is suggested by ADXL345 documentation, has too low throughput @@ -86,20 +114,56 @@ Wiring diagrams for some of the ADXL345 boards: ![ADXL345-Pico](img/adxl345-pico.png) -#### I2C Accelerometers +###### Using Raspberry Pi Pico + +You may connect the ADXL345 to your Raspberry Pi Pico and then connect the +Pico to your Raspberry Pi via USB. This makes it easy to reuse the +accelerometer on other Klipper devices, as you can connect via USB instead +of GPIO. The Pico does not have much processing power, so make sure it is +only running the accelerometer and not performing any other duties. + +In order to avoid damage to your RPi make sure to connect the ADXL345 to 3.3V +only. Depending on the board's layout, a level shifter may be present, which +makes 5V dangerous for your RPi. + +| ADXL345 pin | Pico pin | Pico pin name | +|:--:|:--:|:--:| +| 3V3 (or VCC) | 36 | 3.3V DC power | +| GND | 38 | Ground | +| CS | 2 | GP1 (SPI0_CSn) | +| SDO | 1 | GP0 (SPI0_RX) | +| SDA | 5 | GP3 (SPI0_TX) | +| SCL | 4 | GP2 (SPI0_SCK) | + +Wiring diagrams for some of the ADXL345 boards: + +![ADXL345-Pico](img/adxl345-pico.png) + +### I2C Accelerometers + +Suggested twisted pair order for three pairs (preferred): + +``` +3.3V+GND +SDA+GND +SCL+GND +``` -Suggested twisted pair order: +or for two pairs: ``` 3.3V+SDA GND+SCL ``` -##### MPU-9250/MPU-9255/MPU-6515/MPU-6050/MPU-6500 +Note that unlike a cable shield, any GND(s) should be connected at both ends. -Alternatives to the ADXL345 are MPU-9250/MPU-9255/MPU-6515/MPU-6050/MPU-6500. -These accelerometers have been tested to work over I2C on the RPi or RP2040(pico) -at 400kbaud. +#### MPU-9250/MPU-9255/MPU-6515/MPU-6050/MPU-6500 + +These accelerometers have been tested to work over I2C on the RPi, RP2040 (Pico) +and AVR at 400kbit/s (*fast mode*). Some MPU accelerometer modules include +pull-ups, but some are too large at 10K and must be changed or supplemented by +smaller parallel resistors. Recommended connection scheme for I2C on the Raspberry Pi: @@ -110,18 +174,34 @@ Recommended connection scheme for I2C on the Raspberry Pi: | SDA | 03 | GPIO02 (SDA1) | | SCL | 05 | GPIO03 (SCL1) | -![MPU-9250 connected to RPI](img/mpu9250-PI-fritzing.png) +The RPi has buit-in 1.8K pull-ups on both SCL and SDA. + +![MPU-9250 connected to Pi](img/mpu9250-PI-fritzing.png) -Recommended connection scheme for I2C(i2c0a) on the RP2040: +Recommended connection scheme for I2C (i2c0a) on the RP2040: -| MPU-9250 pin | RP2040 pin | RPi pin name | +| MPU-9250 pin | RP2040 pin | RP2040 pin name | |:--:|:--:|:--:| | VCC | 39 | 3v3 | | GND | 38 | Ground | | SDA | 01 | GP0 (I2C0 SDA) | | SCL | 02 | GP1 (I2C0 SCL) | -![MPU-9250 connected to PICO](img/mpu9250-PICO-fritzing.png) +The Pico does not include any built-in I2C pull-up resistors. + +![MPU-9250 connected to Pico](img/mpu9250-PICO-fritzing.png) + +##### Recommended connection scheme for I2C(TWI) on the AVR ATmega328P Arduino Nano: + +| MPU-9250 pin | Atmega328P TQFP32 pin | Atmega328P pin name | Arduino Nano pin | +|:--:|:--:|:--:|:--:| +| VCC | 39 | - | - | +| GND | 38 | Ground | GND | +| SDA | 27 | SDA | A4 | +| SCL | 28 | SCL | A5 | + +The Arduino Nano does not include any built-in pull-up resistors nor a 3.3V +power pin. ### Mounting the accelerometer @@ -269,14 +349,14 @@ probe_points: 100, 100, 20 # an example ``` -#### Configure MPU-6000/9000 series With PICO +#### Configure MPU-9520 Compatibles With Pico -PICO I2C is set to 400000 on default. Simply add the following to the +Pico I2C is set to 400000 on default. Simply add the following to the printer.cfg: ``` [mcu pico] -serial: /dev/serial/by-id/ +serial: /dev/serial/by-id/ [mpu9250] i2c_mcu: pico @@ -291,6 +371,24 @@ probe_points: pin: pico:gpio23 ``` +#### Configure MPU-9520 Compatibles with AVR + +AVR I2C will be set to 400000 by the mpu9250 option. Simply add the following +to the printer.cfg: + +``` +[mcu nano] +serial: /dev/serial/by-id/ + +[mpu9250] +i2c_mcu: nano + +[resonance_tester] +accel_chip: mpu9250 +probe_points: + 100, 100, 20 # an example +``` + Restart Klipper via the `RESTART` command. ## Measuring the resonances @@ -319,8 +417,8 @@ problem with ADXL345, or the faulty sensor. Double-check the power, the wiring (that it matches the schematics, no wire is broken or loose, etc.), and soldering quality. -**If you are using MPU-6000/9000 series accelerometer and it show up as `mpu-unknown`, use with -caution! They are probably refurbished chips!** +**If you are using a MPU-9250 compatible accelerometer and it shows up as +`mpu-unknown`, use with caution! They are probably refurbished chips!** Next, try running `MEASURE_AXES_NOISE` in Octoprint, you should get some baseline numbers for the noise of accelerometer on the axes (should be @@ -409,10 +507,11 @@ of the accelerometer between the measurements for X and Y axes: measure the resonances of X axis with the accelerometer attached to the toolhead and the resonances of Y axis - to the bed (the usual bed slinger setup). -However, you can also connect two accelerometers simultaneously, though they -must be connected to different boards (say, to an RPi and printer MCU board), or -to two different physical SPI interfaces on the same board (rarely available). -Then they can be configured in the following manner: +However, you can also connect two accelerometers simultaneously, though the +ADXL345 must be connected to different boards (say, to an RPi and printer MCU +board), or to two different physical SPI interfaces on the same board (rarely +available). Then they can be configured in the following manner: + ``` [adxl345 hotend] # Assuming `hotend` chip is connected to an RPi @@ -429,6 +528,30 @@ accel_chip_y: adxl345 bed probe_points: ... ``` +Two MPUs can share one I2C bus, but they **cannot** measure simultaneously as +the 400kbit/s I2C bus is not fast enough. One must have its AD0 pin pulled-down +to 0V (address 104) and the other its AD0 pin pulled-up to 3.3V (address 105): + +``` +[mpu9250 hotend] +i2c_mcu: rpi +i2c_bus: i2c.1 +i2c_address: 104 # This MPU has pin AD0 pulled low + +[mpu9250 bed] +i2c_mcu: rpi +i2c_bus: i2c.1 +i2c_address: 105 # This MPU has pin AD0 pulled high + +[resonance_tester] +# Assuming the typical setup of the bed slinger printer +accel_chip_x: mpu9250 hotend +accel_chip_y: mpu9250 bed +probe_points: ... +``` +[Test with each MPU individually before connecting both to the bus for easy +debugging.] + Then the commands `TEST_RESONANCES AXIS=X` and `TEST_RESONANCES AXIS=Y` will use the correct accelerometer for each axis. From 23e82d37f14b79a164234361a01b893443b5a34d Mon Sep 17 00:00:00 2001 From: Alexey Date: Fri, 7 Apr 2023 19:20:14 +0300 Subject: [PATCH 13/40] stm32: Add support for Nation N32G45x mcus (#6116) N32G452/G455 are mostly compatible with STM32F103 but have M4 core and different ADC. Signed-off-by: Alexey Golyshin --- config/printer-voxelab-aquila-2021.cfg | 83 +++++++ lib/README | 4 + lib/n32g45x/include/n32g45x_adc.h | 331 +++++++++++++++++++++++++ lib/n32g45x/n32g45x_adc.c | 211 ++++++++++++++++ src/stm32/Kconfig | 23 +- src/stm32/Makefile | 13 +- src/stm32/hard_pwm.c | 2 +- src/stm32/n32g45x_adc.c | 185 ++++++++++++++ src/stm32/usbfs.c | 2 +- test/klippy/printers.test | 1 + 10 files changed, 845 insertions(+), 10 deletions(-) create mode 100644 config/printer-voxelab-aquila-2021.cfg create mode 100644 lib/n32g45x/include/n32g45x_adc.h create mode 100644 lib/n32g45x/n32g45x_adc.c create mode 100644 src/stm32/n32g45x_adc.c diff --git a/config/printer-voxelab-aquila-2021.cfg b/config/printer-voxelab-aquila-2021.cfg new file mode 100644 index 000000000000..892e32e633e6 --- /dev/null +++ b/config/printer-voxelab-aquila-2021.cfg @@ -0,0 +1,83 @@ +# This file contains pin mappings for the Voxelab Aquila +# with the FFP0173 1.0.1 mainboard. To use this config, during +# "make menuconfig" select the STM32F103 for STM32/G32, or +# Nation N32G452 for N32 version, 28KB boot, serial PA9/PA10. +# See docs/Config_Reference.md for a description of parameters. + +[stepper_x] +step_pin: PC2 +dir_pin: PB9 +enable_pin: !PC3 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PA5 +position_endstop: 0 +position_max: 235 +homing_speed: 50 + +[stepper_y] +step_pin: PB8 +dir_pin: PB7 +enable_pin: !PC3 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PA6 +position_endstop: 0 +position_max: 235 +homing_speed: 50 + +[stepper_z] +step_pin: PB6 +dir_pin: !PB5 +enable_pin: !PC3 +microsteps: 16 +rotation_distance: 8 +endstop_pin: ^PA7 +position_endstop: 0.0 +position_max: 250 + +[extruder] +max_extrude_only_distance: 100.0 +step_pin: PB4 +dir_pin: PB3 +enable_pin: !PC3 +microsteps: 16 +rotation_distance: 34.406 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: PA1 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PC5 +control: pid +# tuned for stock hardware with 200 degree Celsius target +pid_Kp: 21.527 +pid_Ki: 1.063 +pid_Kd: 108.982 +min_temp: 0 +max_temp: 250 + +[heater_bed] +heater_pin: PA2 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PC4 +control: pid +# tuned for stock hardware with 50 degree Celsius target +pid_Kp: 54.027 +pid_Ki: 0.770 +pid_Kd: 948.182 +min_temp: 0 +max_temp: 130 + +[fan] +pin: PA0 + +[mcu] +serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 +restart_method: command + +[printer] +kinematics: cartesian +max_velocity: 300 +max_accel: 3000 +max_z_velocity: 5 +max_z_accel: 100 diff --git a/lib/README b/lib/README index 848cd03999c9..84bfcb56f020 100644 --- a/lib/README +++ b/lib/README @@ -160,3 +160,7 @@ revision 177b0073fe6f19281ee7f7fdbe9599e32d1b4b8b. The Huada HC32F460 directory contains code from: https://www.hdsc.com.cn/Category83-1490 version 2.2 DDL minus example directory, empty/extra files + +The n32g45x directory contains parts of code from: + https://github.com/RT-Thread/rt-thread/tree/master/bsp/n32g452xx/Libraries/N32_Std_Driver +version v1.0.1 (77638c17877c4b6b0b81e189a36bb08b3384923b) diff --git a/lib/n32g45x/include/n32g45x_adc.h b/lib/n32g45x/include/n32g45x_adc.h new file mode 100644 index 000000000000..ab929feb83bb --- /dev/null +++ b/lib/n32g45x/include/n32g45x_adc.h @@ -0,0 +1,331 @@ +/***************************************************************************** + * Copyright (c) 2019, Nations Technologies Inc. + * + * All rights reserved. + * **************************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer below. + * + * Nations' name may not be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY NATIONS "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * DISCLAIMED. IN NO EVENT SHALL NATIONS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * ****************************************************************************/ + +#ifndef ____N32G45x_ADC____ +#define ____N32G45x_ADC____ + +#define __IO volatile + +typedef struct +{ + uint32_t WorkMode; + uint32_t MultiChEn; + uint32_t ContinueConvEn; + uint32_t ExtTrigSelect; + uint32_t DatAlign; + uint8_t ChsNumber; +} ADC_InitType; + +typedef struct +{ + __IO uint32_t STS; + __IO uint32_t CTRL1; + __IO uint32_t CTRL2; + __IO uint32_t SAMPT1; + __IO uint32_t SAMPT2; + __IO uint32_t JOFFSET1; + __IO uint32_t JOFFSET2; + __IO uint32_t JOFFSET3; + __IO uint32_t JOFFSET4; + __IO uint32_t WDGHIGH; + __IO uint32_t WDGLOW; + __IO uint32_t RSEQ1; + __IO uint32_t RSEQ2; + __IO uint32_t RSEQ3; + __IO uint32_t JSEQ; + __IO uint32_t JDAT1; + __IO uint32_t JDAT2; + __IO uint32_t JDAT3; + __IO uint32_t JDAT4; + __IO uint32_t DAT; + __IO uint32_t DIFSEL; + __IO uint32_t CALFACT; + __IO uint32_t CTRL3; + __IO uint32_t SAMPT3; +} ADC_Module; + +#define NS_ADC1_BASE ((uint32_t)0x40020800) +#define NS_ADC2_BASE ((uint32_t)0x40020c00) +#define NS_ADC3_BASE ((uint32_t)0x40021800) +#define NS_ADC4_BASE ((uint32_t)0x40021c00) + +#define NS_ADC1 ((ADC_Module *)NS_ADC1_BASE) +#define NS_ADC2 ((ADC_Module *)NS_ADC2_BASE) +#define NS_ADC3 ((ADC_Module *)NS_ADC3_BASE) +#define NS_ADC4 ((ADC_Module *)NS_ADC4_BASE) + +#define ADC_RCC_BASE ((uint32_t)0x40021000) +#define ADC_RCC_CTRL *((uint32_t *)(ADC_RCC_BASE + 0x00)) +#define ADC_RCC_CFG *((uint32_t *)(ADC_RCC_BASE + 0x04)) +#define ADC_RCC_CLKINT *((uint32_t *)(ADC_RCC_BASE + 0x08)) +#define ADC_RCC_APB2PRST *((uint32_t *)(ADC_RCC_BASE + 0x0c)) +#define ADC_RCC_APB1PRST *((uint32_t *)(ADC_RCC_BASE + 0x10)) +#define ADC_RCC_AHBPCLKEN *((uint32_t *)(ADC_RCC_BASE + 0x14)) +#define ADC_RCC_APB2PCLKEN *((uint32_t *)(ADC_RCC_BASE + 0x18)) +#define ADC_RCC_APB1PCLKEN *((uint32_t *)(ADC_RCC_BASE + 0x1c)) +#define ADC_RCC_BDCTRL *((uint32_t *)(ADC_RCC_BASE + 0x20)) +#define ADC_RCC_CTRLSTS *((uint32_t *)(ADC_RCC_BASE + 0x24)) +#define ADC_RCC_AHBPRST *((uint32_t *)(ADC_RCC_BASE + 0x28)) +#define ADC_RCC_CFG2 *((uint32_t *)(ADC_RCC_BASE + 0x2c)) +#define ADC_RCC_CFG3 *((uint32_t *)(ADC_RCC_BASE + 0x30)) + +/* CFG2 register bit mask */ +#define CFG2_TIM18CLKSEL_SET_MASK ((uint32_t)0x20000000) +#define CFG2_TIM18CLKSEL_RESET_MASK ((uint32_t)0xDFFFFFFF) +#define CFG2_RNGCPRES_SET_MASK ((uint32_t)0x1F000000) +#define CFG2_RNGCPRES_RESET_MASK ((uint32_t)0xE0FFFFFF) +#define CFG2_ADC1MSEL_SET_MASK ((uint32_t)0x00000400) +#define CFG2_ADC1MSEL_RESET_MASK ((uint32_t)0xFFFFFBFF) +#define CFG2_ADC1MPRES_SET_MASK ((uint32_t)0x0000F800) +#define CFG2_ADC1MPRES_RESET_MASK ((uint32_t)0xFFFF07FF) +#define CFG2_ADCPLLPRES_SET_MASK ((uint32_t)0x000001F0) +#define CFG2_ADCPLLPRES_RESET_MASK ((uint32_t)0xFFFFFE0F) +#define CFG2_ADCHPRES_SET_MASK ((uint32_t)0x0000000F) +#define CFG2_ADCHPRES_RESET_MASK ((uint32_t)0xFFFFFFF0) + +#define RCC_ADCPLLCLK_DISABLE ((uint32_t)0xFFFFFEFF) +#define RCC_ADCPLLCLK_DIV1 ((uint32_t)0x00000100) +#define RCC_ADCPLLCLK_DIV2 ((uint32_t)0x00000110) +#define RCC_ADCPLLCLK_DIV4 ((uint32_t)0x00000120) +#define RCC_ADCPLLCLK_DIV6 ((uint32_t)0x00000130) +#define RCC_ADCPLLCLK_DIV8 ((uint32_t)0x00000140) +#define RCC_ADCPLLCLK_DIV10 ((uint32_t)0x00000150) +#define RCC_ADCPLLCLK_DIV12 ((uint32_t)0x00000160) +#define RCC_ADCPLLCLK_DIV16 ((uint32_t)0x00000170) +#define RCC_ADCPLLCLK_DIV32 ((uint32_t)0x00000180) +#define RCC_ADCPLLCLK_DIV64 ((uint32_t)0x00000190) +#define RCC_ADCPLLCLK_DIV128 ((uint32_t)0x000001A0) +#define RCC_ADCPLLCLK_DIV256 ((uint32_t)0x000001B0) +#define RCC_ADCPLLCLK_DIV_OTHERS ((uint32_t)0x000001C0) + +#define RCC_ADCHCLK_DIV1 ((uint32_t)0x00000000) +#define RCC_ADCHCLK_DIV2 ((uint32_t)0x00000001) +#define RCC_ADCHCLK_DIV4 ((uint32_t)0x00000002) +#define RCC_ADCHCLK_DIV6 ((uint32_t)0x00000003) +#define RCC_ADCHCLK_DIV8 ((uint32_t)0x00000004) +#define RCC_ADCHCLK_DIV10 ((uint32_t)0x00000005) +#define RCC_ADCHCLK_DIV12 ((uint32_t)0x00000006) +#define RCC_ADCHCLK_DIV16 ((uint32_t)0x00000007) +#define RCC_ADCHCLK_DIV32 ((uint32_t)0x00000008) +#define RCC_ADCHCLK_DIV_OTHERS ((uint32_t)0x00000008) + +#define RCC_ADC1MCLK_SRC_HSI ((uint32_t)0x00000000) +#define RCC_ADC1MCLK_SRC_HSE ((uint32_t)0x00000400) + +#define RCC_ADC1MCLK_DIV1 ((uint32_t)0x00000000) +#define RCC_ADC1MCLK_DIV2 ((uint32_t)0x00000800) +#define RCC_ADC1MCLK_DIV3 ((uint32_t)0x00001000) +#define RCC_ADC1MCLK_DIV4 ((uint32_t)0x00001800) +#define RCC_ADC1MCLK_DIV5 ((uint32_t)0x00002000) +#define RCC_ADC1MCLK_DIV6 ((uint32_t)0x00002800) +#define RCC_ADC1MCLK_DIV7 ((uint32_t)0x00003000) +#define RCC_ADC1MCLK_DIV8 ((uint32_t)0x00003800) +#define RCC_ADC1MCLK_DIV9 ((uint32_t)0x00004000) +#define RCC_ADC1MCLK_DIV10 ((uint32_t)0x00004800) +#define RCC_ADC1MCLK_DIV11 ((uint32_t)0x00005000) +#define RCC_ADC1MCLK_DIV12 ((uint32_t)0x00005800) +#define RCC_ADC1MCLK_DIV13 ((uint32_t)0x00006000) +#define RCC_ADC1MCLK_DIV14 ((uint32_t)0x00006800) +#define RCC_ADC1MCLK_DIV15 ((uint32_t)0x00007000) +#define RCC_ADC1MCLK_DIV16 ((uint32_t)0x00007800) +#define RCC_ADC1MCLK_DIV17 ((uint32_t)0x00008000) +#define RCC_ADC1MCLK_DIV18 ((uint32_t)0x00008800) +#define RCC_ADC1MCLK_DIV19 ((uint32_t)0x00009000) +#define RCC_ADC1MCLK_DIV20 ((uint32_t)0x00009800) +#define RCC_ADC1MCLK_DIV21 ((uint32_t)0x0000A000) +#define RCC_ADC1MCLK_DIV22 ((uint32_t)0x0000A800) +#define RCC_ADC1MCLK_DIV23 ((uint32_t)0x0000B000) +#define RCC_ADC1MCLK_DIV24 ((uint32_t)0x0000B800) +#define RCC_ADC1MCLK_DIV25 ((uint32_t)0x0000C000) +#define RCC_ADC1MCLK_DIV26 ((uint32_t)0x0000C800) +#define RCC_ADC1MCLK_DIV27 ((uint32_t)0x0000D000) +#define RCC_ADC1MCLK_DIV28 ((uint32_t)0x0000D800) +#define RCC_ADC1MCLK_DIV29 ((uint32_t)0x0000E000) +#define RCC_ADC1MCLK_DIV30 ((uint32_t)0x0000E800) +#define RCC_ADC1MCLK_DIV31 ((uint32_t)0x0000F000) +#define RCC_ADC1MCLK_DIV32 ((uint32_t)0x0000F800) + +#define RCC_AHB_PERIPH_ADC1 ((uint32_t)0x00001000) +#define RCC_AHB_PERIPH_ADC2 ((uint32_t)0x00002000) +#define RCC_AHB_PERIPH_ADC3 ((uint32_t)0x00004000) +#define RCC_AHB_PERIPH_ADC4 ((uint32_t)0x00008000) + +#define SAMPT1_SMP_SET ((uint32_t)0x00000007) +#define SAMPT2_SMP_SET ((uint32_t)0x00000007) + +#define SQR4_SEQ_SET ((uint32_t)0x0000001F) +#define SQR3_SEQ_SET ((uint32_t)0x0000001F) +#define SQR2_SEQ_SET ((uint32_t)0x0000001F) +#define SQR1_SEQ_SET ((uint32_t)0x0000001F) + +#define CTRL1_CLR_MASK ((uint32_t)0xFFF0FEFF) +#define RSEQ1_CLR_MASK ((uint32_t)0xFF0FFFFF) +#define CTRL2_CLR_MASK ((uint32_t)0xFFF1F7FD) + +#define ADC_CH_0 ((uint8_t)0x00) +#define ADC_CH_1 ((uint8_t)0x01) +#define ADC_CH_2 ((uint8_t)0x02) +#define ADC_CH_3 ((uint8_t)0x03) +#define ADC_CH_4 ((uint8_t)0x04) +#define ADC_CH_5 ((uint8_t)0x05) +#define ADC_CH_6 ((uint8_t)0x06) +#define ADC_CH_7 ((uint8_t)0x07) +#define ADC_CH_8 ((uint8_t)0x08) +#define ADC_CH_9 ((uint8_t)0x09) +#define ADC_CH_10 ((uint8_t)0x0A) +#define ADC_CH_11 ((uint8_t)0x0B) +#define ADC_CH_12 ((uint8_t)0x0C) +#define ADC_CH_13 ((uint8_t)0x0D) +#define ADC_CH_14 ((uint8_t)0x0E) +#define ADC_CH_15 ((uint8_t)0x0F) +#define ADC_CH_16 ((uint8_t)0x10) +#define ADC_CH_17 ((uint8_t)0x11) +#define ADC_CH_18 ((uint8_t)0x12) + +#define ADC_WORKMODE_INDEPENDENT ((uint32_t)0x00000000) +#define ADC_WORKMODE_REG_INJECT_SIMULT ((uint32_t)0x00010000) +#define ADC_WORKMODE_REG_SIMULT_ALTER_TRIG ((uint32_t)0x00020000) +#define ADC_WORKMODE_INJ_SIMULT_FAST_INTERL ((uint32_t)0x00030000) +#define ADC_WORKMODE_INJ_SIMULT_SLOW_INTERL ((uint32_t)0x00040000) +#define ADC_WORKMODE_INJ_SIMULT ((uint32_t)0x00050000) +#define ADC_WORKMODE_REG_SIMULT ((uint32_t)0x00060000) +#define ADC_WORKMODE_FAST_INTERL ((uint32_t)0x00070000) +#define ADC_WORKMODE_SLOW_INTERL ((uint32_t)0x00080000) +#define ADC_WORKMODE_ALTER_TRIG ((uint32_t)0x00090000) + +#define ADC_EXT_TRIGCONV_T1_CC1 \ + ((uint32_t)0x00000000) /*!< For ADC1 and ADC2 */ +#define ADC_EXT_TRIGCONV_T1_CC2 \ + ((uint32_t)0x00020000) /*!< For ADC1 and ADC2 */ +#define ADC_EXT_TRIGCONV_T2_CC2 \ + ((uint32_t)0x00060000) /*!< For ADC1 and ADC2 */ +#define ADC_EXT_TRIGCONV_T1_CC3 \ + ((uint32_t)0x00040000) /*!< For ADC1, ADC2 , ADC3 and ADC4 */ +#define ADC_EXT_TRIGCONV_NONE \ + ((uint32_t)0x000E0000) /*!< For ADC1, ADC2 , ADC3 and ADC4 */ + +#define ADC_DAT_ALIGN_R ((uint32_t)0x00000000) +#define ADC_DAT_ALIGN_L ((uint32_t)0x00000800) + +#define ADC_FLAG_RDY ((uint8_t)0x20) +#define ADC_FLAG_PD_RDY ((uint8_t)0x40) + +#define CTRL2_AD_ON_SET ((uint32_t)0x00000001) +#define CTRL2_AD_ON_RESET ((uint32_t)0xFFFFFFFE) + +#define CTRL2_CAL_SET ((uint32_t)0x00000004) + +/* ADC Software start mask */ +#define CTRL2_EXT_TRIG_SWSTART_SET ((uint32_t)0x00500000) +#define CTRL2_EXT_TRIG_SWSTART_RESET ((uint32_t)0xFFAFFFFF) + +#define ADC_SAMP_TIME_1CYCLES5 ((uint8_t)0x00) +#define ADC_SAMP_TIME_7CYCLES5 ((uint8_t)0x01) +#define ADC_SAMP_TIME_13CYCLES5 ((uint8_t)0x02) +#define ADC_SAMP_TIME_28CYCLES5 ((uint8_t)0x03) +#define ADC_SAMP_TIME_41CYCLES5 ((uint8_t)0x04) +#define ADC_SAMP_TIME_55CYCLES5 ((uint8_t)0x05) +#define ADC_SAMP_TIME_71CYCLES5 ((uint8_t)0x06) +#define ADC_SAMP_TIME_239CYCLES5 ((uint8_t)0x07) + +#define ADC_FLAG_AWDG ((uint8_t)0x01) +#define ADC_FLAG_ENDC ((uint8_t)0x02) +#define ADC_FLAG_JENDC ((uint8_t)0x04) +#define ADC_FLAG_JSTR ((uint8_t)0x08) +#define ADC_FLAG_STR ((uint8_t)0x10) +#define ADC_FLAG_EOC_ANY ((uint8_t)0x20) +#define ADC_FLAG_JEOC_ANY ((uint8_t)0x40) + +#define ADC_STS_AWDG ((uint8_t)0x01) /*!< Analog watchdog flag */ +#define ADC_STS_ENDC ((uint8_t)0x02) /*!< End of conversion */ +#define ADC_STS_JENDC \ + ((uint8_t)0x04) /*!< Injected channel end of conversion */ +#define ADC_STS_JSTR ((uint8_t)0x08) /*!< Injected channel Start flag */ +#define ADC_STS_STR ((uint8_t)0x10) /*!< Regular channel Start flag */ +#define ADC_STS_ENDCA ((uint8_t)0x20) /*!< Any end of conversion */ +#define ADC_STS_JENDCA \ + ((uint8_t)0x40) /*!< Any injected channel end of conversion */ + +/* ADC DMA mask */ +#define CTRL2_DMA_SET ((uint32_t)0x00000100) +#define CTRL2_DMA_RESET ((uint32_t)0xFFFFFEFF) + +#define CTRL2_TSVREFE_SET ((uint32_t)0x00800000) +#define CTRL2_TSVREFE_RESET ((uint32_t)0xFF7FFFFF) +#define VREF1P2_CTRL (*(uint32_t *)(0x40001800 + 0x20)) +/******************* Bit definition for ADC_CTRL2 register + * ********************/ +#define ADC_CTRL2_ON ((uint32_t)0x00000001) /*!< A/D Converter ON / OFF */ +#define ADC_CTRL2_CTU ((uint32_t)0x00000002) /*!< Continuous Conversion */ +#define ADC_CTRL2_ENCAL ((uint32_t)0x00000004) /*!< A/D Calibration */ +#define ADC_CTRL2_ENDMA \ + ((uint32_t)0x00000100) /*!< Direct Memory access mode */ +#define ADC_CTRL2_ALIG ((uint32_t)0x00000800) /*!< Data Alignment */ + +#define ADC_CTRL2_EXTJSEL \ + ((uint32_t)0x00007000) /*!< INJ_EXT_SEL[2:0] bits (External event select \ + for injected group) */ +#define ADC_CTRL2_EXTJSEL_0 ((uint32_t)0x00001000) /*!< Bit 0 */ +#define ADC_CTRL2_EXTJSEL_1 ((uint32_t)0x00002000) /*!< Bit 1 */ +#define ADC_CTRL2_EXTJSEL_2 ((uint32_t)0x00004000) /*!< Bit 2 */ + +#define ADC_CTRL2_EXTJTRIG \ + ((uint32_t)0x00008000) /*!< External Trigger Conversion mode for injected \ + channels */ + +#define ADC_CTRL2_EXTRSEL \ + ((uint32_t)0x000E0000) /*!< EXTSEL[2:0] bits (External Event Select for \ + regular group) */ +#define ADC_CTRL2_EXTRSEL_0 ((uint32_t)0x00020000) /*!< Bit 0 */ +#define ADC_CTRL2_EXTRSEL_1 ((uint32_t)0x00040000) /*!< Bit 1 */ +#define ADC_CTRL2_EXTRSEL_2 ((uint32_t)0x00080000) /*!< Bit 2 */ + +#define ADC_CTRL2_EXTRTRIG \ + ((uint32_t)0x00100000) /*!< External Trigger Conversion mode for regular \ + channels */ +#define ADC_CTRL2_SWSTRJCH \ + ((uint32_t)0x00200000) /*!< Start Conversion of injected channels */ +#define ADC_CTRL2_SWSTRRCH \ + ((uint32_t)0x00400000) /*!< Start Conversion of regular channels */ +#define ADC_CTRL2_TEMPEN \ + ((uint32_t)0x00800000) /*!< Temperature Sensor and VREFINT Enable */ + +#define ADC_CTRL3_VABTMEN_MSK ((uint32_t)0x01L << 11) +#define ADC_CTRL3_DPWMOD_MSK ((uint32_t)0x01L << 10) +#define ADC_CTRL3_JENDCAIEN_MSK ((uint32_t)0x01L << 9) +#define ADC_CTRL3_ENDCAIEN_MSK ((uint32_t)0x01L << 8) +#define ADC_CTRL3_BPCAL_MSK ((uint32_t)0x01L << 7) +#define ADC_CTRL3_PDRDY_MSK ((uint32_t)0x01L << 6) +#define ADC_CTRL3_RDY_MSK ((uint32_t)0x01L << 5) +#define ADC_CTRL3_CKMOD_MSK ((uint32_t)0x01L << 4) +#define ADC_CTRL3_CALALD_MSK ((uint32_t)0x01L << 3) +#define ADC_CTRL3_CALDIF_MSK ((uint32_t)0x01L << 2) +#define ADC_CTRL3_RES_MSK ((uint32_t)0x03L << 0) + +void ADC_Init(ADC_Module* ADCx, ADC_InitType* ADC_InitStruct); +void ADC_ConfigRegularChannel(ADC_Module* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime); +#endif \ No newline at end of file diff --git a/lib/n32g45x/n32g45x_adc.c b/lib/n32g45x/n32g45x_adc.c new file mode 100644 index 000000000000..6621bcb21324 --- /dev/null +++ b/lib/n32g45x/n32g45x_adc.c @@ -0,0 +1,211 @@ +/***************************************************************************** + * Copyright (c) 2019, Nations Technologies Inc. + * + * All rights reserved. + * **************************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer below. + * + * Nations' name may not be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY NATIONS "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * DISCLAIMED. IN NO EVENT SHALL NATIONS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * ****************************************************************************/ + +#include "stdint.h" +#include "n32g45x_adc.h" + +/** + * @brief Initializes the ADCx peripheral according to the specified parameters + * in the ADC_InitStruct. + * @param ADCx where x can be 1, 2 ,3 or 4 to select the ADC peripheral. + * @param ADC_InitStruct pointer to an ADC_InitType structure that contains + * the configuration information for the specified ADC peripheral. + */ +void ADC_Init(ADC_Module* ADCx, ADC_InitType* ADC_InitStruct) +{ + uint32_t tmpreg1 = 0; + uint8_t tmpreg2 = 0; + + /*---------------------------- ADCx CTRL1 Configuration -----------------*/ + /* Get the ADCx CTRL1 value */ + tmpreg1 = ADCx->CTRL1; + /* Clear DUALMOD and SCAN bits */ + tmpreg1 &= CTRL1_CLR_MASK; + /* Configure ADCx: Dual mode and scan conversion mode */ + /* Set DUALMOD bits according to WorkMode value */ + /* Set SCAN bit according to MultiChEn value */ + tmpreg1 |= (uint32_t)(ADC_InitStruct->WorkMode | ((uint32_t)ADC_InitStruct->MultiChEn << 8)); + /* Write to ADCx CTRL1 */ + ADCx->CTRL1 = tmpreg1; + + /*---------------------------- ADCx CTRL2 Configuration -----------------*/ + /* Get the ADCx CTRL2 value */ + tmpreg1 = ADCx->CTRL2; + /* Clear CONT, ALIGN and EXTSEL bits */ + tmpreg1 &= CTRL2_CLR_MASK; + /* Configure ADCx: external trigger event and continuous conversion mode */ + /* Set ALIGN bit according to DatAlign value */ + /* Set EXTSEL bits according to ExtTrigSelect value */ + /* Set CONT bit according to ContinueConvEn value */ + tmpreg1 |= (uint32_t)(ADC_InitStruct->DatAlign | ADC_InitStruct->ExtTrigSelect + | ((uint32_t)ADC_InitStruct->ContinueConvEn << 1)); + /* Write to ADCx CTRL2 */ + ADCx->CTRL2 = tmpreg1; + + /*---------------------------- ADCx RSEQ1 Configuration -----------------*/ + /* Get the ADCx RSEQ1 value */ + tmpreg1 = ADCx->RSEQ1; + /* Clear L bits */ + tmpreg1 &= RSEQ1_CLR_MASK; + /* Configure ADCx: regular channel sequence length */ + /* Set L bits according to ChsNumber value */ + tmpreg2 |= (uint8_t)(ADC_InitStruct->ChsNumber - (uint8_t)1); + tmpreg1 |= (uint32_t)tmpreg2 << 20; + /* Write to ADCx RSEQ1 */ + ADCx->RSEQ1 = tmpreg1; +} + + +/** + * @brief Configures for the selected ADC regular channel its corresponding + * rank in the sequencer and its sample time. + * @param ADCx where x can be 1, 2, 3 or 4 to select the ADC peripheral. + * @param ADC_Channel the ADC channel to configure. + * This parameter can be one of the following values: + * @arg ADC_CH_0 ADC Channel0 selected + * @arg ADC_CH_1 ADC Channel1 selected + * @arg ADC_CH_2 ADC Channel2 selected + * @arg ADC_CH_3 ADC Channel3 selected + * @arg ADC_CH_4 ADC Channel4 selected + * @arg ADC_CH_5 ADC Channel5 selected + * @arg ADC_CH_6 ADC Channel6 selected + * @arg ADC_CH_7 ADC Channel7 selected + * @arg ADC_CH_8 ADC Channel8 selected + * @arg ADC_CH_9 ADC Channel9 selected + * @arg ADC_CH_10 ADC Channel10 selected + * @arg ADC_CH_11 ADC Channel11 selected + * @arg ADC_CH_12 ADC Channel12 selected + * @arg ADC_CH_13 ADC Channel13 selected + * @arg ADC_CH_14 ADC Channel14 selected + * @arg ADC_CH_15 ADC Channel15 selected + * @arg ADC_CH_16 ADC Channel16 selected + * @arg ADC_CH_17 ADC Channel17 selected + * @arg ADC_CH_18 ADC Channel18 selected + * @param Rank The rank in the regular group sequencer. This parameter must be between 1 to 16. + * @param ADC_SampleTime The sample time value to be set for the selected channel. + * This parameter can be one of the following values: + * @arg ADC_SAMP_TIME_1CYCLES5 Sample time equal to 1.5 cycles + * @arg ADC_SAMP_TIME_7CYCLES5 Sample time equal to 7.5 cycles + * @arg ADC_SAMP_TIME_13CYCLES5 Sample time equal to 13.5 cycles + * @arg ADC_SAMP_TIME_28CYCLES5 Sample time equal to 28.5 cycles + * @arg ADC_SAMP_TIME_41CYCLES5 Sample time equal to 41.5 cycles + * @arg ADC_SAMP_TIME_55CYCLES5 Sample time equal to 55.5 cycles + * @arg ADC_SAMP_TIME_71CYCLES5 Sample time equal to 71.5 cycles + * @arg ADC_SAMP_TIME_239CYCLES5 Sample time equal to 239.5 cycles + */ + +void ADC_ConfigRegularChannel(ADC_Module* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime) +{ + uint32_t tmpreg1 = 0, tmpreg2 = 0; + + if (ADC_Channel == ADC_CH_18) + { + tmpreg1 = ADCx->SAMPT3; + tmpreg1 &= (~0x00000007); + tmpreg1 |= ADC_SampleTime; + ADCx->SAMPT3 = tmpreg1; + } + else if (ADC_Channel > ADC_CH_9) /* if ADC_CH_10 ... ADC_CH_17 is selected */ + { + /* Get the old register value */ + tmpreg1 = ADCx->SAMPT1; + /* Calculate the mask to clear */ + tmpreg2 = SAMPT1_SMP_SET << (3 * (ADC_Channel - 10)); + /* Clear the old channel sample time */ + tmpreg1 &= ~tmpreg2; + /* Calculate the mask to set */ + tmpreg2 = (uint32_t)ADC_SampleTime << (3 * (ADC_Channel - 10)); + /* Set the new channel sample time */ + tmpreg1 |= tmpreg2; + /* Store the new register value */ + ADCx->SAMPT1 = tmpreg1; + } + else /* ADC_Channel include in ADC_Channel_[0..9] */ + { + /* Get the old register value */ + tmpreg1 = ADCx->SAMPT2; + /* Calculate the mask to clear */ + tmpreg2 = SAMPT2_SMP_SET << (3 * ADC_Channel); + /* Clear the old channel sample time */ + tmpreg1 &= ~tmpreg2; + /* Calculate the mask to set */ + tmpreg2 = (uint32_t)ADC_SampleTime << (3 * ADC_Channel); + /* Set the new channel sample time */ + tmpreg1 |= tmpreg2; + /* Store the new register value */ + ADCx->SAMPT2 = tmpreg1; + } + /* For Rank 1 to 6 */ + if (Rank < 7) + { + /* Get the old register value */ + tmpreg1 = ADCx->RSEQ3; + /* Calculate the mask to clear */ + tmpreg2 = SQR3_SEQ_SET << (5 * (Rank - 1)); + /* Clear the old SQx bits for the selected rank */ + tmpreg1 &= ~tmpreg2; + /* Calculate the mask to set */ + tmpreg2 = (uint32_t)ADC_Channel << (5 * (Rank - 1)); + /* Set the SQx bits for the selected rank */ + tmpreg1 |= tmpreg2; + /* Store the new register value */ + ADCx->RSEQ3 = tmpreg1; + } + /* For Rank 7 to 12 */ + else if (Rank < 13) + { + /* Get the old register value */ + tmpreg1 = ADCx->RSEQ2; + /* Calculate the mask to clear */ + tmpreg2 = SQR2_SEQ_SET << (5 * (Rank - 7)); + /* Clear the old SQx bits for the selected rank */ + tmpreg1 &= ~tmpreg2; + /* Calculate the mask to set */ + tmpreg2 = (uint32_t)ADC_Channel << (5 * (Rank - 7)); + /* Set the SQx bits for the selected rank */ + tmpreg1 |= tmpreg2; + /* Store the new register value */ + ADCx->RSEQ2 = tmpreg1; + } + /* For Rank 13 to 16 */ + else + { + /* Get the old register value */ + tmpreg1 = ADCx->RSEQ1; + /* Calculate the mask to clear */ + tmpreg2 = SQR1_SEQ_SET << (5 * (Rank - 13)); + /* Clear the old SQx bits for the selected rank */ + tmpreg1 &= ~tmpreg2; + /* Calculate the mask to set */ + tmpreg2 = (uint32_t)ADC_Channel << (5 * (Rank - 13)); + /* Set the SQx bits for the selected rank */ + tmpreg1 |= tmpreg2; + /* Store the new register value */ + ADCx->RSEQ1 = tmpreg1; + } +} + diff --git a/src/stm32/Kconfig b/src/stm32/Kconfig index 94384ec39c4d..30b2e48d891f 100644 --- a/src/stm32/Kconfig +++ b/src/stm32/Kconfig @@ -97,6 +97,14 @@ choice config MACH_STM32L412 bool "STM32L412" select MACH_STM32L4 + config MACH_N32G452 + bool "Nation N32G452" + select MACH_N32G45x + select MACH_STM32F1 + config MACH_N32G455 + bool "Nation N32G455" + select MACH_N32G45x + select MACH_STM32F1 endchoice config MACH_STM32F103x6 @@ -127,10 +135,12 @@ config MACH_STM32F4x5 # F405, F407, F429 series bool config MACH_STM32L4 bool +config MACH_N32G45x + bool config HAVE_STM32_USBFS bool default y if MACH_STM32F0x2 || MACH_STM32G0Bx || MACH_STM32L4 || MACH_STM32G4 - default y if (MACH_STM32F103 || MACH_STM32F070) && !STM32_CLOCK_REF_INTERNAL + default y if (MACH_STM32F1 || MACH_STM32F070) && !STM32_CLOCK_REF_INTERNAL config HAVE_STM32_USBOTG bool default y if MACH_STM32F2 || MACH_STM32F4 || MACH_STM32H7 @@ -144,7 +154,7 @@ config HAVE_STM32_USBCANBUS bool depends on HAVE_STM32_USBFS || HAVE_STM32_USBOTG depends on HAVE_STM32_CANBUS || HAVE_STM32_FDCANBUS - depends on !MACH_STM32F103 + depends on !MACH_STM32F1 default y config MCU @@ -169,6 +179,7 @@ config MCU default "stm32h743xx" if MACH_STM32H743 default "stm32h750xx" if MACH_STM32H750 default "stm32l412xx" if MACH_STM32L412 + default "stm32f103xe" if MACH_N32G45x config CLOCK_FREQ int @@ -183,6 +194,8 @@ config CLOCK_FREQ default 150000000 if MACH_STM32G431 default 400000000 if MACH_STM32H7 # 400Mhz is max Klipper currently supports default 80000000 if MACH_STM32L412 + default 64000000 if MACH_N32G45x && STM32_CLOCK_REF_INTERNAL + default 128000000 if MACH_N32G45x config FLASH_SIZE hex @@ -195,6 +208,7 @@ config FLASH_SIZE default 0x20000 if MACH_STM32G0 || MACH_STM32G431 default 0x20000 if MACH_STM32H750 default 0x200000 if MACH_STM32H743 + default 0x20000 if MACH_N32G45x config FLASH_BOOT_ADDRESS hex @@ -219,6 +233,7 @@ config RAM_SIZE default 0x9000 if MACH_STM32G07x default 0x24000 if MACH_STM32G0Bx default 0x20000 if MACH_STM32H7 + default 0x10000 if MACH_N32G45x config STACK_SIZE int @@ -251,11 +266,11 @@ config STM32_DFU_ROM_ADDRESS choice prompt "Bootloader offset" config STM32_FLASH_START_2000 - bool "8KiB bootloader" if MACH_STM32F103 || MACH_STM32F070 || MACH_STM32G0 || MACH_STM32F0x2 + bool "8KiB bootloader" if MACH_STM32F1 || MACH_STM32F070 || MACH_STM32G0 || MACH_STM32F0x2 config STM32_FLASH_START_5000 bool "20KiB bootloader" if MACH_STM32F103 config STM32_FLASH_START_7000 - bool "28KiB bootloader" if MACH_STM32F103 + bool "28KiB bootloader" if MACH_STM32F1 config STM32_FLASH_START_8000 bool "32KiB bootloader" if MACH_STM32F1 || MACH_STM32F2 || MACH_STM32F4 config STM32_FLASH_START_8800 diff --git a/src/stm32/Makefile b/src/stm32/Makefile index fac9ed4aeb2a..e5dac2aac2d0 100644 --- a/src/stm32/Makefile +++ b/src/stm32/Makefile @@ -6,6 +6,7 @@ CROSS_PREFIX=arm-none-eabi- dirs-y += src/stm32 src/generic lib/fast-hash dirs-$(CONFIG_MACH_STM32F0) += lib/stm32f0 dirs-$(CONFIG_MACH_STM32F1) += lib/stm32f1 +dirs-$(CONFIG_MACH_N32G45x) += lib/n32g45x dirs-$(CONFIG_MACH_STM32F2) += lib/stm32f2 dirs-$(CONFIG_MACH_STM32F4) += lib/stm32f4 dirs-$(CONFIG_MACH_STM32G0) += lib/stm32g0 @@ -17,7 +18,9 @@ MCU := $(shell echo $(CONFIG_MCU)) MCU_UPPER := $(shell echo $(CONFIG_MCU) | tr a-z A-Z | tr X x) CFLAGS-$(CONFIG_MACH_STM32F0) += -mcpu=cortex-m0 -Ilib/stm32f0/include -CFLAGS-$(CONFIG_MACH_STM32F1) += -mcpu=cortex-m3 -Ilib/stm32f1/include +CFLAGS-$(CONFIG_MACH_STM32F103) += -mcpu=cortex-m3 +CFLAGS-$(CONFIG_MACH_N32G45x) += -mcpu=cortex-m4 -Ilib/n32g45x/include +CFLAGS-$(CONFIG_MACH_STM32F1) += -Ilib/stm32f1/include CFLAGS-$(CONFIG_MACH_STM32F2) += -mcpu=cortex-m3 -Ilib/stm32f2/include CFLAGS-$(CONFIG_MACH_STM32F4) += -mcpu=cortex-m4 -Ilib/stm32f4/include CFLAGS-$(CONFIG_MACH_STM32G0) += -mcpu=cortex-m0plus -Ilib/stm32g0/include @@ -38,9 +41,11 @@ src-$(CONFIG_MACH_STM32F0) += ../lib/stm32f0/system_stm32f0xx.c src-$(CONFIG_MACH_STM32F0) += generic/timer_irq.c stm32/stm32f0_timer.c src-$(CONFIG_MACH_STM32F0) += stm32/stm32f0.c stm32/gpioperiph.c src-$(CONFIG_MACH_STM32F0) += stm32/stm32f0_adc.c stm32/stm32f0_i2c.c -src-$(CONFIG_MACH_STM32F1) += ../lib/stm32f1/system_stm32f1xx.c -src-$(CONFIG_MACH_STM32F1) += stm32/stm32f1.c generic/armcm_timer.c -src-$(CONFIG_MACH_STM32F1) += stm32/adc.c stm32/i2c.c +src-$(CONFIG_MACH_STM32F103) += ../lib/stm32f1/system_stm32f1xx.c +src-$(CONFIG_MACH_STM32F103) += stm32/adc.c +src-$(CONFIG_MACH_N32G45x) += ../lib/stm32f1/system_stm32f1xx.c +src-$(CONFIG_MACH_N32G45x) += ../lib/n32g45x/n32g45x_adc.c stm32/n32g45x_adc.c +src-$(CONFIG_MACH_STM32F1) += stm32/stm32f1.c generic/armcm_timer.c stm32/i2c.c src-$(CONFIG_MACH_STM32F2) += ../lib/stm32f2/system_stm32f2xx.c src-$(CONFIG_MACH_STM32F2) += stm32/stm32f4.c generic/armcm_timer.c src-$(CONFIG_MACH_STM32F2) += stm32/gpioperiph.c stm32/adc.c stm32/i2c.c diff --git a/src/stm32/hard_pwm.c b/src/stm32/hard_pwm.c index 0aafe7d49bd1..6f7d8d08cfc0 100644 --- a/src/stm32/hard_pwm.c +++ b/src/stm32/hard_pwm.c @@ -20,7 +20,7 @@ struct gpio_pwm_info { }; static const struct gpio_pwm_info pwm_regs[] = { -#if CONFIG_MACH_STM32F103 +#if CONFIG_MACH_STM32F103 || CONFIG_MACH_N32G45x {TIM2, GPIO('A', 0), 1, GPIO_FUNCTION(2)}, {TIM2, GPIO('A', 1), 2, GPIO_FUNCTION(2)}, {TIM2, GPIO('A', 2), 3, GPIO_FUNCTION(2)}, diff --git a/src/stm32/n32g45x_adc.c b/src/stm32/n32g45x_adc.c new file mode 100644 index 000000000000..d27e70c9e445 --- /dev/null +++ b/src/stm32/n32g45x_adc.c @@ -0,0 +1,185 @@ +// ADC functions on N32G45x +// +// Copyright (C) 2022-2023 Alexey Golyshin +// +// This file may be distributed under the terms of the GNU GPLv3 license. + +#include "board/irq.h" // irq_save +#include "board/misc.h" // timer_from_us +#include "command.h" // shutdown +#include "compiler.h" // ARRAY_SIZE +#include "generic/armcm_timer.h" // udelay +#include "gpio.h" // gpio_adc_setup +#include "internal.h" // GPIO +#include "sched.h" // sched_shutdown +#include "n32g45x_adc.h" // ADC + +DECL_CONSTANT("ADC_MAX", 4095); + +#define ADC_TEMPERATURE_PIN 0xfe +DECL_ENUMERATION("pin", "ADC_TEMPERATURE", ADC_TEMPERATURE_PIN); + +static const uint8_t adc_pins[] = { + // ADC1 + 0, GPIO('A', 0), GPIO('A', 1), GPIO('A', 6), + GPIO('A', 3), GPIO('F', 4), 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + ADC_TEMPERATURE_PIN, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + // ADC2 + 0, GPIO('A', 4), GPIO('A', 5), GPIO('B', 1), + GPIO('A', 7), GPIO('C', 4), GPIO('C', 0), GPIO('C', 1), + GPIO('C', 2), GPIO('C', 3), GPIO('F', 2), GPIO('A', 2), + GPIO('C', 5), GPIO('B', 2), 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, +#if CONFIG_MACH_N32G455 // ADC3/4 for G455 only + // ADC3 + 0, GPIO('B', 11), GPIO('E', 9), GPIO('E', 13), + GPIO('E', 12), GPIO('B', 13), GPIO('E', 8), GPIO('D', 10), + GPIO('D', 11), GPIO('D', 12), GPIO('D', 13), GPIO('D', 14), + GPIO('B', 0), GPIO('E', 7), GPIO('E', 10), GPIO('E', 11), + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + // ADC4 + 0, GPIO('E', 14), GPIO('E', 15), GPIO('B', 12), + GPIO('B', 14), GPIO('B', 15), 0, 0, + 0, 0, 0, 0, + GPIO('D', 8), GPIO('D', 9), 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, +#endif +}; + +// Perform calibration +static void +adc_calibrate(ADC_Module *adc) +{ + adc->CTRL2 = CTRL2_AD_ON_SET; + while (!(adc->CTRL3 & ADC_FLAG_RDY)) + ; + adc->CTRL3 &= (~ADC_CTRL3_BPCAL_MSK); + udelay(10); + adc->CTRL2 = CTRL2_AD_ON_SET | CTRL2_CAL_SET; + while (adc->CTRL2 & CTRL2_CAL_SET) + ; +} + +struct gpio_adc +gpio_adc_setup(uint32_t pin) +{ + // Find pin in adc_pins table + int chan; + for (chan=0; ; chan++) { + if (chan >= ARRAY_SIZE(adc_pins)) + shutdown("Not a valid ADC pin"); + if (adc_pins[chan] == pin) + break; + } + + // Determine which ADC block to use + ADC_Module *adc; + if ((chan >> 5) == 0) + adc = NS_ADC1; + if ((chan >> 5) == 1) + adc = NS_ADC2; + if ((chan >> 5) == 2) + adc = NS_ADC3; + if ((chan >> 5) == 3) + adc = NS_ADC4; + chan &= 0x1F; + + // Enable the ADC + uint32_t reg_temp; + reg_temp = ADC_RCC_AHBPCLKEN; + reg_temp |= (RCC_AHB_PERIPH_ADC1 | RCC_AHB_PERIPH_ADC2 | + RCC_AHB_PERIPH_ADC3 | RCC_AHB_PERIPH_ADC4); + ADC_RCC_AHBPCLKEN = reg_temp; + + reg_temp = ADC_RCC_CFG2; + reg_temp &= CFG2_ADCPLLPRES_RESET_MASK; + reg_temp |= RCC_ADCPLLCLK_DIV1; + reg_temp &= RCC_ADCPLLCLK_DISABLE; + ADC_RCC_CFG2 = reg_temp; + + reg_temp = ADC_RCC_CFG2; + reg_temp &= CFG2_ADCHPRES_RESET_MASK; + reg_temp |= RCC_ADCHCLK_DIV16; + ADC_RCC_CFG2 = reg_temp; + + ADC_InitType ADC_InitStructure; + ADC_InitStructure.WorkMode = ADC_WORKMODE_INDEPENDENT; + ADC_InitStructure.MultiChEn = 0; + ADC_InitStructure.ContinueConvEn = 0; + ADC_InitStructure.ExtTrigSelect = ADC_EXT_TRIGCONV_NONE; + ADC_InitStructure.DatAlign = ADC_DAT_ALIGN_R; + ADC_InitStructure.ChsNumber = 1; + ADC_Init(adc, &ADC_InitStructure); + + adc_calibrate(adc); + + if (pin == ADC_TEMPERATURE_PIN) { + NS_ADC1->CTRL2 |= CTRL2_TSVREFE_SET; + VREF1P2_CTRL |= (1<<10); + } else { + gpio_peripheral(pin, GPIO_ANALOG, 0); + } + + return (struct gpio_adc){ .adc = adc, .chan = chan }; +} + +// Try to sample a value. Returns zero if sample ready, otherwise +// returns the number of clock ticks the caller should wait before +// retrying this function. +uint32_t +gpio_adc_sample(struct gpio_adc g) +{ + ADC_Module *adc = g.adc; + uint32_t sr = adc->STS; + if (sr & ADC_STS_STR) { + if (!(sr & ADC_STS_ENDC) || adc->RSEQ3 != g.chan) + // Conversion still in progress or busy on another channel + goto need_delay; + // Conversion ready + return 0; + } + // ADC timing: clock=4Mhz, Tconv=12.5, Tsamp=41.5, total=13.500us + ADC_ConfigRegularChannel(adc, g.chan, 1, ADC_SAMP_TIME_41CYCLES5); + adc->CTRL2 |= CTRL2_AD_ON_SET; + adc->CTRL2 |= CTRL2_EXT_TRIG_SWSTART_SET; + +need_delay: + return timer_from_us(20); +} + +// Read a value; use only after gpio_adc_sample() returns zero +uint16_t +gpio_adc_read(struct gpio_adc g) +{ + ADC_Module *adc = g.adc; + adc->STS &= ~ADC_STS_ENDC; + adc->STS &= ~ADC_STS_STR; + adc->CTRL2 &= CTRL2_EXT_TRIG_SWSTART_RESET; + uint16_t result = adc->DAT; + return result; +} + +// Cancel a sample that may have been started with gpio_adc_sample() +void +gpio_adc_cancel_sample(struct gpio_adc g) +{ + ADC_Module *adc = g.adc; + irqstatus_t flag = irq_save(); + if (adc->STS & ADC_STS_STR) + gpio_adc_read(g); + irq_restore(flag); +} diff --git a/src/stm32/usbfs.c b/src/stm32/usbfs.c index f7559efd6fa0..f2c3057fd070 100644 --- a/src/stm32/usbfs.c +++ b/src/stm32/usbfs.c @@ -15,7 +15,7 @@ #include "internal.h" // GPIO #include "sched.h" // DECL_INIT -#if CONFIG_MACH_STM32F103 || CONFIG_MACH_STM32G4 +#if CONFIG_MACH_STM32F103 || CONFIG_MACH_STM32G4 || CONFIG_MACH_N32G45x // Transfer memory is accessed with 32bits, but contains only 16bits of data typedef volatile uint32_t epmword_t; #define WSIZE 2 diff --git a/test/klippy/printers.test b/test/klippy/printers.test index 1e4b0e675fea..431bb8f58f1e 100644 --- a/test/klippy/printers.test +++ b/test/klippy/printers.test @@ -196,6 +196,7 @@ CONFIG ../../config/printer-tronxy-xy-2-Pro-2020.cfg CONFIG ../../config/printer-twotrees-sapphire-plus-sp-5-v1-2020.cfg CONFIG ../../config/printer-twotrees-sapphire-plus-sp-5-v1.1-2021.cfg CONFIG ../../config/printer-twotrees-sapphire-pro-sp-3-2020.cfg +CONFIG ../../config/printer-voxelab-aquila-2021.cfg # Printers using the stm32f401 DICTIONARY stm32f401.dict From ef34c5bb5d026203396969dd6c3120d900ad64b9 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Fri, 7 Apr 2023 12:21:22 -0400 Subject: [PATCH 14/40] config: Update comment header in printer-voxelab-aquila-2021.cfg Signed-off-by: Kevin O'Connor --- config/printer-voxelab-aquila-2021.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/config/printer-voxelab-aquila-2021.cfg b/config/printer-voxelab-aquila-2021.cfg index 892e32e633e6..a23d00c6f01a 100644 --- a/config/printer-voxelab-aquila-2021.cfg +++ b/config/printer-voxelab-aquila-2021.cfg @@ -2,6 +2,7 @@ # with the FFP0173 1.0.1 mainboard. To use this config, during # "make menuconfig" select the STM32F103 for STM32/G32, or # Nation N32G452 for N32 version, 28KB boot, serial PA9/PA10. + # See docs/Config_Reference.md for a description of parameters. [stepper_x] From ecc23fc6fa3c3a866cf8dbbb0a118adbe7e61568 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Fri, 7 Apr 2023 12:25:27 -0400 Subject: [PATCH 15/40] stm32: Prefer "MACH_STM32F1" test over "MACH_STM32F103 || MACH_N32G45x" Signed-off-by: Kevin O'Connor --- src/stm32/hard_pwm.c | 2 +- src/stm32/usbfs.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/stm32/hard_pwm.c b/src/stm32/hard_pwm.c index 6f7d8d08cfc0..dbed84c1fa28 100644 --- a/src/stm32/hard_pwm.c +++ b/src/stm32/hard_pwm.c @@ -20,7 +20,7 @@ struct gpio_pwm_info { }; static const struct gpio_pwm_info pwm_regs[] = { -#if CONFIG_MACH_STM32F103 || CONFIG_MACH_N32G45x +#if CONFIG_MACH_STM32F1 {TIM2, GPIO('A', 0), 1, GPIO_FUNCTION(2)}, {TIM2, GPIO('A', 1), 2, GPIO_FUNCTION(2)}, {TIM2, GPIO('A', 2), 3, GPIO_FUNCTION(2)}, diff --git a/src/stm32/usbfs.c b/src/stm32/usbfs.c index f2c3057fd070..fda2ce9d299c 100644 --- a/src/stm32/usbfs.c +++ b/src/stm32/usbfs.c @@ -15,7 +15,7 @@ #include "internal.h" // GPIO #include "sched.h" // DECL_INIT -#if CONFIG_MACH_STM32F103 || CONFIG_MACH_STM32G4 || CONFIG_MACH_N32G45x +#if CONFIG_MACH_STM32F1 || CONFIG_MACH_STM32G4 // Transfer memory is accessed with 32bits, but contains only 16bits of data typedef volatile uint32_t epmword_t; #define WSIZE 2 From e5ed245ff2cc04f80fa248c18ea18535cc06e553 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Fri, 7 Apr 2023 12:27:09 -0400 Subject: [PATCH 16/40] stm32: Improve ifdef indent in hard_pwm.c Signed-off-by: Kevin O'Connor --- src/stm32/hard_pwm.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/stm32/hard_pwm.c b/src/stm32/hard_pwm.c index dbed84c1fa28..a15b1c375568 100644 --- a/src/stm32/hard_pwm.c +++ b/src/stm32/hard_pwm.c @@ -117,12 +117,12 @@ static const struct gpio_pwm_info pwm_regs[] = { {TIM1, GPIO('B', 3), 2, GPIO_FUNCTION(1)}, {TIM3, GPIO('B', 4), 1, GPIO_FUNCTION(1)}, {TIM3, GPIO('B', 5), 2, GPIO_FUNCTION(1)}, -#if CONFIG_MACH_STM32G0Bx + #if CONFIG_MACH_STM32G0Bx {TIM4, GPIO('B', 6), 1, GPIO_FUNCTION(9)}, {TIM4, GPIO('B', 7), 2, GPIO_FUNCTION(9)}, {TIM4, GPIO('B', 8), 3, GPIO_FUNCTION(9)}, {TIM4, GPIO('B', 9), 4, GPIO_FUNCTION(9)}, -#endif + #endif {TIM15, GPIO('B', 14), 1, GPIO_FUNCTION(5)}, {TIM15, GPIO('B', 15), 2, GPIO_FUNCTION(5)}, {TIM15, GPIO('C', 1), 1, GPIO_FUNCTION(2)}, @@ -136,12 +136,12 @@ static const struct gpio_pwm_info pwm_regs[] = { {TIM14, GPIO('C', 12), 1, GPIO_FUNCTION(2)}, {TIM16, GPIO('D', 0), 1, GPIO_FUNCTION(2)}, {TIM17, GPIO('D', 1), 1, GPIO_FUNCTION(2)}, -#if CONFIG_MACH_STM32G0Bx + #if CONFIG_MACH_STM32G0Bx {TIM4, GPIO('D', 12), 1, GPIO_FUNCTION(2)}, {TIM4, GPIO('D', 13), 2, GPIO_FUNCTION(2)}, {TIM4, GPIO('D', 14), 3, GPIO_FUNCTION(2)}, {TIM4, GPIO('D', 15), 4, GPIO_FUNCTION(2)}, -#endif + #endif {TIM3, GPIO('E', 3), 1, GPIO_FUNCTION(1)}, {TIM3, GPIO('E', 4), 2, GPIO_FUNCTION(1)}, {TIM3, GPIO('E', 5), 3, GPIO_FUNCTION(1)}, From 8850084fcf001c496d160985999a76f74a13ef44 Mon Sep 17 00:00:00 2001 From: visilya <84504499+visilya@users.noreply.github.com> Date: Fri, 7 Apr 2023 19:32:23 +0300 Subject: [PATCH 17/40] scripts: Fix flash linux when OUT argument provided (#6133) Signed-off-by: Ilya Vislotsky --- scripts/flash-linux.sh | 9 ++++++++- src/linux/Makefile | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/scripts/flash-linux.sh b/scripts/flash-linux.sh index cc808aa85ada..bd3b4f63ce28 100755 --- a/scripts/flash-linux.sh +++ b/scripts/flash-linux.sh @@ -7,10 +7,17 @@ if [ "$EUID" -ne 0 ]; then fi set -e +# Setting build output directory +if [ -z "${1}" ]; then + out='out' +else + out=${1} +fi + # Install new micro-controller code echo "Installing micro-controller code to /usr/local/bin/" rm -f /usr/local/bin/klipper_mcu -cp out/klipper.elf /usr/local/bin/klipper_mcu +cp ${out}/klipper.elf /usr/local/bin/klipper_mcu sync # Restart (if system install script present) diff --git a/src/linux/Makefile b/src/linux/Makefile index f234c3af4552..7c1de7c1f88b 100644 --- a/src/linux/Makefile +++ b/src/linux/Makefile @@ -11,4 +11,4 @@ CFLAGS_klipper.elf += -lutil -lrt -lpthread flash: $(OUT)klipper.elf @echo " Flashing" - $(Q)sudo ./scripts/flash-linux.sh + $(Q)sudo ./scripts/flash-linux.sh $(OUT) From 754a67af4e0286b9b4ce43716c420618bbfdf172 Mon Sep 17 00:00:00 2001 From: JamesH1978 <87171443+JamesH1978@users.noreply.github.com> Date: Fri, 7 Apr 2023 18:05:55 +0100 Subject: [PATCH 18/40] config: SKR3, update for second chip choice (#6153) As found on the discord by user Qtin, this board now ships with one of STM32H743 or STM32H723 Example config updated to reflect this. This has been tested on the users board. To note, the H743 bin will flash to the H723 chip, but will not work. Signed-off-by: James Hartley --- config/generic-bigtreetech-skr-3.cfg | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config/generic-bigtreetech-skr-3.cfg b/config/generic-bigtreetech-skr-3.cfg index c769ae0399af..97570cd514fc 100644 --- a/config/generic-bigtreetech-skr-3.cfg +++ b/config/generic-bigtreetech-skr-3.cfg @@ -1,6 +1,8 @@ # This file contains common pin mappings for the BigTreeTech SKR 3. +# This board can ship with one of two chips, STM32H743 or STM32H723. # To use this config, during "make menuconfig" enable "low-level -# options", "STM32H743", "128KiB bootloader", and "25MHz clock". +# options", "STM32H743" or "STM32H723", "128KiB bootloader", +# and "25MHz clock". # See docs/Config_Reference.md for a description of parameters. From acca55b074d5d51cb93be36c9f3597ef3c998873 Mon Sep 17 00:00:00 2001 From: Scott Mudge <19617165+scottmudge@users.noreply.github.com> Date: Fri, 7 Apr 2023 13:41:06 -0400 Subject: [PATCH 19/40] aht10: Added support for AHT10 ambient temperature sensor (#6138) This commit adds support for the I2C-based AHT10 ambient temperature sensor. The sensor comes pre-calibrated and has a fairly simple command interface, so the interface class is in-turn relatively simple. So far this has been tested on a BTT GTR 1.0 MCU board (STM32F4), and seems to work fine. Signed-off-by: Scott Mudge --- klippy/extras/aht10.py | 160 ++++++++++++++++++++++++++ klippy/extras/temperature_sensors.cfg | 3 + 2 files changed, 163 insertions(+) create mode 100644 klippy/extras/aht10.py diff --git a/klippy/extras/aht10.py b/klippy/extras/aht10.py new file mode 100644 index 000000000000..b6cac2e33dbc --- /dev/null +++ b/klippy/extras/aht10.py @@ -0,0 +1,160 @@ +# AHT10 I2c-based humiditure sensor support +# +# Copyright (C) 2023 Scott Mudge +# +# This file may be distributed under the terms of the GNU GPLv3 license. +import logging +from . import bus + +###################################################################### +# Compatible Sensors: +# AHT10 - Tested w/ BTT GTR 1.0 MCU on i2c3 +###################################################################### + +AHT10_I2C_ADDR= 0x38 + +AHT10_COMMANDS = { + 'INIT' :[0xE1, 0x08, 0x00], + 'MEASURE' :[0xAC, 0x33, 0x00], + 'RESET' :[0xBA, 0x08, 0x00] +} + +AHT10_MAX_BUSY_CYCLES= 5 + +class AHT10: + def __init__(self, config): + self.printer = config.get_printer() + self.name = config.get_name().split()[-1] + self.reactor = self.printer.get_reactor() + self.i2c = bus.MCU_I2C_from_config( + config, default_addr=AHT10_I2C_ADDR, default_speed=100000) + self.report_time = config.getint('aht10_report_time',30,minval=5) + self.temp = self.min_temp = self.max_temp = self.humidity = 0. + self.sample_timer = self.reactor.register_timer(self._sample_aht10) + self.printer.add_object("aht10 " + self.name, self) + self.printer.register_event_handler("klippy:connect", + self.handle_connect) + self.is_calibrated = False + self.init_sent = False + + def handle_connect(self): + self._init_aht10() + self.reactor.update_timer(self.sample_timer, self.reactor.NOW) + + def setup_minmax(self, min_temp, max_temp): + self.min_temp = min_temp + self.max_temp = max_temp + + def setup_callback(self, cb): + self._callback = cb + + def get_report_time_delta(self): + return self.report_time + + def _make_measurement(self): + if not self.init_sent: + return False + + data = None + + is_busy = True + cycles = 0 + + try: + while is_busy: + # Check if we're constantly busy. If so, send soft-reset + # and issue warning. + if is_busy and cycles > AHT10_MAX_BUSY_CYCLES: + logging.warning("aht10: device reported busy after " + + "%d cycles, resetting device"% AHT10_MAX_BUSY_CYCLES) + self._reset_device() + data = None + break + + cycles += 1 + # Write command for updating temperature+status bit + self.i2c.i2c_write(AHT10_COMMANDS['MEASURE']) + # Wait 110ms after first read, 75ms minimum + self.reactor.pause(self.reactor.monotonic() + .110) + + # Read data + read = self.i2c.i2c_read([], 6) + if read is None: + logging.warning("aht10: received data from" + + " i2c_read is None") + continue + data = bytearray(read['response']) + if len(data) < 6: + logging.warning("aht10: received bytes less than" + + " expected 6 [%d]"%len(data)) + continue + + self.is_calibrated = True if (data[0] & 0b00000100) else False + is_busy = True if (data[0] & 0b01000000) else False + + if is_busy: + return False + except Exception as e: + logging.exception("aht10: exception encountered" + + " reading data: %s"%str(e)) + return False + + temp = ((data[3] & 0x0F) << 16) | (data[4] << 8) | data[5] + self.temp = ((temp*200) / 1048576) - 50 + hum = ((data[1] << 16) | (data[2] << 8) | data[3]) >> 4 + self.humidity = int(hum * 100 / 1048576) + + # Clamp humidity + if (self.humidity > 100): + self.humidity = 100 + elif (self.humidity < 0): + self.humidity = 0 + + return True + + def _reset_device(self): + if not self.init_sent: + return + + # Reset device + self.i2c.i2c_write(AHT10_COMMANDS['RESET']) + # Wait 100ms after reset + self.reactor.pause(self.reactor.monotonic() + .10) + + def _init_aht10(self): + # Init device + self.i2c.i2c_write(AHT10_COMMANDS['INIT']) + # Wait 100ms after init + self.reactor.pause(self.reactor.monotonic() + .10) + self.init_sent = True + + if self._make_measurement(): + logging.info("aht10: successfully initialized, initial temp: " + + "%.3f, humidity: %.3f"%(self.temp, self.humidity)) + + def _sample_aht10(self, eventtime): + if not self._make_measurement(): + self.temp = self.humidity = .0 + return self.reactor.NEVER + + if self.temp < self.min_temp or self.temp > self.max_temp: + self.printer.invoke_shutdown( + "AHT10 temperature %0.1f outside range of %0.1f:%.01f" + % (self.temp, self.min_temp, self.max_temp)) + + measured_time = self.reactor.monotonic() + print_time = self.i2c.get_mcu().estimated_print_time(measured_time) + self._callback(print_time, self.temp) + return measured_time + self.report_time + + def get_status(self, eventtime): + return { + 'temperature': round(self.temp, 2), + 'humidity': self.humidity, + } + + +def load_config(config): + # Register sensor + pheater = config.get_printer().lookup_object("heaters") + pheater.add_sensor_factory("AHT10", AHT10) diff --git a/klippy/extras/temperature_sensors.cfg b/klippy/extras/temperature_sensors.cfg index ebee3089979d..7e0d918f5b8a 100644 --- a/klippy/extras/temperature_sensors.cfg +++ b/klippy/extras/temperature_sensors.cfg @@ -18,6 +18,9 @@ # Load "SI7013", "SI7020", "SI7021", "SHT21", and "HTU21D" sensors [htu21d] +# Load "AHT10" +[aht10] + # Load "LM75" sensor [lm75] From 22ee889f41249a00664d3ccd7e12696975bd4fde Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Wed, 29 Mar 2023 18:24:32 -0400 Subject: [PATCH 20/40] serialqueue: Rename stalled_bytes stat to upcoming_bytes The stalled_bytes counter refers to the number of bytes that are not yet eligible for transmission. However, the naming leads to confusion as it could be interpretted as an inability to transmit data. Rename to upcoming_bytes to try to avoid that confusion. Signed-off-by: Kevin O'Connor --- docs/Config_Changes.md | 3 +++ klippy/chelper/serialqueue.c | 32 ++++++++++++++++---------------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/docs/Config_Changes.md b/docs/Config_Changes.md index efe962d1a77f..14c3b12bfbda 100644 --- a/docs/Config_Changes.md +++ b/docs/Config_Changes.md @@ -8,6 +8,9 @@ All dates in this document are approximate. ## Changes +20230407: The `stalled_bytes` counter in the log and in the +`printer.mcu.last_stats` field has been renamed to `upcoming_bytes`. + 20230304: The `SET_TMC_CURRENT` command now properly adjusts the globalscaler register for drivers that have it. This removes a limitation where on tmc5160, the currents could not be raised higher with `SET_TMC_CURRENT` than the diff --git a/klippy/chelper/serialqueue.c b/klippy/chelper/serialqueue.c index 684710c1d8cd..b6500fe621d5 100644 --- a/klippy/chelper/serialqueue.c +++ b/klippy/chelper/serialqueue.c @@ -30,7 +30,7 @@ #include "serialqueue.h" // struct queue_message struct command_queue { - struct list_head stalled_queue, ready_queue; + struct list_head upcoming_queue, ready_queue; struct list_node node; }; @@ -59,7 +59,7 @@ struct serialqueue { double srtt, rttvar, rto; // Pending transmission message queues struct list_head pending_queues; - int ready_bytes, stalled_bytes, need_ack_bytes, last_ack_bytes; + int ready_bytes, upcoming_bytes, need_ack_bytes, last_ack_bytes; uint64_t need_kick_clock; struct list_head notify_queue; // Received messages @@ -458,7 +458,7 @@ build_and_send_command(struct serialqueue *sq, uint8_t *buf, int pending if (len + qm->len > MESSAGE_MAX - MESSAGE_TRAILER_SIZE) break; list_del(&qm->node); - if (list_empty(&cq->ready_queue) && list_empty(&cq->stalled_queue)) + if (list_empty(&cq->ready_queue) && list_empty(&cq->upcoming_queue)) list_del(&cq->node); memcpy(&buf[len], qm->msg, qm->len); len += qm->len; @@ -523,10 +523,10 @@ check_send_command(struct serialqueue *sq, int pending, double eventtime) uint64_t min_stalled_clock = MAX_CLOCK, min_ready_clock = MAX_CLOCK; struct command_queue *cq; list_for_each_entry(cq, &sq->pending_queues, node) { - // Move messages from the stalled_queue to the ready_queue - while (!list_empty(&cq->stalled_queue)) { + // Move messages from the upcoming_queue to the ready_queue + while (!list_empty(&cq->upcoming_queue)) { struct queue_message *qm = list_first_entry( - &cq->stalled_queue, struct queue_message, node); + &cq->upcoming_queue, struct queue_message, node); if (ack_clock < qm->min_clock) { if (qm->min_clock < min_stalled_clock) min_stalled_clock = qm->min_clock; @@ -534,7 +534,7 @@ check_send_command(struct serialqueue *sq, int pending, double eventtime) } list_del(&qm->node); list_add_tail(&qm->node, &cq->ready_queue); - sq->stalled_bytes -= qm->len; + sq->upcoming_bytes -= qm->len; sq->ready_bytes += qm->len; } // Update min_ready_clock @@ -714,7 +714,7 @@ serialqueue_free(struct serialqueue *sq) &sq->pending_queues, struct command_queue, node); list_del(&cq->node); message_queue_free(&cq->ready_queue); - message_queue_free(&cq->stalled_queue); + message_queue_free(&cq->upcoming_queue); } pthread_mutex_unlock(&sq->lock); pollreactor_free(sq->pr); @@ -728,7 +728,7 @@ serialqueue_alloc_commandqueue(void) struct command_queue *cq = malloc(sizeof(*cq)); memset(cq, 0, sizeof(*cq)); list_init(&cq->ready_queue); - list_init(&cq->stalled_queue); + list_init(&cq->upcoming_queue); return cq; } @@ -738,7 +738,7 @@ serialqueue_free_commandqueue(struct command_queue *cq) { if (!cq) return; - if (!list_empty(&cq->ready_queue) || !list_empty(&cq->stalled_queue)) { + if (!list_empty(&cq->ready_queue) || !list_empty(&cq->upcoming_queue)) { errorf("Memory leak! Can't free non-empty commandqueue"); return; } @@ -784,12 +784,12 @@ serialqueue_send_batch(struct serialqueue *sq, struct command_queue *cq return; qm = list_first_entry(msgs, struct queue_message, node); - // Add list to cq->stalled_queue + // Add list to cq->upcoming_queue pthread_mutex_lock(&sq->lock); - if (list_empty(&cq->ready_queue) && list_empty(&cq->stalled_queue)) + if (list_empty(&cq->ready_queue) && list_empty(&cq->upcoming_queue)) list_add_tail(&cq->node, &sq->pending_queues); - list_join_tail(msgs, &cq->stalled_queue); - sq->stalled_bytes += len; + list_join_tail(msgs, &cq->upcoming_queue); + sq->upcoming_bytes += len; int mustwake = 0; if (qm->min_clock < sq->need_kick_clock) { sq->need_kick_clock = 0; @@ -925,13 +925,13 @@ serialqueue_get_stats(struct serialqueue *sq, char *buf, int len) " bytes_retransmit=%u bytes_invalid=%u" " send_seq=%u receive_seq=%u retransmit_seq=%u" " srtt=%.3f rttvar=%.3f rto=%.3f" - " ready_bytes=%u stalled_bytes=%u" + " ready_bytes=%u upcoming_bytes=%u" , stats.bytes_write, stats.bytes_read , stats.bytes_retransmit, stats.bytes_invalid , (int)stats.send_seq, (int)stats.receive_seq , (int)stats.retransmit_seq , stats.srtt, stats.rttvar, stats.rto - , stats.ready_bytes, stats.stalled_bytes); + , stats.ready_bytes, stats.upcoming_bytes); } // Extract old messages stored in the debug queues From 83308a10510ca4efa022c463b5e6455192f8a0a7 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Tue, 28 Mar 2023 16:34:58 -0400 Subject: [PATCH 21/40] tmc: Support reporting tmc2240 temperature in driver get_status() Signed-off-by: Kevin O'Connor --- docs/Status_Reference.md | 3 +++ klippy/extras/tmc.py | 24 +++++++++++++++++++----- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/docs/Status_Reference.md b/docs/Status_Reference.md index 423e3fd50a68..84b4de73ae00 100644 --- a/docs/Status_Reference.md +++ b/docs/Status_Reference.md @@ -458,6 +458,9 @@ objects (eg, `[tmc2208 stepper_x]`): - `drv_status`: The results of the last driver status query. (Only non-zero fields are reported.) This field will be null if the driver is not enabled (and thus is not periodically queried). +- `temperature`: The internal temperature reported by the driver. This + field will be null if the driver is not enabled or if the driver + does not support temperature reporting. - `run_current`: The currently set run current. - `hold_current`: The currently set hold current. diff --git a/klippy/extras/tmc.py b/klippy/extras/tmc.py index 10a157691e50..28f7be6fc01f 100644 --- a/klippy/extras/tmc.py +++ b/klippy/extras/tmc.py @@ -93,7 +93,7 @@ def __init__(self, config, mcu_tmc): self.mcu_tmc = mcu_tmc self.fields = mcu_tmc.get_fields() self.check_timer = None - self.last_drv_status = self.last_status = None + self.last_drv_status = self.last_drv_fields = None # Setup for GSTAT query reg_name = self.fields.lookup_register("drv_err") if reg_name is not None: @@ -122,6 +122,9 @@ def __init__(self, config, mcu_tmc): if f in err_fields: err_mask |= self.fields.all_fields[reg_name][f] self.drv_status_reg_info = [0, reg_name, mask, err_mask, cs_actual_mask] + # Setup for temperature query + self.adc_temp = None + self.adc_temp_reg = self.fields.lookup_register("adc_temp") def _query_register(self, reg_info, try_clear=False): last_value, reg_name, mask, err_mask, cs_actual_mask = reg_info cleared_flags = 0 @@ -161,11 +164,20 @@ def _query_register(self, reg_info, try_clear=False): cleared_flags |= val & err_mask self.mcu_tmc.set_register(reg_name, val & err_mask) return cleared_flags + def _query_temperature(self): + try: + self.adc_temp = self.mcu_tmc.get_register(self.adc_temp_reg) + except self.printer.command_error as e: + # Ignore comms error for temperature + self.adc_temp = None + return def _do_periodic_check(self, eventtime): try: self._query_register(self.drv_status_reg_info) if self.gstat_reg_info is not None: self._query_register(self.gstat_reg_info) + if self.adc_temp_reg is not None: + self._query_temperature() except self.printer.command_error as e: self.printer.invoke_shutdown(str(e)) return self.printer.get_reactor().NEVER @@ -194,14 +206,16 @@ def start_checks(self): return False def get_status(self, eventtime=None): if self.check_timer is None: - return {'drv_status': None} + return {'drv_status': None, 'temperature': None} + temp = None + if self.adc_temp is not None: + temp = round((self.adc_temp - 2038) / 7.7, 2) last_value, reg_name = self.drv_status_reg_info[:2] if last_value != self.last_drv_status: self.last_drv_status = last_value fields = self.fields.get_reg_fields(reg_name, last_value) - fields = {n: v for n, v in fields.items() if v} - self.last_status = {'drv_status': fields} - return self.last_status + self.last_drv_fields = {n: v for n, v in fields.items() if v} + return {'drv_status': self.last_drv_fields, 'temperature': temp} ###################################################################### From aa8a6f4cf1a50724a61fd0ee6a80590677856b21 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Tue, 11 Apr 2023 11:20:57 -0400 Subject: [PATCH 22/40] lib: Update to latest can2040 code Avoid some gcc warnings by using uint32_t for iterators Better document the fallthough case statement in crc_bytes() Fix txpending race from report_line_ackdone() Make can2040_transmit() multi-cpu atomic Signed-off-by: Kevin O'Connor --- lib/README | 2 +- lib/can2040/can2040.c | 32 ++++++++++++++++++++------------ 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/lib/README b/lib/README index 84bfcb56f020..ce24bce650ca 100644 --- a/lib/README +++ b/lib/README @@ -155,7 +155,7 @@ used to upload firmware to devices flashed with the CanBoot bootloader. The can2040 directory contains code from: https://github.com/KevinOConnor/can2040 -revision 177b0073fe6f19281ee7f7fdbe9599e32d1b4b8b. +revision d1190afcaa6245c20da28199d06e453d2e743099. The Huada HC32F460 directory contains code from: https://www.hdsc.com.cn/Category83-1490 diff --git a/lib/can2040/can2040.c b/lib/can2040/can2040.c index fb9e3fb62b64..759f09747ab9 100644 --- a/lib/can2040/can2040.c +++ b/lib/can2040/can2040.c @@ -267,7 +267,7 @@ pio_tx_send(struct can2040 *cd, uint32_t *data, uint32_t count) pio_hw_t *pio_hw = cd->pio_hw; pio_tx_reset(cd); pio_hw->instr_mem[can2040_offset_tx_got_recessive] = 0xa242; // nop [2] - int i; + uint32_t i; for (i=0; itxf[3] = data[i]; struct pio_sm_hw *sm = &pio_hw->sm[3]; @@ -351,7 +351,7 @@ pio_sm_setup(struct can2040 *cd) pio_signal_set_txpending(cd); // Load pio program - int i; + uint32_t i; for (i=0; iinstr_mem[i] = can2040_program_instructions[i]; @@ -436,9 +436,9 @@ static inline uint32_t crc_bytes(uint32_t crc, uint32_t data, uint32_t num) { switch (num) { - default: crc = crc_byte(crc, data >> 24); - case 3: crc = crc_byte(crc, data >> 16); - case 2: crc = crc_byte(crc, data >> 8); + default: crc = crc_byte(crc, data >> 24); /* FALLTHRU */ + case 3: crc = crc_byte(crc, data >> 16); /* FALLTHRU */ + case 2: crc = crc_byte(crc, data >> 8); /* FALLTHRU */ case 1: crc = crc_byte(crc, data); } return crc; @@ -647,14 +647,19 @@ tx_schedule_transmit(struct can2040 *cd) if (cd->tx_state == TS_QUEUED && !pio_tx_did_fail(cd)) // Already queued or actively transmitting return 0; - if (cd->tx_push_pos == cd->tx_pull_pos) { + uint32_t tx_pull_pos = cd->tx_pull_pos; + if (readl(&cd->tx_push_pos) == tx_pull_pos) { // No new messages to transmit cd->tx_state = TS_IDLE; pio_signal_clear_txpending(cd); - return SI_TXPENDING; + __DMB(); + if (likely(readl(&cd->tx_push_pos) == tx_pull_pos)) + return SI_TXPENDING; + // Raced with can2040_transmit() - msg is now available for transmit + pio_signal_set_txpending(cd); } cd->tx_state = TS_QUEUED; - struct can2040_transmit *qt = &cd->tx_queue[tx_qpos(cd, cd->tx_pull_pos)]; + struct can2040_transmit *qt = &cd->tx_queue[tx_qpos(cd, tx_pull_pos)]; pio_tx_send(cd, qt->stuffed_data, qt->stuffed_words); return 0; } @@ -717,7 +722,7 @@ report_callback_rx_msg(struct can2040 *cd) static void report_callback_tx_msg(struct can2040 *cd) { - cd->tx_pull_pos++; + writel(&cd->tx_pull_pos, cd->tx_pull_pos + 1); cd->rx_cb(cd, CAN2040_NOTIFY_TX, &cd->parse_msg); } @@ -856,7 +861,9 @@ report_line_maytx(struct can2040 *cd) static void report_line_txpending(struct can2040 *cd) { - if (cd->report_state == RS_NEED_RX_ACK) { + uint32_t pio_irqs = pio_irq_get(cd); + if (pio_irqs == (SI_MAYTX | SI_TXPENDING | SI_RX_DATA) + && cd->report_state == RS_NEED_RX_ACK) { // Ack inject request from report_note_crc_start() uint32_t mk = pio_match_calc_key(cd->parse_crc_bits, cd->parse_crc_pos); tx_inject_ack(cd, mk); @@ -866,7 +873,7 @@ report_line_txpending(struct can2040 *cd) // Tx request from can2040_transmit(), report_note_eof_success(), // or report_note_parse_error(). uint32_t check_txpending = tx_schedule_transmit(cd); - pio_irq_set(cd, (pio_irq_get(cd) & ~SI_TXPENDING) | check_txpending); + pio_irq_set(cd, (pio_irqs & ~SI_TXPENDING) | check_txpending); } @@ -1241,7 +1248,7 @@ can2040_transmit(struct can2040 *cd, struct can2040_msg *msg) crc = crc_bytes(crc, hdr, 3); bs_push(&bs, hdr, 19); } - int i; + uint32_t i; for (i=0; imsg.data[i]; crc = crc_byte(crc, v); @@ -1256,6 +1263,7 @@ can2040_transmit(struct can2040 *cd, struct can2040_msg *msg) writel(&cd->tx_push_pos, tx_push_pos + 1); // Wakeup if in TS_IDLE state + __DMB(); pio_signal_set_txpending(cd); return 0; From d16adc356bc03cbb1095f4b91b57afbdec667dd4 Mon Sep 17 00:00:00 2001 From: flowerysong Date: Tue, 11 Apr 2023 11:39:41 -0400 Subject: [PATCH 23/40] docs: Add missing code block indicators to Slicers.md(#6161) Signed-off-by: Paul Arthur --- docs/Slicers.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/Slicers.md b/docs/Slicers.md index cb0f5e6d06fb..afffe7499994 100644 --- a/docs/Slicers.md +++ b/docs/Slicers.md @@ -103,7 +103,9 @@ START_PRINT BED_TEMP={material_bed_temperature_layer_0} EXTRUDER_TEMP={material_ In slic3r derivatives such as PrusaSlicer and SuperSlicer, the following would be used: +``` START_PRINT EXTRUDER_TEMP=[first_layer_temperature] BED_TEMP=[first_layer_bed_temperature] +``` Also note that these slicers will insert their own heating codes when certain conditions are not met. In Cura, the existence of the From c2b2278a49a25ec180a9671e3f5a37643a102658 Mon Sep 17 00:00:00 2001 From: vcore85 Date: Tue, 11 Apr 2023 23:43:19 +0800 Subject: [PATCH 24/40] tmc5160: add DRV_CONF Register for TMC5160 (#6154) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In some condition ,“drvstrength 2” does not work. According to page 17, some mosfets need “drvstrength” set to 0 . From datasheet rev1.15, the DRVSTRENGTH reset default is 0 . (instead of 2) Signed-off-by: Albert Lin --- docs/Config_Reference.md | 4 ++++ klippy/extras/tmc5160.py | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/docs/Config_Reference.md b/docs/Config_Reference.md index a3c1e3145e5d..7aab31d7c289 100644 --- a/docs/Config_Reference.md +++ b/docs/Config_Reference.md @@ -3524,6 +3524,10 @@ run_current: #driver_SEDN: 0 #driver_SEIMIN: 0 #driver_SFILT: 0 +#driver_DRVSTRENGTH: 0 +#driver_BBMCLKS: 4 +#driver_BBMTIME: 0 +#driver_FILT_ISENSE: 0 # Set the given register during the configuration of the TMC5160 # chip. This may be used to set custom motor parameters. The # defaults for each parameter are next to the parameter name in the diff --git a/klippy/extras/tmc5160.py b/klippy/extras/tmc5160.py index 0e7acf60a60e..1e8266b3cf54 100644 --- a/klippy/extras/tmc5160.py +++ b/klippy/extras/tmc5160.py @@ -105,6 +105,13 @@ "diss2g": 0x01 << 30, "diss2vs": 0x01 << 31 } +Fields["DRV_CONF"] = { + "bbmtime": 0x1F << 0, + "bbmclks": 0x0F << 8, + "otselect": 0x03 << 16, + "drvstrength": 0x03 << 18, + "filt_isense": 0x03 << 20, +} Fields["DRV_STATUS"] = { "sg_result": 0x3FF << 0, "s2vsa": 0x01 << 12, @@ -352,6 +359,11 @@ def __init__(self, config): set_config_field(config, "seimin", 0) set_config_field(config, "sgt", 0) set_config_field(config, "sfilt", 0) + # DRV_CONF + set_config_field(config, "drvstrength", 0) + set_config_field(config, "bbmclks", 4) + set_config_field(config, "bbmtime", 0) + set_config_field(config, "filt_isense", 0) # IHOLDIRUN set_config_field(config, "iholddelay", 6) # PWMCONF From a8b1b0ef0572f07f04f0d68969ef042fff290fa7 Mon Sep 17 00:00:00 2001 From: Nathan Date: Tue, 11 Apr 2023 23:48:20 +0800 Subject: [PATCH 25/40] docs: Fix duplicate section in Measuring_Resonaces.md (#6160) Removed a duplicated section in Measuring_Resonances.md. Also fixed its header level. Signed-off-by: Nathan Chiu --- docs/Measuring_Resonances.md | 29 ++--------------------------- 1 file changed, 2 insertions(+), 27 deletions(-) diff --git a/docs/Measuring_Resonances.md b/docs/Measuring_Resonances.md index 91d538a4eecd..1ab21eed8788 100644 --- a/docs/Measuring_Resonances.md +++ b/docs/Measuring_Resonances.md @@ -66,7 +66,7 @@ Note that unlike a cable shield, GND must be connected at both ends. #### ADXL345 -###### Direct to Raspberry Pi +##### Direct to Raspberry Pi **Note: Many MCUs will work with an ADXL345 in SPI mode (e.g. Pi Pico), wiring and configuration will vary according to your specific board and available @@ -89,32 +89,7 @@ Fritzing wiring diagrams for some of the ADXL345 boards: ![ADXL345-Rpi](img/adxl345-fritzing.png) -###### Using Raspberry Pi Pico - -You may connect the ADXL345 to your Raspberry Pi Pico and then connect the -Pico to your Raspberry Pi via USB. This makes it easy to reuse the -accelerometer on other Klipper devices, as you can connect via USB instead -of GPIO. The Pico does not have much processing power, so make sure it is -only running the accelerometer and not performing any other duties. - -In order to avoid damage to your RPi make sure to connect the ADXL345 to 3.3V -only. Depending on the board's layout, a level shifter may be present, which -makes 5V dangerous for your RPi. - -| ADXL345 pin | Pico pin | Pico pin name | -|:--:|:--:|:--:| -| 3V3 (or VCC) | 36 | 3.3V DC power | -| GND | 38 | Ground | -| CS | 2 | GP1 (SPI0_CSn) | -| SDO | 1 | GP0 (SPI0_RX) | -| SDA | 5 | GP3 (SPI0_TX) | -| SCL | 4 | GP2 (SPI0_SCK) | - -Wiring diagrams for some of the ADXL345 boards: - -![ADXL345-Pico](img/adxl345-pico.png) - -###### Using Raspberry Pi Pico +##### Using Raspberry Pi Pico You may connect the ADXL345 to your Raspberry Pi Pico and then connect the Pico to your Raspberry Pi via USB. This makes it easy to reuse the From 4748dffd7a0fcf736b270b6d37c5e6fbb8f07805 Mon Sep 17 00:00:00 2001 From: Scott Mudge <19617165+scottmudge@users.noreply.github.com> Date: Sat, 15 Apr 2023 19:17:54 -0400 Subject: [PATCH 26/40] docs: Add AHT10 temperature sensor doc section in Config_Reference.md (followup #6138) (#6167) Followed general outline used by HTU21D and BME280. Signed-off-by: Scott Mudge --- docs/Config_Reference.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/Config_Reference.md b/docs/Config_Reference.md index 7aab31d7c289..eda1a06e93aa 100644 --- a/docs/Config_Reference.md +++ b/docs/Config_Reference.md @@ -2375,6 +2375,29 @@ sensor_type: BME280 # above parameters. ``` +### AHT10 temperature sensor + +AHT10 two wire interface (I2C) environmental sensor. +Note that these sensors are not intended for use with extruders and +heater beds, but rather for monitoring ambient temperature (C) and +relative humidity. See +[sample-macros.cfg](../config/sample-macros.cfg) for a gcode_macro +that may be used to report humidity in addition to temperature. + +``` +sensor_type: AHT10 +#i2c_address: +# Default is 56 (0x38). Some AHT10 sensors give the option to use +# 57 (0x39) by moving a resistor. +#i2c_mcu: +#i2c_bus: +#i2c_speed: +# See the "common I2C settings" section for a description of the +# above parameters. +#aht10_report_time: +# Interval in seconds between readings. Default is 30, minimum is 5 +``` + ### HTU21D sensor HTU21D family two wire interface (I2C) environmental sensor. Note that From cba119db3a386c70caa4dc1f0a52be626792e208 Mon Sep 17 00:00:00 2001 From: xpeng <46627911+xiaopeng12138@users.noreply.github.com> Date: Sun, 16 Apr 2023 04:24:02 +0200 Subject: [PATCH 27/40] config: Add printer configuration for Anycubic Kobra Go (#6166) Signed-off-by: Yipeng Zhou --- config/printer-anycubic-kobra-go-2022.cfg | 133 ++++++++++++++++++++++ test/klippy/printers.test | 1 + 2 files changed, 134 insertions(+) create mode 100644 config/printer-anycubic-kobra-go-2022.cfg diff --git a/config/printer-anycubic-kobra-go-2022.cfg b/config/printer-anycubic-kobra-go-2022.cfg new file mode 100644 index 000000000000..525a50bd2837 --- /dev/null +++ b/config/printer-anycubic-kobra-go-2022.cfg @@ -0,0 +1,133 @@ +# This file contains a configuration for the Anycubic Kobra Go printer. +# +# See docs/Config_Reference.md for a description of parameters. +# +# To build the firmware, use the following configuration: +# - Micro-controller: Huada Semiconductor HC32F460 +# - Communication interface: Serial (PA3 & PA2) - Anycubic +# +# Installation: +# 1. Rename the klipper bin to `firmware.bin` and copy it to an SD Card. +# 2. Power off the Printer, insert the SD Card and power it on. +# 3. The the LCD will be stuck on the Firmware-update screen. +# Just Wait for 3-5 minutes to ensure the firmware is flashed. +# 4. After waiting, shutdown the printer and remove the SD Card. + +[stepper_x] +step_pin: PA12 +dir_pin: PA11 +enable_pin: !PA15 +microsteps: 16 +rotation_distance: 40 +endstop_pin: !PH2 +position_endstop: -13 +position_min:-13 +position_max: 238 +homing_speed: 50 + +[stepper_y] +step_pin: PA9 +dir_pin: PA8 +enable_pin: !PA15 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^!PC13 +position_endstop: -9 +position_min:-9 +position_max: 238 +homing_speed: 50 + +[stepper_z] +step_pin: PC7 +dir_pin: !PC6 +enable_pin: !PA15 +microsteps: 16 +rotation_distance: 8 +endstop_pin: ^PC14 +position_endstop: 0 +position_min: -10 +position_max: 250 +homing_speed: 5 + +[extruder] +step_pin: PB15 +dir_pin: PB14 +enable_pin: !PA15 +microsteps: 16 +rotation_distance: 31.07 +max_extrude_only_velocity: 25 +max_extrude_only_accel: 1000 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: PB8 +sensor_type: ATC Semitec 104GT-2 +sensor_pin: PC3 +min_extrude_temp: 170 +min_temp: 0 +max_temp: 250 +control: pid +pid_kp: 19.56 +pid_ki: 1.62 +pid_kd: 200.00 + +[heater_bed] +heater_pin: PB9 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PC1 +min_temp: 0 +max_temp: 120 +control: pid +pid_kp: 97.1 +pid_ki: 1.41 +pid_kd: 1675.16 + +[bed_mesh] +speed: 200 +horizontal_move_z: 2.5 +mesh_min: 5, 5 +mesh_max: 217.2, 207.8 +probe_count: 5, 5 + +[probe] +pin: PA1 +x_offset: -20.8 +y_offset: 0 +z_offset: 0 +samples: 3 +samples_result: average +samples_tolerance_retries: 3 +sample_retract_dist: 0.5 +speed: 2 +lift_speed: 4 + +[safe_z_home] +home_xy_position: 0, 0 +speed: 5 +z_hop: 10 +z_hop_speed: 15 + +[controller_fan controller_fan] +pin: PB12 + +[heater_fan extruder_fan] +pin: PB13 + +[fan] +pin: PB5 +cycle_time: 0.00005 #20kHz + +[output_pin enable_pin] +pin: PB6 +static_value: 1 + #This pin enables the bed, hotend, extruder fan, part fan. + +[mcu] +serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 +restart_method: command + +[printer] +kinematics: cartesian +max_velocity: 300 +max_accel: 500 +max_z_velocity: 4 +max_z_accel: 100 diff --git a/test/klippy/printers.test b/test/klippy/printers.test index 431bb8f58f1e..7194eb46dc69 100644 --- a/test/klippy/printers.test +++ b/test/klippy/printers.test @@ -257,6 +257,7 @@ CONFIG ../../config/generic-bigtreetech-skr-pico-v1.0.cfg # Anycubic Printers using trigorilla board with the hc32f460 DICTIONARY hc32f460-serial-PA3PA2.dict +CONFIG ../../config/printer-anycubic-kobra-go-2022.cfg CONFIG ../../config/printer-anycubic-kobra-plus-2022.cfg # Printers using the PRU From 40b4b34998c0708b2050c394feb383f901b76a0b Mon Sep 17 00:00:00 2001 From: Florin Popescu Date: Wed, 19 Apr 2023 17:47:18 +0200 Subject: [PATCH 28/40] stm32: Support for USART5 on STM32G0B1 (#6105) Support for USART5 on PD2,3 Add exception on RCC bits for USART5&6 Signed-off-by: Florin Popescu --- src/stm32/Kconfig | 4 ++++ src/stm32/stm32f0_serial.c | 11 +++++++++++ src/stm32/stm32g0.c | 8 ++++++++ 3 files changed, 23 insertions(+) diff --git a/src/stm32/Kconfig b/src/stm32/Kconfig index 30b2e48d891f..5d82f9c3f6db 100644 --- a/src/stm32/Kconfig +++ b/src/stm32/Kconfig @@ -400,6 +400,10 @@ choice bool "Serial (on UART4 PA0/PA1)" depends on MACH_STM32H7 select SERIAL + config STM32_SERIAL_USART5 + bool "Serial (on USART5 PD2/PD3)" if LOW_LEVEL_OPTIONS + depends on MACH_STM32G0Bx + select SERIAL config STM32_CANBUS_PA11_PA12 bool "CAN bus (on PA11/PA12)" depends on HAVE_STM32_CANBUS || HAVE_STM32_FDCANBUS diff --git a/src/stm32/stm32f0_serial.c b/src/stm32/stm32f0_serial.c index 4f6495f7ecb7..e48960f1163c 100644 --- a/src/stm32/stm32f0_serial.c +++ b/src/stm32/stm32f0_serial.c @@ -78,6 +78,13 @@ #define USARTx_FUNCTION GPIO_FUNCTION(8) #define USARTx UART4 #define USARTx_IRQn UART4_IRQn +#elif CONFIG_STM32_SERIAL_USART5 + DECL_CONSTANT_STR("RESERVE_PINS_serial", "PD2,PD3"); + #define GPIO_Rx GPIO('D', 2) + #define GPIO_Tx GPIO('D', 3) + #define USARTx_FUNCTION GPIO_FUNCTION(3) + #define USARTx USART5 + #define USARTx_IRQn USART5_IRQn #endif #if CONFIG_MACH_STM32F031 @@ -90,6 +97,10 @@ // Some of the stm32g0 MCUs have slightly different register names #if CONFIG_MACH_STM32G0B1 #define USART2_IRQn USART2_LPUART2_IRQn + #define USART3_IRQn USART3_4_5_6_LPUART1_IRQn + #define USART4_IRQn USART3_4_5_6_LPUART1_IRQn + #define USART5_IRQn USART3_4_5_6_LPUART1_IRQn + #define USART6_IRQn USART3_4_5_6_LPUART1_IRQn #endif #define USART_CR1_RXNEIE USART_CR1_RXNEIE_RXFNEIE #define USART_CR1_TXEIE USART_CR1_TXEIE_TXFNFIE diff --git a/src/stm32/stm32g0.c b/src/stm32/stm32g0.c index b96d4a517fd1..7408612ade2e 100644 --- a/src/stm32/stm32g0.c +++ b/src/stm32/stm32g0.c @@ -32,6 +32,14 @@ lookup_clock_line(uint32_t periph_base) uint32_t bit = 1 << ((periph_base - AHBPERIPH_BASE) / 0x400); return (struct cline){.en=&RCC->AHBENR, .rst=&RCC->AHBRSTR, .bit=bit}; } +#ifdef USART5_BASE + if (periph_base == USART5_BASE) + return (struct cline){.en=&RCC->APBENR1,.rst=&RCC->APBRSTR1,.bit=1<<8}; +#endif +#ifdef USART6_BASE + if (periph_base == USART6_BASE) + return (struct cline){.en=&RCC->APBENR1,.rst=&RCC->APBRSTR1,.bit=1<<9}; +#endif #if defined(FDCAN1_BASE) || defined(FDCAN2_BASE) if ((periph_base == FDCAN1_BASE) || (periph_base == FDCAN2_BASE)) return (struct cline){.en=&RCC->APBENR1,.rst=&RCC->APBRSTR1,.bit=1<<12}; From d68a6c28ba93df4f9bca6cb5a4bde4da09adfa0e Mon Sep 17 00:00:00 2001 From: Justin Schuh Date: Sat, 8 Apr 2023 19:34:32 -0700 Subject: [PATCH 29/40] webhooks: Log json encoding errors Signed-off-by: Justin Schuh --- klippy/webhooks.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/klippy/webhooks.py b/klippy/webhooks.py index 43ff9a914e62..9188a4f70af4 100644 --- a/klippy/webhooks.py +++ b/klippy/webhooks.py @@ -268,8 +268,14 @@ def _process_request(self, web_request): self.send(result) def send(self, data): - jmsg = json.dumps(data, separators=(',', ':')) - self.send_buffer += jmsg.encode() + b"\x03" + try: + jmsg = json.dumps(data, separators=(',', ':')) + self.send_buffer += jmsg.encode() + b"\x03" + except (TypeError, ValueError) as e: + msg = ("json encoding error: %s" % (str(e),)) + logging.exception(msg) + self.printer.invoke_shutdown(msg) + return if not self.is_blocking: self._do_send() From c2fe37292584455e71ca6e531b9d7286d4cb56a6 Mon Sep 17 00:00:00 2001 From: Justin Schuh Date: Wed, 12 Apr 2023 07:27:15 -0700 Subject: [PATCH 30/40] gcode_macro: Catch variable encoding errors Catch parsing and json encoding errors at variable assignment. Signed-off-by: Justin Schuh --- klippy/extras/gcode_macro.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/klippy/extras/gcode_macro.py b/klippy/extras/gcode_macro.py index 4f50c75ade02..78cdae0eea3c 100644 --- a/klippy/extras/gcode_macro.py +++ b/klippy/extras/gcode_macro.py @@ -3,7 +3,7 @@ # Copyright (C) 2018-2021 Kevin O'Connor # # This file may be distributed under the terms of the GNU GPLv3 license. -import traceback, logging, ast, copy +import traceback, logging, ast, copy, json import jinja2 @@ -144,12 +144,13 @@ def __init__(self, config): prefix = 'variable_' for option in config.get_prefix_options(prefix): try: - self.variables[option[len(prefix):]] = ast.literal_eval( - config.get(option)) - except ValueError as e: + literal = ast.literal_eval(config.get(option)) + json.dumps(literal, separators=(',', ':')) + self.variables[option[len(prefix):]] = literal + except (SyntaxError, TypeError, ValueError) as e: raise config.error( - "Option '%s' in section '%s' is not a valid literal" % ( - option, config.get_name())) + "Option '%s' in section '%s' is not a valid literal: %s" % ( + option, config.get_name(), e)) def handle_connect(self): prev_cmd = self.gcode.register_command(self.alias, None) if prev_cmd is None: @@ -169,8 +170,10 @@ def cmd_SET_GCODE_VARIABLE(self, gcmd): raise gcmd.error("Unknown gcode_macro variable '%s'" % (variable,)) try: literal = ast.literal_eval(value) - except ValueError as e: - raise gcmd.error("Unable to parse '%s' as a literal" % (value,)) + json.dumps(literal, separators=(',', ':')) + except (SyntaxError, TypeError, ValueError) as e: + raise gcmd.error("Unable to parse '%s' as a literal: %s" % + (value, e)) v = dict(self.variables) v[variable] = literal self.variables = v From 80a7744b42aabd38eab52f845fc94a724d6676c0 Mon Sep 17 00:00:00 2001 From: "Dr. Matthew Swabey" Date: Wed, 19 Apr 2023 12:34:22 -0400 Subject: [PATCH 31/40] sensor_mpu9250: Fix or improve reliability (#6170) Fixes common MPU-9250 accelerometer issues for RPi Linux MCU and improves reliability on all other architectures by adjusting the MPU-* reading algorithm to only read whole Klipper messages' worth of data from MPU-* and eliminating many unnecessary checks of the MPU FIFO fill-level that consumed bus bandwidth needed for data transfer. Fixes intermittent "Lost communication with MCU 'rpi'" due to "Timer too close" and transposed / corrupted data due to FIFO overrun/data loss when using MPU-* accelerometers. In addition FIFO overrun checks are performed by testing the MPU interrupt flag vs. inferring from the FIFO fill level. Stress tested for 13hrs with two MPU-6500 attached to one I2C bus on RPi and one on a PR2040 Stress tested for 23hrs with two MPU-6500 attached to one I2C bus on RPi and one on a ATmega328P (Seeduino Nano) Signed-off-by: Matthew Swabey --- klippy/extras/mpu9250.py | 2 +- src/sensor_mpu9250.c | 102 +++++++++++++++++++++------------------ 2 files changed, 55 insertions(+), 49 deletions(-) diff --git a/klippy/extras/mpu9250.py b/klippy/extras/mpu9250.py index 419207fc4384..dc25449bba7b 100644 --- a/klippy/extras/mpu9250.py +++ b/klippy/extras/mpu9250.py @@ -221,7 +221,7 @@ def _start_measurements(self): systime = self.printer.get_reactor().monotonic() print_time = self.mcu.estimated_print_time(systime) + MIN_MSG_TIME reqclock = self.mcu.print_time_to_clock(print_time) - rest_ticks = self.mcu.seconds_to_clock(1. / self.data_rate) + rest_ticks = self.mcu.seconds_to_clock(4. / self.data_rate) self.query_rate = self.data_rate self.query_mpu9250_cmd.send([self.oid, reqclock, rest_ticks], reqclock=reqclock) diff --git a/src/sensor_mpu9250.c b/src/sensor_mpu9250.c index d7f3092867ce..51df5a711d31 100644 --- a/src/sensor_mpu9250.c +++ b/src/sensor_mpu9250.c @@ -1,5 +1,6 @@ // Support for gathering acceleration data from mpu9250 chip // +// Copyright (C) 2023 Matthew Swabey // Copyright (C) 2022 Harry Beyel // Copyright (C) 2020-2021 Kevin O'Connor // @@ -24,6 +25,7 @@ #define AR_USER_CTRL 0x6A #define AR_FIFO_COUNT_H 0x72 #define AR_FIFO 0x74 +#define AR_INT_STATUS 0x3A #define SET_ENABLE_FIFO 0x08 #define SET_DISABLE_FIFO 0x00 @@ -35,15 +37,17 @@ #define SET_PWR_2_ACCEL 0x07 // only enable accelerometers #define SET_PWR_2_NONE 0x3F // disable all sensors +#define FIFO_OVERFLOW_INT 0x10 + #define BYTES_PER_FIFO_ENTRY 6 struct mpu9250 { struct timer timer; uint32_t rest_ticks; struct i2cdev_s *i2c; - uint16_t sequence, limit_count; + uint16_t sequence, limit_count, fifo_max, fifo_pkts_bytes; uint8_t flags, data_count; - // data size must be <= 255 due to i2c api + // msg size must be <= 255 due to Klipper api // = SAMPLES_PER_BLOCK (from mpu9250.py) * BYTES_PER_FIFO_ENTRY + 1 uint8_t data[48]; }; @@ -55,14 +59,16 @@ enum { static struct task_wake mpu9250_wake; // Reads the fifo byte count from the device. -uint16_t +static uint16_t get_fifo_status (struct mpu9250 *mp) { - uint8_t regs[] = {AR_FIFO_COUNT_H}; + uint8_t reg[] = {AR_FIFO_COUNT_H}; uint8_t msg[2]; - i2c_read(mp->i2c->i2c_config, sizeof(regs), regs, 2, msg); + i2c_read(mp->i2c->i2c_config, sizeof(reg), reg, sizeof(msg), msg); msg[0] = 0x1F & msg[0]; // discard 3 MSB per datasheet - return (((uint16_t)msg[0]) << 8 | msg[1]); + uint16_t bytes_to_read = ((uint16_t)msg[0]) << 8 | msg[1]; + if (bytes_to_read > mp->fifo_max) mp->fifo_max = bytes_to_read; + return bytes_to_read; } // Event handler that wakes mpu9250_task() periodically @@ -120,42 +126,30 @@ mp9250_reschedule_timer(struct mpu9250 *mp) static void mp9250_query(struct mpu9250 *mp, uint8_t oid) { - // Check fifo status - uint16_t fifo_bytes = get_fifo_status(mp); - if (fifo_bytes >= AR_FIFO_SIZE - BYTES_PER_FIFO_ENTRY) - mp->limit_count++; - - // Read data - // FIFO data are: [Xh, Xl, Yh, Yl, Zh, Zl] - uint8_t reg = AR_FIFO; - uint8_t bytes_to_read = fifo_bytes < sizeof(mp->data) - mp->data_count ? - fifo_bytes & 0xFF : - (sizeof(mp->data) - mp->data_count) & 0xFF; + // Find remaining space in report buffer + uint8_t data_space = sizeof(mp->data) - mp->data_count; - // round down to nearest full packet of data - bytes_to_read = bytes_to_read / BYTES_PER_FIFO_ENTRY * BYTES_PER_FIFO_ENTRY; + // If not enough bytes to fill report read MPU FIFO's fill + if (mp->fifo_pkts_bytes < data_space) { + mp->fifo_pkts_bytes = get_fifo_status(mp) / BYTES_PER_FIFO_ENTRY + * BYTES_PER_FIFO_ENTRY; + } - // Extract x, y, z measurements into data holder and report - if (bytes_to_read > 0) { + // If we have enough bytes to fill the buffer do it and send report + if (mp->fifo_pkts_bytes >= data_space) { + uint8_t reg = AR_FIFO; i2c_read(mp->i2c->i2c_config, sizeof(reg), ®, - bytes_to_read, &mp->data[mp->data_count]); - mp->data_count += bytes_to_read; - - // report data when buffer is full - if (mp->data_count + BYTES_PER_FIFO_ENTRY > sizeof(mp->data)) { - mp9250_report(mp, oid); - } + data_space, &mp->data[mp->data_count]); + mp->data_count += data_space; + mp->fifo_pkts_bytes -= data_space; + mp9250_report(mp, oid); } - // check if we need to run the task again (more packets in fifo?) - if ( bytes_to_read > 0 && - bytes_to_read / BYTES_PER_FIFO_ENTRY < - fifo_bytes / BYTES_PER_FIFO_ENTRY) { - // more data still ready in the fifo buffer + // If we have enough bytes remaining to fill another report wake again + // otherwise schedule timed wakeup + if (mp->fifo_pkts_bytes > data_space) { sched_wake_task(&mpu9250_wake); - } - else if (mp->flags & AX_RUNNING) { - // No more fifo data, but actively running. Sleep until next check + } else if (mp->flags & AX_RUNNING) { sched_del_timer(&mp->timer); mp->flags &= ~AX_PENDING; mp9250_reschedule_timer(mp); @@ -182,6 +176,9 @@ mp9250_start(struct mpu9250 *mp, uint8_t oid) msg[1] = SET_USER_FIFO_EN; // enable FIFO buffer access i2c_write(mp->i2c->i2c_config, sizeof(msg), msg); + uint8_t int_reg[] = {AR_INT_STATUS}; // clear FIFO overflow flag + i2c_read(mp->i2c->i2c_config, sizeof(int_reg), int_reg, 1, msg); + msg[0] = AR_FIFO_EN; msg[1] = SET_ENABLE_FIFO; // enable accel output to FIFO i2c_write(mp->i2c->i2c_config, sizeof(msg), msg); @@ -203,18 +200,24 @@ mp9250_stop(struct mpu9250 *mp, uint8_t oid) i2c_write(mp->i2c->i2c_config, sizeof(msg), msg); uint32_t end2_time = timer_read_time(); - // Drain any measurements still in fifo - uint16_t fifo_bytes = get_fifo_status(mp); - while (fifo_bytes >= BYTES_PER_FIFO_ENTRY) { - mp9250_query(mp, oid); - fifo_bytes = get_fifo_status(mp); - } + // Detect if a FIFO overrun occured + uint8_t int_reg[] = {AR_INT_STATUS}; + uint8_t int_msg; + i2c_read(mp->i2c->i2c_config, sizeof(int_reg), int_reg, sizeof(int_msg), + &int_msg); + if (int_msg & FIFO_OVERFLOW_INT) + mp->limit_count++; // Report final data if (mp->data_count > 0) mp9250_report(mp, oid); + uint16_t bytes_to_read = get_fifo_status(mp); mp9250_status(mp, oid, end1_time, end2_time, - fifo_bytes / BYTES_PER_FIFO_ENTRY); + bytes_to_read / BYTES_PER_FIFO_ENTRY); + + // Uncomment and rebuilt to check for FIFO overruns when tuning + //output("mpu9240 limit_count=%u fifo_max=%u", + // mp->limit_count, mp->fifo_max); } void @@ -232,8 +235,11 @@ command_query_mpu9250(uint32_t *args) mp->timer.waketime = args[1]; mp->rest_ticks = args[2]; mp->flags = AX_HAVE_START; - mp->sequence = mp->limit_count = 0; + mp->sequence = 0; + mp->limit_count = 0; mp->data_count = 0; + mp->fifo_max = 0; + mp->fifo_pkts_bytes = 0; sched_add_timer(&mp->timer); } DECL_COMMAND(command_query_mpu9250, @@ -245,12 +251,12 @@ command_query_mpu9250_status(uint32_t *args) struct mpu9250 *mp = oid_lookup(args[0], command_config_mpu9250); uint8_t msg[2]; uint32_t time1 = timer_read_time(); - uint8_t regs[] = {AR_FIFO_COUNT_H}; - i2c_read(mp->i2c->i2c_config, 1, regs, 2, msg); + uint8_t reg[] = {AR_FIFO_COUNT_H}; + i2c_read(mp->i2c->i2c_config, sizeof(reg), reg, sizeof(msg), msg); uint32_t time2 = timer_read_time(); msg[0] = 0x1F & msg[0]; // discard 3 MSB - uint16_t fifo_bytes = (((uint16_t)msg[0]) << 8) | msg[1]; - mp9250_status(mp, args[0], time1, time2, fifo_bytes / BYTES_PER_FIFO_ENTRY); + mp9250_status(mp, args[0], time1, time2, mp->fifo_pkts_bytes + / BYTES_PER_FIFO_ENTRY); } DECL_COMMAND(command_query_mpu9250_status, "query_mpu9250_status oid=%c"); From 011b4e39e63980266342cdd6dacfdb15da8c684d Mon Sep 17 00:00:00 2001 From: "Dr. Matthew Swabey" Date: Wed, 19 Apr 2023 22:00:03 -0400 Subject: [PATCH 32/40] docs: Fix nested list in Measuring_Resonances (#6157) Signed-off-by: Matthew Swabey --- docs/Measuring_Resonances.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/Measuring_Resonances.md b/docs/Measuring_Resonances.md index 1ab21eed8788..0897628f497f 100644 --- a/docs/Measuring_Resonances.md +++ b/docs/Measuring_Resonances.md @@ -36,16 +36,16 @@ An ethernet cable with shielded twisted pairs (cat5e or better) is recommended for signal integrity over a long distance. If you still experience signal integrity issues (SPI/I2C errors): - * Double check the wiring with a digital multimeter for: - * Correct connections when turned off (continuity) - * Correct power and ground voltages - * I2C only: - * Check the SCL and SDA lines' resistances to 3.3V are in the range of 900 - ohms to 1.8K - * For full technical details consult [chapter 7 of the I2C-bus specification - and user manual UM10204](https://www.pololu.com/file/0J435/UM10204.pdf) - for *fast-mode* - * Shorten the cable +- Double check the wiring with a digital multimeter for: + - Correct connections when turned off (continuity) + - Correct power and ground voltages +- I2C only: + - Check the SCL and SDA lines' resistances to 3.3V are in the range of 900 + ohms to 1.8K + - For full technical details consult [chapter 7 of the I2C-bus specification + and user manual UM10204](https://www.pololu.com/file/0J435/UM10204.pdf) + for *fast-mode* +- Shorten the cable Connect ethernet cable shielding only to the MCU board/Pi ground. From 9b59d745f1d025e883533825b55435d2240b7944 Mon Sep 17 00:00:00 2001 From: jdonagher Date: Mon, 24 Apr 2023 08:00:50 -0700 Subject: [PATCH 33/40] docs: Update Bed_Mesh.md (#6143) Fix typo. Signed-off-by: John Donagher --- docs/Bed_Mesh.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Bed_Mesh.md b/docs/Bed_Mesh.md index cdae4cbde19a..c45ca2ab2f51 100644 --- a/docs/Bed_Mesh.md +++ b/docs/Bed_Mesh.md @@ -371,7 +371,7 @@ following parameters are available: - `MESH_ORIGIN` - `ROUND_PROBE_COUNT` - All beds: - - `RELATIVE_REFERNCE_INDEX` + - `RELATIVE_REFERENCE_INDEX` - `ALGORITHM` See the configuration documentation above for details on how each parameter From 5a49372dec24fc9874c17fa63b6676d3adb9b4f6 Mon Sep 17 00:00:00 2001 From: crazyroses <34101354+crazyroses@users.noreply.github.com> Date: Mon, 24 Apr 2023 17:07:10 +0200 Subject: [PATCH 34/40] docs: Update Measuring_Resonances.md (#6177) Correction for table "Recommended connection scheme for I2C (i2c0a) on the RP2040", line 160, to match the correct writing in the Fritzing image shown above, RP2040 pin 36 in place of 39; Correction of typo in line 346, "pins" in place of "pin" Signed-off-by: Adrian Rose --- docs/Measuring_Resonances.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/Measuring_Resonances.md b/docs/Measuring_Resonances.md index 0897628f497f..17a3756251aa 100644 --- a/docs/Measuring_Resonances.md +++ b/docs/Measuring_Resonances.md @@ -157,7 +157,7 @@ Recommended connection scheme for I2C (i2c0a) on the RP2040: | MPU-9250 pin | RP2040 pin | RP2040 pin name | |:--:|:--:|:--:| -| VCC | 39 | 3v3 | +| VCC | 36 | 3v3 | | GND | 38 | Ground | | SDA | 01 | GP0 (I2C0 SDA) | | SCL | 02 | GP1 (I2C0 SCL) | @@ -343,7 +343,7 @@ probe_points: 100, 100, 20 # an example [static_digital_output pico_3V3pwm] # Improve power stability -pin: pico:gpio23 +pins: pico:gpio23 ``` #### Configure MPU-9520 Compatibles with AVR From 10e816979e628784ee0b9fe2bc76b2d3f7cc9d50 Mon Sep 17 00:00:00 2001 From: Scott Mudge Date: Fri, 21 Apr 2023 09:38:44 -0400 Subject: [PATCH 35/40] aht10: update comments and docs for AHT20/AHT21 support The control bytes for the AHT20 and AHT21 are identical to the AHT10, but I had not been able to test just yet to ensure the sensor code supported the other sensors. I've wrapped up testing and updated the comments/docs to reflect this additional support. Signed-off-by: Scott Mudge --- docs/Config_Reference.md | 5 +++-- klippy/extras/aht10.py | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/Config_Reference.md b/docs/Config_Reference.md index eda1a06e93aa..dd4449567699 100644 --- a/docs/Config_Reference.md +++ b/docs/Config_Reference.md @@ -2375,9 +2375,9 @@ sensor_type: BME280 # above parameters. ``` -### AHT10 temperature sensor +### AHT10/AHT20/AHT21 temperature sensor -AHT10 two wire interface (I2C) environmental sensor. +AHT10/AHT20/AHT21 two wire interface (I2C) environmental sensors. Note that these sensors are not intended for use with extruders and heater beds, but rather for monitoring ambient temperature (C) and relative humidity. See @@ -2386,6 +2386,7 @@ that may be used to report humidity in addition to temperature. ``` sensor_type: AHT10 +# Also use AHT10 for AHT20 and AHT21 sensors. #i2c_address: # Default is 56 (0x38). Some AHT10 sensors give the option to use # 57 (0x39) by moving a resistor. diff --git a/klippy/extras/aht10.py b/klippy/extras/aht10.py index b6cac2e33dbc..001f7e54d59a 100644 --- a/klippy/extras/aht10.py +++ b/klippy/extras/aht10.py @@ -1,4 +1,4 @@ -# AHT10 I2c-based humiditure sensor support +# AHT10/AHT20/AHT21 I2c-based humiditure sensor support # # Copyright (C) 2023 Scott Mudge # @@ -9,6 +9,8 @@ ###################################################################### # Compatible Sensors: # AHT10 - Tested w/ BTT GTR 1.0 MCU on i2c3 +# AHT20 - Untested but should work +# AHT21 - Tested w/ BTT GTR 1.0 MCU on i2c3 ###################################################################### AHT10_I2C_ADDR= 0x38 From 8b2074e068b661fcc91ba7d70fe239a4b08fa0e5 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Fri, 14 Apr 2023 23:59:34 -0400 Subject: [PATCH 36/40] stm32: Fix usbotg irq wakeup notification The DAINTMSK prevents irqs but does not prevent the status reporting in the GINTSTS and DAINT fields. Thus, the mask bits should be checked prior to sending a wakeup notification. Signed-off-by: Kevin O'Connor --- src/stm32/usbotg.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/stm32/usbotg.c b/src/stm32/usbotg.c index b61c99ca2959..7482925606e5 100644 --- a/src/stm32/usbotg.c +++ b/src/stm32/usbotg.c @@ -397,11 +397,11 @@ OTG_FS_IRQHandler(void) } if (sts & USB_OTG_GINTSTS_IEPINT) { // Can transmit data - disable irq and notify endpoint - uint32_t daint = OTGD->DAINT; - OTGD->DAINTMSK &= ~daint; - if (daint & (1 << 0)) + uint32_t daint = OTGD->DAINT, msk = OTGD->DAINTMSK, pend = daint & msk; + OTGD->DAINTMSK = msk & ~daint; + if (pend & (1 << 0)) usb_notify_ep0(); - if (daint & (1 << USB_CDC_EP_BULK_IN)) + if (pend & (1 << USB_CDC_EP_BULK_IN)) usb_notify_bulk_in(); } } From f10c60eea767e04f3eda524e66b410127a5af34a Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Fri, 14 Apr 2023 14:51:48 -0400 Subject: [PATCH 37/40] usb_canbus: Increase rx canbus packet buffer to 32 A buffer of only 8 canbus packets is only 64 bytes of data, which could be exceeded if the usb-to-canbus mcu gets busy doing other work. Increase the buffer to 32 packets. Signed-off-by: Kevin O'Connor --- src/generic/usb_canbus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/generic/usb_canbus.c b/src/generic/usb_canbus.c index 3cb4bdd06fef..b102362742d6 100644 --- a/src/generic/usb_canbus.c +++ b/src/generic/usb_canbus.c @@ -117,7 +117,7 @@ static struct usbcan_data { // Data from physical canbus interface uint32_t pull_pos, push_pos; - struct canbus_msg queue[8]; + struct canbus_msg queue[32]; } UsbCan; enum { From 3377f29bc54938ab2820ff6b5212ce525e12b511 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Fri, 14 Apr 2023 14:48:40 -0400 Subject: [PATCH 38/40] usb_canbus: Minor code reformatting of drain_hw_queue() Signed-off-by: Kevin O'Connor --- src/generic/usb_canbus.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/generic/usb_canbus.c b/src/generic/usb_canbus.c index b102362742d6..602acc705e21 100644 --- a/src/generic/usb_canbus.c +++ b/src/generic/usb_canbus.c @@ -169,18 +169,18 @@ send_frame(struct canbus_msg *msg) static int drain_hw_queue(void) { + uint32_t pull_pos = UsbCan.pull_pos; for (;;) { uint32_t push_pos = readl(&UsbCan.push_pos); - uint32_t pull_pos = UsbCan.pull_pos; - if (push_pos != pull_pos) { - uint32_t pos = pull_pos % ARRAY_SIZE(UsbCan.queue); - int ret = send_frame(&UsbCan.queue[pos]); - if (ret < 0) - return -1; - UsbCan.pull_pos = pull_pos + 1; - continue; - } - return 0; + if (push_pos == pull_pos) + // No more data to send + return 0; + uint32_t pos = pull_pos % ARRAY_SIZE(UsbCan.queue); + int ret = send_frame(&UsbCan.queue[pos]); + if (ret < 0) + // USB is busy - retry later + return -1; + UsbCan.pull_pos = pull_pos = pull_pos + 1; } } From 28f11244c3a91c18f0f4f3c3a02b5f20b0ff5547 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Sat, 15 Apr 2023 12:21:46 -0400 Subject: [PATCH 39/40] usb_canbus: No need to check if canserial can accept a packet The canserial code already advertizes a receive window, so the host should never flood the canserial code. Remove the extra scheduling checks to simplify the usb_canbus code. Signed-off-by: Kevin O'Connor --- src/generic/canserial.c | 7 +++---- src/generic/canserial.h | 2 +- src/generic/usb_canbus.c | 12 ++++-------- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/generic/canserial.c b/src/generic/canserial.c index 0607e4893e91..d56235f57fe7 100644 --- a/src/generic/canserial.c +++ b/src/generic/canserial.c @@ -224,7 +224,7 @@ canserial_notify_rx(void) DECL_CONSTANT("RECEIVE_WINDOW", ARRAY_SIZE(CanData.receive_buf)); // Handle incoming data (called from IRQ handler) -int +void canserial_process_data(struct canbus_msg *msg) { uint32_t id = msg->id; @@ -233,7 +233,7 @@ canserial_process_data(struct canbus_msg *msg) int rpos = CanData.receive_pos; uint32_t len = CANMSG_DATA_LEN(msg); if (len > sizeof(CanData.receive_buf) - rpos) - return -1; + return; memcpy(&CanData.receive_buf[rpos], msg->data, len); CanData.receive_pos = rpos + len; canserial_notify_rx(); @@ -243,13 +243,12 @@ canserial_process_data(struct canbus_msg *msg) uint32_t pushp = CanData.admin_push_pos; if (pushp >= CanData.admin_pull_pos + ARRAY_SIZE(CanData.admin_queue)) // No space - drop message - return -1; + return; uint32_t pos = pushp % ARRAY_SIZE(CanData.admin_queue); memcpy(&CanData.admin_queue[pos], msg, sizeof(*msg)); CanData.admin_push_pos = pushp + 1; canserial_notify_rx(); } - return 0; } // Remove from the receive buffer the given number of bytes diff --git a/src/generic/canserial.h b/src/generic/canserial.h index e8f3767fab18..3dd5cd9deae4 100644 --- a/src/generic/canserial.h +++ b/src/generic/canserial.h @@ -9,7 +9,7 @@ // canserial.c void canserial_notify_tx(void); struct canbus_msg; -int canserial_process_data(struct canbus_msg *msg); +void canserial_process_data(struct canbus_msg *msg); void canserial_set_uuid(uint8_t *raw_uuid, uint32_t raw_uuid_len); #endif // canserial.h diff --git a/src/generic/usb_canbus.c b/src/generic/usb_canbus.c index 602acc705e21..9b0bebe6079d 100644 --- a/src/generic/usb_canbus.c +++ b/src/generic/usb_canbus.c @@ -204,20 +204,16 @@ usbcan_task(void) msg.dlc = gs->can_dlc; msg.data32[0] = gs->data32[0]; msg.data32[1] = gs->data32[1]; + if (host_status & HS_TX_LOCAL) { + canserial_process_data(&msg); + UsbCan.host_status = host_status = host_status & ~HS_TX_LOCAL; + } if (host_status & HS_TX_HW) { ret = canhw_send(&msg); if (ret < 0) return; UsbCan.host_status = host_status = host_status & ~HS_TX_HW; } - if (host_status & HS_TX_LOCAL) { - ret = canserial_process_data(&msg); - if (ret < 0) { - usb_notify_bulk_out(); - return; - } - UsbCan.host_status = host_status & ~HS_TX_LOCAL; - } continue; } From b17ae55f5bd3a079ab3626b1e6fd5c60416e6ba0 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Sat, 15 Apr 2023 12:54:32 -0400 Subject: [PATCH 40/40] usb_canbus: Rework USB message transmit prioritization There is no need to heavily prioritize the sending of canbus packets over USB. A single check to flush the incoming canbus packets is sufficient. Also, be sure to wake up canserial_notify_tx() even if canhw_send() blocks. Signed-off-by: Kevin O'Connor --- src/generic/usb_canbus.c | 76 ++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/src/generic/usb_canbus.c b/src/generic/usb_canbus.c index 9b0bebe6079d..d776d45f248a 100644 --- a/src/generic/usb_canbus.c +++ b/src/generic/usb_canbus.c @@ -112,7 +112,7 @@ static struct usbcan_data { uint8_t host_status; // Canbus data routed locally - uint8_t notify_local; + uint8_t notify_local, usb_send_busy; uint32_t assigned_id; // Data from physical canbus interface @@ -166,20 +166,24 @@ send_frame(struct canbus_msg *msg) } // Send any pending hw frames to host -static int +static void drain_hw_queue(void) { uint32_t pull_pos = UsbCan.pull_pos; for (;;) { uint32_t push_pos = readl(&UsbCan.push_pos); - if (push_pos == pull_pos) + if (push_pos == pull_pos) { // No more data to send - return 0; + UsbCan.usb_send_busy = 0; + return; + } uint32_t pos = pull_pos % ARRAY_SIZE(UsbCan.queue); int ret = send_frame(&UsbCan.queue[pos]); - if (ret < 0) + if (ret < 0) { // USB is busy - retry later - return -1; + UsbCan.usb_send_busy = 1; + return; + } UsbCan.pull_pos = pull_pos = pull_pos + 1; } } @@ -189,12 +193,11 @@ usbcan_task(void) { if (!sched_check_wake(&UsbCan.wake)) return; - for (;;) { - // Send any pending hw frames to host - int ret = drain_hw_queue(); - if (ret < 0) - return; + // Send any pending hw frames to host + drain_hw_queue(); + + for (;;) { // See if previous host frame needs to be transmitted uint_fast8_t host_status = UsbCan.host_status; if (host_status & (HS_TX_HW | HS_TX_LOCAL)) { @@ -209,53 +212,50 @@ usbcan_task(void) UsbCan.host_status = host_status = host_status & ~HS_TX_LOCAL; } if (host_status & HS_TX_HW) { - ret = canhw_send(&msg); + int ret = canhw_send(&msg); if (ret < 0) - return; + break; UsbCan.host_status = host_status = host_status & ~HS_TX_HW; } - continue; } // Send any previous echo frames if (host_status) { - ret = usb_send_bulk_in(&UsbCan.host_frame - , sizeof(UsbCan.host_frame)); + if (UsbCan.usb_send_busy) + // Don't send echo frame until other traffic is sent + return; + int ret = usb_send_bulk_in(&UsbCan.host_frame + , sizeof(UsbCan.host_frame)); if (ret < 0) return; UsbCan.host_status = 0; - continue; - } - - // See if can read a new frame from host - ret = usb_read_bulk_out(&UsbCan.host_frame, USB_CDC_EP_BULK_OUT_SIZE); - if (ret > 0) { - uint32_t id = UsbCan.host_frame.can_id; - UsbCan.host_status = HS_TX_ECHO | HS_TX_HW; - if (id == CANBUS_ID_ADMIN) - UsbCan.host_status = HS_TX_ECHO | HS_TX_HW | HS_TX_LOCAL; - else if (UsbCan.assigned_id && UsbCan.assigned_id == id) - UsbCan.host_status = HS_TX_ECHO | HS_TX_LOCAL; - continue; } - // No more work to be done - if (UsbCan.notify_local) { - UsbCan.notify_local = 0; - canserial_notify_tx(); - } - return; + // Read next frame from host + int ret = usb_read_bulk_out(&UsbCan.host_frame + , USB_CDC_EP_BULK_OUT_SIZE); + if (ret <= 0) + // No frame available - no more work to be done + break; + uint32_t id = UsbCan.host_frame.can_id; + UsbCan.host_status = HS_TX_ECHO | HS_TX_HW; + if (id == CANBUS_ID_ADMIN) + UsbCan.host_status = HS_TX_ECHO | HS_TX_HW | HS_TX_LOCAL; + else if (UsbCan.assigned_id && UsbCan.assigned_id == id) + UsbCan.host_status = HS_TX_ECHO | HS_TX_LOCAL; } + + if (UsbCan.notify_local && !UsbCan.usb_send_busy) + canserial_notify_tx(); } DECL_TASK(usbcan_task); int canbus_send(struct canbus_msg *msg) { - int ret = drain_hw_queue(); - if (ret < 0) + if (UsbCan.usb_send_busy) goto retry_later; - ret = send_frame(msg); + int ret = send_frame(msg); if (ret < 0) goto retry_later; UsbCan.notify_local = 0;