-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
modified: Deployment_Log.txt #7104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| 2025-10-28 | ||
| - Added `.config` for STM32G0B1 (USB PA11/PA12, 8MHz, 8KiB bootloader). | ||
| - Created `klipper/config/manta_m4p_v2_enderv3.cfg` example printer config. | ||
| - Authored `klipper/README.txt` deployment guide. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| Firmware Deployment Log | ||
|
|
||
| 2025-10-28 | ||
| - Target: STM32G0B1 (Manta M4P v2.0) | ||
| - Build config: `.config` (USB PA11/PA12, 8MHz crystal, 8KiB offset) | ||
| - Build artifact: out/klipper.bin | ||
| - Build version: v0.13.0-374-g99c0bfca4 | ||
| - Build date: 2025-10-28 | ||
| - Firmware SHA256: cafc2c9fb62c8b4454f9279a6b46337f2bcff801fc9014fec929d98da269ea3d | ||
| - Checksum file: out/klipper.bin.sha256 | ||
| - Flash tool: STM32CubeProgrammer | ||
| - Flash address: 0x08002000 | ||
| - Verification: Pending (post-flash version and checksum) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,75 @@ | ||
| Klipper Firmware — Deployment Guide (Manta M4P v2.0 / Ender 3 V3) | ||
|
|
||
| Overview | ||
| - Board: BTT Manta M4P v2.0 | ||
| - MCU: `STM32G0B1` | ||
| - Bootloader offset: `8 KiB` (`0x08002000`) | ||
| - Clock reference: `8 MHz crystal` | ||
| - Communication: `USB on PA11/PA12` | ||
|
|
||
| Pinout Summary (alias-based) | ||
| - X: `MOTOR0_STEP`, `MOTOR0_DIR`, `MOTOR0_EN`, endstop `X_STOP` | ||
| - Y: `MOTOR1_STEP`, `MOTOR1_DIR`, `MOTOR1_EN`, endstop `Y_STOP` | ||
| - Z: `MOTOR2_STEP`, `MOTOR2_DIR`, `MOTOR2_EN`, endstop `Z_STOP` | ||
| - E: `MOTOR3_STEP`, `MOTOR3_DIR`, `MOTOR3_EN` | ||
| - Thermistors: `HOTEND_THERMISTOR`, `BED_THERMISTOR` | ||
| - Heaters: `HOTEND_HEATER`, `BED_HEATER` | ||
| - Fans: `PART_COOLING`, `HOTEND_FAN` | ||
| - Probe: `PROBE_SIGNAL`, `PROBE_SERVO` | ||
|
|
||
| Configuration Reference | ||
| - Firmware settings are captured in `klipper/.config`: | ||
| - Architecture: STM32 | ||
| - Processor: STM32G0B1 | ||
| - Clock Reference: 8MHz crystal | ||
| - Communication: USB (PA11/PA12) | ||
| - Bootloader offset: 0x08002000 | ||
| - Printer config: `klipper/config/manta_m4p_v2_enderv3.cfg` | ||
| - Update `[mcu] serial:` with your device path from `/dev/serial/by-id/`. | ||
| - Calibrate `rotation_distance`, `run_current`, and sensor types for your hardware. | ||
|
|
||
| Build (WSL/Ubuntu) | ||
| 1) Install dependencies: | ||
| - `sudo apt-get update && sudo apt-get install -y make gcc-arm-none-eabi python3 libncurses-dev` | ||
| 2) Build: | ||
| - `cd /mnt/c/Users/poopo/Documents/trae_projects/manta/klipper` | ||
| - Ensure `.config` exists (provided). | ||
| - `make olddefconfig && make` | ||
| 3) Output: | ||
| - Firmware: `out/klipper.bin` | ||
|
|
||
| Windows Flashing (STM32CubeProgrammer) | ||
| 1) Enter DFU: | ||
| - Disconnect USB, hold `BOOT`, tap `RESET`, release `BOOT`, reconnect USB. | ||
| 2) Program: | ||
| - Start address: `0x08002000`. | ||
| - File: `out/klipper.bin`. | ||
| - Click Download; then press `RESET`. | ||
| - Optional CLI: use `klipper/scripts/flash_stm32_usb_dfu.ps1` (requires STM32CubeProgrammer CLI). It connects via `port=USB`, writes at `0x08002000`, verifies, then issues reboot. | ||
| 3) Alternative: | ||
| - If offset fails, rebuild Klipper with "No bootloader" and flash at `0x08000000`. | ||
|
|
||
| Host Integration (Pi/PC) | ||
| - Verify serial: `ls /dev/serial/by-id/` and copy the full path into `[mcu]`. | ||
| - Restart Klipper service and connect. | ||
|
|
||
| Testing Protocol | ||
| - Axis: Test X/Y/Z jogs and homing; verify directions and endstops. | ||
| - Temperature: Verify hotend/bed readings; PID tune as needed. | ||
| - Probe: Deploy/retract and Z-trigger; perform `G28`/`BED_MESH_CALIBRATE`. | ||
| - Safety: Test `EMERGENCY_STOP` and max-temp protections. | ||
| - Communication: Send G-code, check logs for errors. | ||
|
|
||
| Troubleshooting | ||
| - USB not detected: try different cable/port, ensure power, re-enter DFU. | ||
| - Driver issues: install STM32CubeProgrammer or use Zadig WinUSB for DFU. | ||
| - Wrong offset: confirm `.config` bootloader and start address alignment. | ||
| - Serial mismatch: always use `/dev/serial/by-id/...` not `/dev/tty*`. | ||
| - Verification: `out/klipper.bin.sha256` contains the SHA256 of the built firmware (generated via `certutil`). Use it to validate the binary before flashing and for post-flash integrity checks. | ||
|
|
||
| Version Control | ||
| - Do not overwrite critical files; track changes in `CHANGELOG.txt`. | ||
| - Record builds in `Deployment_Log.txt`; log test outcomes in `Test_Results.txt`. | ||
|
|
||
| Reproducibility Notes | ||
| - With `.config` + `manta_m4p_v2_enderv3.cfg` + this README, another technician can rebuild and deploy identical firmware. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| Test Plan — Manta M4P v2.0 / Ender 3 V3 | ||
|
|
||
| 2025-10-28 — Initial plan created | ||
| - Axis movement: Pending hardware connection | ||
| - Homing: Pending | ||
| - Temperature control: Pending | ||
| - Probe and safe_z_home: Pending | ||
| - Emergency stop: Pending | ||
| - Host communication: Pending | ||
|
|
||
| Notes: | ||
| - Populate with pass/fail and observations after hardware tests. |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,125 @@ | ||||||
| # BTT Manta M4P v2.0 — Ender 3 V3 example Klipper config | ||||||
| # Assumptions: STM32G0B1 MCU, USB comms, 8KiB bootloader offset (0x08002000) | ||||||
|
|
||||||
| [mcu] | ||||||
| # Replace with your device ID from `/dev/serial/by-id/` on the host | ||||||
| serial: /dev/serial/by-id/usb-Klipper_stm32g0b1_REPLACE_ME | ||||||
|
|
||||||
| [printer] | ||||||
| kinematics: cartesian | ||||||
| max_velocity: 300 | ||||||
| max_accel: 3000 | ||||||
| max_z_velocity: 15 | ||||||
| max_z_accel: 100 | ||||||
| square_corner_velocity: 5.0 | ||||||
|
|
||||||
| [stepper_x] | ||||||
| step_pin: MOTOR0_STEP | ||||||
| dir_pin: MOTOR0_DIR | ||||||
| enable_pin: !MOTOR0_EN | ||||||
|
Comment on lines
+17
to
+19
|
||||||
| rotation_distance: 40 | ||||||
| microsteps: 16 | ||||||
| endstop_pin: ^X_STOP | ||||||
|
||||||
| endstop_pin: ^X_STOP | |
| endstop_pin: ^PC0 |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The position_min: 0 setting may prevent homing adjustments. Consider setting this to a small negative value (e.g., -5) to allow for Z-offset calibration with the BLTouch probe, which is configured with offsets at lines 105-107.
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alias MOTOR0_UART is undefined. Based on the existing generic-bigtreetech-manta-m4p.cfg, the UART pin for the X motor (motor 0) should be PB12.
| uart_pin: MOTOR0_UART | |
| uart_pin: PB12 |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The aliases MOTOR1_STEP, MOTOR1_DIR, and MOTOR1_EN are undefined. Based on the existing board configuration, these should be PB10, PB2, and PB11 respectively.
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alias Y_STOP is undefined. Based on the existing board configuration, this should be PC1.
| endstop_pin: ^Y_STOP | |
| endstop_pin: ^PC1 |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alias MOTOR1_UART is undefined. Based on the existing board configuration, this should be PC10.
| uart_pin: MOTOR1_UART | |
| uart_pin: PC10 |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The aliases MOTOR2_STEP, MOTOR2_DIR, and MOTOR2_EN are undefined. Based on the existing board configuration, these should be PB0, PC5, and PB1 respectively.
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alias Z_STOP is undefined. Based on the existing board configuration, this should be PC2.
| endstop_pin: ^Z_STOP | |
| endstop_pin: ^PC2 |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alias MOTOR2_UART is undefined. Based on the existing board configuration, this should be PC9.
| uart_pin: MOTOR2_UART | |
| uart_pin: PC9 |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The aliases MOTOR3_STEP, MOTOR3_DIR, and MOTOR3_EN are undefined. Based on the existing board configuration, these should be PB3, PB4, and PD5 respectively.
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alias HOTEND_HEATER is undefined. Based on the existing board configuration, this should be PC8.
| heater_pin: HOTEND_HEATER | |
| heater_pin: PC8 |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alias HOTEND_THERMISTOR is undefined. Based on the existing board configuration, this should be PA0.
| sensor_pin: HOTEND_THERMISTOR | |
| sensor_pin: PA0 |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alias MOTOR3_UART is undefined. Based on the existing board configuration, this should be PA13.
| uart_pin: MOTOR3_UART | |
| uart_pin: PA13 |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alias BED_HEATER is undefined. Based on the existing board configuration, this should be PD8.
| heater_pin: BED_HEATER | |
| heater_pin: PD8 |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alias BED_THERMISTOR is undefined. Based on the existing board configuration, this should be PC4.
| sensor_pin: BED_THERMISTOR | |
| sensor_pin: PC4 |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alias PART_COOLING is undefined. Based on the existing board configuration, this should be PD2.
| pin: PART_COOLING | |
| pin: PD2 |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alias HOTEND_FAN is undefined. Based on the existing board configuration, this should be PD3.
| pin: HOTEND_FAN | |
| pin: PD3 |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alias PROBE_SIGNAL is undefined. Based on the existing board configuration, this should be PC14.
| sensor_pin: PROBE_SIGNAL | |
| sensor_pin: PC14 |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alias PROBE_SERVO is undefined. Based on the existing board configuration, this should be PA1.
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,48 @@ | ||||||
| <# | ||||||
| Purpose: Flash Klipper firmware to STM32 (Manta M4P v2.0) via USB DFU using STM32CubeProgrammer CLI. | ||||||
|
|
||||||
| Prereqs: | ||||||
| - Install STM32CubeProgrammer (includes STM32_Programmer_CLI.exe) | ||||||
| - Board in DFU mode (BOOT0+RST per WINDOWS_FLASHING.md) | ||||||
|
||||||
| - Board in DFU mode (BOOT0+RST per WINDOWS_FLASHING.md) | |
| - Board in DFU mode (BOOT0+RST per README.txt lines 42-47) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line 68 has inconsistent indentation - it starts with
|followed by a space and dash, while other lines use just a dash. This should be- Verification:to match the formatting of lines 64-67.