Giter Site home page Giter Site logo

stm32h7xx's Introduction

grblHAL driver for STM32H7xx processors

This is a port of grblHAL for the STM32H7xx series of processors, originally based on the F7 driver from the official repository.

Supported boards

Building

Web App

Builds for the above boards are supported through the upstream web app.

Local builds

Local builds are supported from both STMCubeIDE and PlatformIO. Board specific settings have been included in the IDE configurations where possible - to avoid the need for code changes when building for different boards. (Please see the upstream Wiki-page compiling grblHAL for further instructions for how to import the project, configure the driver and compile).

Note that the PlatformIO builds are currently using a custom download url for the framework-stm32cubeh7 library files. This will be removed once v1.10 is available in the upstream PlatformIO package registry.

GitHub CI builds

PlatformIO builds for a number of configurations are run automatically as a GitHub Action on each push to the master branch. For convenience, the resulting firmwares are archived in the artifacts for each run, and can be found under the Actions tab on the GitHub repo (these files remain available for 90 days).


2024-05-22

stm32h7xx's People

Contributors

dresco avatar terjeio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

stm32h7xx's Issues

SKR3 EZ - USB port not working.

Hello Jon!

I build today latest version. Board flashed thru SD card with new firmware.

Windows not found device (board) when I connect board USB to PC.

PS: I setup TMC 2209 (X axis) and TMC 5160 EZ Pro (Y axis). Marlin 2 can drive both motors.

It's a bit weird. After testing, the maximum stable output of STM32H750VBT6 single axis is only 500KHZ.

I have a plan to make a high-end grblhal development board based on the stm32H7 series chips, and sell it for people to study, but after my test, it only has a single-axis maximum stable output of 500KHZ, (STM32F446 is 400KHZ), a little discouraged, there is no reason to compare with The performance advantage made it, I don't know where is the problem, I downloaded the early H7 driver file and the early grblhal core, the file is about March 2022, I don't know if it is the reason,

BTT Octopus Pro

I have BTT Octopus Pro 1.1 STM32H723
for 3D printer
and i'd like to try GRBL on it to check laser engraving, and also will be nice to see it in Web Builder.

@Michaels5155 in #16 (comment)_ said about he had try on Octopus, maybe he can help here too.

I'm new to all this thing. So what will be my first steps?
It will be nice to keep SD card bootloader.

H723 ZET6 compatibility?

Hi,

Looking to incorporate a Bigtreetech Octopus MAX EZ with an H723 ZET6 chip into my CNC project. Wondering if simply remapping pins would allow use of the board with grblHAL and if not how could I request implementation. Apologies if this is not the correct place for the question. edit: I have already completed the map.h file.

"GRBLHAL - It died on my homemade H723ZGT6 minimal experimental circuit board."

"I suspect that some components of my circuit board, not present in the BTT SKR 3, led to its demise, as I had previously run this on my homemade minimal system H750 control board, and it also died. I later found it was due to the RTC program; commenting it out made everything run perfectly. However, this time the H723 experiment didn't go very smoothly. The source code remains unchanged."

a
B

”_user_heap_stack“ _ user_ heap_ What does this mean

Great work

I want to free up as much memory as possible for storing data. ”_ user_ heap_ Stack "occupies 140KB of memory。So I moved "_user_heap_stack" to the 288KB memory block of D2. Can be compiled and passed normally。But grblhal stopped working。 why?
image
image

TMC5160 not working

When trying an SKR3 with TMC5160 drivers I get this on startup:
<0D><0A>[MSG:Warning: Could not communicate with stepper driver!]<0D><0A>

BTW, the btt_skr_v3.0_map.h file has this typo, could be related:

// The BTT SKR-3 uses software SPI
#define TRINAIC_SOFT_SPI

SKR 3 is not visible to pc

Hi,
I've purchased an SKR 3 EZ board specifically to run grblhal, however I have this weird issue: the board is not recognized by PC (no device appears). I tried web builder, I tried cube, I tried platformio. It flashes (file gets renamed) and that's it.
If I flash RepRap firmware, a new Com port gets added, so it's not the board or cable.
What am I doing wrong?

The CUBEIDE project does not have an. ioc configuration file

Due to the lack of an. ioc configuration file. I am unable to visually understand the peripheral device configuration of the MCU through the STM32CUBEIDE graphical configuration tool. Can you add this file
Another issue: I am using version 1.15.0 of STM32CUBEIDE. After compiling the project, the "Build analyzer" in the bottom right corner cannot display any memory and FLASH usage information. I don't know if it's a bug caused by version updates

Octopus Max no com port

I have some issues with the compiled binary for an OCtopus MAX ez, H723 with 5160 and sense resistor set to 50. MPG mode is also set to TEST2. The firmware flashes normally over DFU, but doesnt show up in device manager nor lsusb on linux. Only after 20 seconds as "unknown device descriptor". Is there a fix for this?

Octopus max 5160ez no motors

Hi and sorry for creating another issue.
I just cant get my head around why the motors are not working. Ive got 5160 ez on my octopus max. In the First 4 Slots.

Ive compiled on the webbuilder with ganged Y motors and EZ5160s with 0.075 sense resisor. Ive reset my grblhal settings but i still get no motor movement. I tried inverting the enable pins but no change.

stepper drivers do get warm so they are getting power.

Also, even though i havent fully confirmed yet, enabling mpg test 2 in the Firmware, makes it Crash a lot. Mostly "controller is halted" or error:20.

Any ideas?

Thanks in advance
Tom

Second Y motor not works

Dear Jon

I have wire motors to SKR 3 EZ board.

  • motor to X port
  • another motor to Y port
  • another one motor to E0 port

Uncomment lines in my_machine.h

#define BOARD_BTT_SKR_30
#define TRINAMIC_ENABLE   5160

#define Y_GANGED            1
#define Y_AUTO_SQUARE       1

Build, flash, connect to board by telnet and type

X100 - motor X works
Y100 - motor Y works, but E0 motor not works at all.

Where is my mistake?

MODBUS on SKR3

Am I missing something or there is no MODBUS spindle support for H7 boards?

Multiple compiling issues I can't solve

I am completely stuck. I know I'm doing something wrong, I just can't figure it out...
Just a bit of background:
I have a 3040 CNC with rotational axis add-on and I want it to run as a 4-axis cnc (XYZA). It was running grbl-mega with XYZ before.
I've got an SKR3EZ board with TMC5160 drivers, Huanyang FC1 VFD and an rs485 converter.
I use ioSender as UI.
I am trying to configure and compile the code here in 3 different ways:

  1. Web builder compiles everything ok, but trinamic drivers are not recognized (nor SD card). No motion from the machine.
  2. I managed to use STM Cube but despite setting TMC5160 drivers they are not recognized. No motion. No 4th axis. No SD card.
  3. Platformio is easier, I managed to get TMC recognized, machine moves, however there is no SD card still AND I can't turn modbus vfd on. #define VFD_ENABLE and #define MODBUS_ENABLE seem to make no difference and if I compare resulting bin file with memory of SKR board in CUBE Programmer there is no difference reported.

Is there a complete, definite guide of sorts, on how to make it work???

Also, it seems like there were a lot of changes to drivers and plugins in the main fork that are broken/not compatible with this fork.
I really need help. Please?

Problem with $X command

I am using a Nucleo-H743ZI board, I want to run it with grbl firmware, having an issue while killing the alarm, $X is not working, and showing errors.

Errors and Warnings during compile

Hi dresco,

I cam across some erros and warnings when compiling for 'Release 743 Nucleo'. I have selected BOARD_MY_MACHINE and have created MY_MACHINE_MAP.h file as well. I will be using the HSI (which I have configured in STM32CubeIDE) so I can send any files that can be incorporated into this build.

Errors:

Description Resource Path Location Type
make: *** [Src/subdir.mk:61: Src/spi.o] Error 1 grblHAL Driver STM32F756 C/C++ Problem
make: *** [webui/subdir.mk:43: webui/commands_v2.o] Error 1 grblHAL Driver STM32H7xx C/C++ Problem
make: *** [webui/subdir.mk:43: webui/commands_v3.o] Error 1 grblHAL Driver STM32H7xx C/C++ Problem
make: *** [webui/subdir.mk:43: webui/flashfs.o] Error 1 grblHAL Driver STM32H7xx C/C++ Problem
make: *** [webui/subdir.mk:43: webui/fs_embedded.o] Error 1 grblHAL Driver STM32H7xx C/C++ Problem
make: *** [webui/subdir.mk:43: webui/fs_handlers.o] Error 1 grblHAL Driver STM32H7xx C/C++ Problem
make: *** [webui/subdir.mk:43: webui/login.o] Error 1 grblHAL Driver STM32H7xx C/C++ Problem
make: *** Waiting for unfinished jobs.... grblHAL Driver STM32H7xx C/C++ Problem
undefined reference to _EEPROM_Emul_Start' flash.c /GRBL Driver STM32F401/Src line 41 C/C++ Problem undefined reference to _EEPROM_Emul_Start' flash.c /GRBL Driver STM32F401/Src line 46 C/C++ Problem
'sck' undeclared (first use in this function) spi.c /grblHAL Driver STM32F756/Src line 167 C/C++ Problem
'sdi' undeclared (first use in this function) spi.c /grblHAL Driver STM32F756/Src line 169 C/C++ Problem
'sdo' undeclared (first use in this function) spi.c /grblHAL Driver STM32F756/Src line 168 C/C++ Problem
#error "Safety door cannot be enabled when > 3 motors are defined." reference_map.h /grblHAL Driver STM32H7xx/Inc line 230 C/C++ Problem

Warnings

Description Resource Path Location Type
Invalid project path: Include path not found (GRBL Driver STM32F401/lwip/src/include). GRBL Driver STM32F401 pathentry Path Entry Problem
Invalid project path: Missing project folder or file: /grblHAL Driver STM32F756/grbl_esp32_if for Source path. grblHAL Driver STM32F756 pathentry Path Entry Problem
Invalid project path: Missing project folder or file: /grblHAL Driver STM32F756/oled for Source path. grblHAL Driver STM32F756 pathentry Path Entry Problem
Project 'grblHAL Driver STM32F756' has no explicit encoding set grblHAL Driver STM32F756 /grblHAL Driver STM32F756 No explicit project encoding
Project 'STM32F030C8T6_Clock_Settings' has no explicit encoding set STM32F030C8T6_Clock_Settings /STM32F030C8T6_Clock_Settings No explicit project encoding
Project 'STM32F030R8T6 Clock' has no explicit encoding set STM32F030R8T6 Clock /STM32F030R8T6 Clock No explicit project encoding
Project 'STM32f401rct6 Clock Settings' has no explicit encoding set STM32f401rct6 Clock Settings /STM32f401rct6 Clock Settings No explicit project encoding

Cheers and have a great day
George

Commits for SKR3 and Dual spindle option

Hello Dresco,

Here is some corrections for the SKR3 configuration version :

remove in the preprocessors directives :

  • TRINAMIC_ENABLE=2209
  • SDCARD_ENABLE=1

Code correction :

in driver.c
line 445
'#ifdef Y2_ENABLE_PORT
' DIGITAL_OUT(Z2_ENABLE_PORT, Z2_ENABLE_BIT, enable.z;)
'#endif
to
'#'ifdef Z2_ENABLE_PORT
'DIGITAL_OUT(Z2_ENABLE_PORT, Z2_ENABLE_BIT, enable.z' );
'#endif

line 437
' #ifdef X2_ENABLE_PORT
' DIGITAL_OUT(X2_ENABLE_PORT, X2_ENABLE_BIT, enable.x;)
' #endif
' DIGITAL_OUT(Y_ENABLE_PORT, Y_ENABLE_BIT, enable.y);
' #ifdef Y2_ENABLE_PORT
' DIGITAL_OUT(Y2_ENABLE_PORT, Y2_ENABLE_BIT, enable.y;)
' #endif
to
' #ifdef X2_ENABLE_PORT
' DIGITAL_OUT(X2_ENABLE_PORT, X2_ENABLE_BIT, enable.x);
' #endif
' DIGITAL_OUT(Y_ENABLE_PORT, Y_ENABLE_BIT, enable.y);
' #ifdef Y2_ENABLE_PORT
' DIGITAL_OUT(Y2_ENABLE_PORT, Y2_ENABLE_BIT, enable.y);
' #endif

Also, I enabled the dual spindle function, but M104P0 is not reconized, and when I tested the VFD with M3S0, the processor reset.

Thanks for your help

Joachim

SKR3 direction pin Z and Y2 AXIS

Hello,

I have mounted the SKR3 on the router, Y axis ganged and auto square. But I have the Z and Y2 direction pins that are not working, the board is new and never used. The wiring is NC switch between mcu pin and GND. I have tested the drivers on other axis and I have no problem. The pin stay at 0V.

Any idea?

SKR 3 - Z homing and limits

Hello!

Jon, I use only X and Y axis, how to disable Z axis?
Coz homing ($H) tries use Z motor to reach sensor, but can't.

SKR 3 EZ and wire limits question.

Hello Jon,

I found limits wire scheme, with resistors and capacitor.

Scheme attached.
2023-03-06 11 15 55

What do you think, need wire same for SKR 3 EZ?

In my build, I can connect 2 limits (start and end stops) to X-axis limit port, cable length about 3 meters.
May be better to add capacitor/resister?
Снимок экрана 2023-03-06 в 11 22 02

Missing USB when grblHAL is started by native BTT SKR3 bootloader

I think it would be super nice to have the option to always be able to update grblHAL with a SD card, bootloader style.

I relocated STM32H7xx grblHAL to start in second flash sector and I can start it directly in cubeide and it works nicely, and so does the USB. If I then reset the board and let the bootloader launch grblHAL then the USB is missing.
I have no experience with USB, but based on some naive debugging it seems that there is a TxState that is now set and never cleared, giving a forever hanging USB transmission.

I have no idea if the blame is on the bootloader that might make a messy handover, or if it is the STM32H port that could just make a itsy bitsy extra init or something that would allow the USB to get going.

If I could build and debug a SKR3/H743 bootloader then that would in itself be super cool, would anyone know if that is an option ? I asked BTT the same and they sent me a binary copy of the bootloader :-)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.