paciente8159 / ucnc Goto Github PK
View Code? Open in Web Editor NEWµCNC - Universal CNC firmware for microcontrollers
Home Page: https://github.com/Paciente8159/uCNC/wiki
License: GNU General Public License v3.0
µCNC - Universal CNC firmware for microcontrollers
Home Page: https://github.com/Paciente8159/uCNC/wiki
License: GNU General Public License v3.0
Describe the bug
$P report for AVR reports incorrect values for servo pins
What is your hardware
Describe your hardware:
What was the GCode running
$P report for AVR reports incorrect values for servo pins. The internal mcu_get_servo function is not recalculating the servo pin correct value (in 0 to 255 range)
Screenshots
N/A
Additional context
N/A
Is your feature request related to a problem? Please describe.
Describe the solution you'd like
Move TMC drivers to external module (out of the core scope)
Describe your target machine hardware
All HAL
Additional context
N/A
Is your feature request related to a problem? Please describe.
Add speed configuration function to I2C. This might be required by some libraries.
Describe the solution you'd like
Add speed configuration function to I2C like in SPI.
Describe the bug
STEP6 and STEP7 enable pins are missing from the HAL
What is your hardware
This is transverse to all architectures
What was the GCode running
N/A
Screenshots
N/A
Additional context
STEP6 and STEP7 enable pins are missing. This stepper drivers configured as shadow dual axis register to switch the enable pin.
Describe the bug
ATOMIC operations in softuart causes communication errors (unread chars). This is very noticeable with VFD because of the successive communications attempt in case of failure.
What is your hardware
Describe your hardware:
Describe the bug
mcu_delay_us might lead to deadlock on ARM on an atomic operation due to the millis counter dependency that works based on Systick ISR. Need to revert to Debug counter.
What is your hardware
Describe your hardware:
What was the GCode running
Using mcu_delay_us in atomic operations like softuart.
Additional context
N/A
A clear and concise description of what the feature is:
Extension module (GCode, custom harware/functionality, etc)
Describe the solution you'd like
A clear and concise description of you would like to achieve and who it should work.
Describe your target machine hardware
A clear and concise description of your target machine hardware (mechanics, electronics, etc..).
There is a good chunk of Chinese VFDs that work more or less on same basis
Ex.
Huanyang model 1 and model P2A
Yalang YL620
Durapulse GS20
More info in this repository:
https://github.com/Expatria-Technologies/Plugins_spindle
Is your feature request related to a problem? Please describe.
A clear and concise description of what the feature is:
Describe the solution you'd like
If you want to engrave PCBs properly, you need to have a bed mesh as copper layer is super thin, cannot do that without having "bed mesh" and transformation it applies to gcode
Describe your target machine hardware
Every machine as it can be done with clamps to pcb + engraving tool
Additional context
Klipper, Marlin, Reprap firmwares all have this implemented
Describe the bug
So as you know my machine has end-stops on X & Y and I have a probe which I sometimes use on Z, but most of the time I just jog the Z axis into position at hit the "Zero out work offsets" for the Z axis in CNC.js. This sends G10 L20 P1 Z0
to which µCNC returns "Unsupported command".
What is your hardware
Describe your hardware:
https://github.com/jimsynz/uCNC/tree/master/
What was the GCode running
G10 L20 P1 Z0
Additional context
So I had a look at the parser source and I see that L20
is not supported and only L2
is supported. A quick google says that they're synonyms and should both have the same behaviour. I was about to open a PR to add it when I thought I'd better test it and sent G10 L2 P1 Z0
and got back an ok
however the WPos for the Z axis is still a non-zero value.
$10=0
ok
> ?
<Idle|WPos:0.000,0.000,50.000|FS:0.000,0>
ok
> $10=1
ok
> ?
<Idle|MPos:0.000,0.000,50.000|FS:0.000,0>
ok
> $10=0
ok
> ?
<Idle|WPos:0.000,0.000,50.000|FS:0.000,0>
ok
> G10 L20 P1 Z0
error:20 (Unsupported command)
> G10 L2 P1 Z0
ok
> ?
<Idle|WPos:0.000,0.000,50.000|FS:0.000,0|WCO:0.000,0.000,0.000>
ok
>
I noticed the addition of WCO:0,0,0
in the status, however if I'm understanding the G10
command it should be setting the work position, not the offset? Is that not right?
Thanks!
Describe the bug
In sync tx mode, protocol messages get contaminated with status reports.
What is your hardware
Describe your hardware:
What was the GCode running
Auto report status enabled
Is your feature request related to a problem? Please describe.
Describe the solution you'd like
Add support for RP2040 like RPi Pico W
Describe your target machine hardware
RP2040 MCU
Additional context
N/A
Hello, I am from China, I am a cnc enthusiast, my job is a machining center master, cnc is a hobby, I used this firmware from https://github.com/robomechs/6-AXIS-USBCNC- GRBL, I saw your source code today. I downloaded the source code to the linux system, installed arm-none gcc, and used the make command to compile, but after downloading, I connected the computer through the ch340g serial port module and sent $$ without any response, and then I tried to uncomment them separately in the boardmap_bluepill.h file//Setup COM pins (must match selected COM port)
//#define RX_BIT 10
//#define TX_BIT 9
//#define RX_PORT A
//#define TX_PORT A
And //#define COM_PORT 1
//#define TX_BIT 9
//#define TX_PORT A
//#define RX_BIT 10
//#define RX_PORT A
There is no response after compiling and downloading. I don’t know much about C++ and microcontrollers. Can you send me a HEX file of F103C8T6 to [email protected], and tell me whether the communication method is serial or USB virtual serial
Describe the bug
IC74HC595 stepper enable control is missing. Also enabling modules causes
What is your hardware
Describe your hardware:
All
Is your feature request related to a problem? Please describe.
Implement Smoothieware S cluster to compress S commands for laser rastering.
Describe the solution you'd like
Example:
S values for each dot colon delimited up to 8 values per line.
In this case a S_value_ is given for every dot at 0.1mm spacing.
G1 Y-0.8S0.875:0:0:0:0.875:0:0:0.875
G1 Y-0.3S0:0:0.875
G1 Y-0.4S0:0:0:0.875
Describe your target machine hardware
N/A
Additional context
Laserburn Smoothie Cluster
Is your feature request related to a problem? Please describe.
A clear and concise description of what the feature is:
Describe the solution you'd like
A clear and concise description of you would like to achieve and who it should work.
Describe your target machine hardware
A clear and concise description of your target machine hardware (mechanics, electronics, etc..).
Delta robot
Additional context
Add any other context or screenshots about the feature request here.
Hi.
I build my own CNC from polymer concrete
Photo
and I have some mechanical error , search CNC control
system for software compensation.
Is possible do it with uCNC ?
3D printer marlin have Skew compensation .. Any idea?
Is your feature request related to a problem? Please describe.
Add support for cubic splines (Linux CNC - G5) and quadratic splines (Linux CNC - G5.1)
Additional context
Linux CNC - G5
Linux CNC - G5.1
Describe the bug
Some $ settings issue an error and are not correctly stored in EEPROM.
What is your hardware
All
What was the GCode running
For example $100 setting.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the feature is:
Describe the solution you'd like
Implement core support for laser PPI with tight coupling with stepping pulses.
Describe your target machine hardware
All HAL
Additional context
N/A
Describe the bug
LPC176x USB crash when sending GCode at a very high rate (for example laser rastering). On UART this problem does not happen.
There may be an issue with TinyUSB.
What is your hardware
Describe your hardware:
What was the GCode running
Image laser rastering.
Describe the bug
Dynamic laser power mode M4 accel/deaccel range is being calculated over the segment junction speed and not the programmed speed. This changes laser power density applied. Also causes some noticeable overburn on the extremities.
What is your hardware
N/A
Is your feature request related to a problem? Please describe.
Allow for both UART and USB to work simultaneously and seamlessly.
Hi,
I just reached this marvelous software. I am bit new in this field. Can you please guide about the post-processor of uCNC. I am using freecad.
Best regards,
Hi,
I am new in this field and I think reached to my last question. I have connected two motors on my Y-axis. In marlin firmware (on MKS Gen L V 2.1 Board = Ramps Board in pinouts (may be)), when updated for dual axis on Y axis, the machine run smoothly. However, I could not get the Y-Axis running with both the motors (though one is running and one is not) on GRBL or uCNC. Can you please guide me in this aspect.
(Edit) My second Y motor is attached to E1.
Best regards,
Is your feature request related to a problem? Please describe.
Migrate LPC176x code to bare-metal
Use SSP instead of SPI to gain one SPI port option
Describe the bug
Random ultra low homing motions or incorrect arc/splines acceleration calculations.
On multiple chained line motions the maximum acceleration would start to drop due to minimum limiting causing random ultra low motions or motions with acceleration bellow expected.
Also on motion control homing the motion control data block is not initialized properly leading to unexpected behavior.
What is your hardware
Describe your hardware:
All
Additional context
motion data max acceleration needs reset after each motion control line call.
Is your feature request related to a problem? Please describe.
Add support for comments started with ';'. Currently only supports RS274NGC commands that are delimited by '(' and ')'
Describe the bug
I have noticed this issues during homing procedure:
Expected behaviour:
Current behaviour:
I does not happen every time. It's random.
What is your hardware
Arduino Uno + CNC Shield v3
uCNC 1.5.6
Settings:
$0=33.333
$3=2
$4=0
$10=1
$11=0.200
$13=0
$20=1
$23=0
$26=250
$27=4.000
$32=0
$80=1
$100=80.000
$101=144.000
$110=6000.000
$111=6000.000
$120=1000.000
$121=1000.000
What was the GCode running
$H
Additional context
My uCNC is slightly modified. I have to add a couple of lines of code. However, i don't think my changes could be related to this issues. I will try to add some datails if necessary.
Is your feature request related to a problem? Please describe.
Add conditional to enable some sort to wiring and alarm triggering debugging.
This would help determine the source of unexpected alarm conditions.
Is your feature request related to a problem? Please describe.
Add option to set PWM ports frequency. This might improve laser control response. Currently fixed at 1KHz for all hardware.
Describe the bug
M351 output read command reads pins as inputs and not as outputs
What is your hardware
AVR RAMBO
What was the GCode running
N/A
Screenshots
N/A
Additional context
N/A
Describe the bug
Software SPI and I2C need better way to configure speed.
SPI library also as a bug in the delay calc.
Additional context
AVR us delay needs refactoring.
Aditional 100ns delay must be added for better precision.
The program seems to be running? The PC13 light is on, but it is an unknown USB device. It is certain that there is no problem with my usb virtual serial port (I have tried grblhal's f401 firmware and he has no problem)
Is your feature request related to a problem? Please describe.
Add additional lathe support besides the existing G33 module.
Describe the solution you'd like
Add additional support in for G7/G8 (lathe mode), G76 and G10 L1 L10 and L11.
Describe your target machine hardware
Any CNC lathe and any board
Additional context
Describe the bug
ESP32 issues timer errors when firmware is compiled/uploaded using PlatformIO. The core works fine if Arduino IDE is used.
What is your hardware
Describe your hardware:
Is your feature request related to a problem? Please describe.
Move TinyUSB to external dep library. Cleaner code and easier to update.
Describe the solution you'd like
Add TinyUSB as an external ArduinoIDE/PlatformIO library.
Is your feature request related to a problem? Please describe.
Add extra UART ports to be used by the softuart lib or with Grbl TFT's
Describe the bug
Abrupt deacceleration at high speeds and short segments. This is particularly noticeable at laser rastering.
What is your hardware
N/A
What was the GCode running
Raster test image at 100mm/s
Screenshots
N/A
Additional context
Problem seems to be located in the planner
Is your feature request related to a problem? Please describe.
Describe the solution you'd like
Add module events to enable storing settings in external memories (for example via SD card module)
Describe your target machine hardware
All HAL
Additional context
N/A
Describe the bug
On check mode M2 is interpreted leaving the firmware unresponsive.
Describe the bug
STM32 UART is set with incorrect baudrate (no USB) with option FRAMEWORK_CLOCKS_INIT enabled
What is your hardware
Describe your hardware:
Additional context
With FRAMEWORK_CLOCKS_INIT APB2 will run at 2x the expected speed making the UART incorrectly configured.
Describe the bug
The function name has an ugly typo. procotol_send_newline
in protocol.c
Additional context
No additional context. Just a typo.
Is your feature request related to a problem? Please describe.
Describe the solution you'd like
Implement custom Grbl type settings to be used by external modules
Describe your target machine hardware
All HAL
Additional context
N/A
Hello,
Tried to compile for Bluepill custom configuration, get an error when I disable //#define PROBE_BIT 9 in boardmap_bluepill.h.
It says "c:/users/dst/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: .pio/build/bluepill_f103c8/src/src/hal/mcus/stm32f1x/mcu_stm32f1x.c.o: in function mcu_init': mcu_stm32f1x.c:(.text.mcu_init+0x41e): undefined reference to
mcu_disable_probe_isr'".
Actually I am ok with not disable it, just reporting, Thanks for great project. Have not enough knowledge to fix it.
It is win10, vscode 1.69.0-insider, pio latest
Is your feature request related to a problem? Please describe.
Allow additional dual drive axis. If there is vacant stepper drivers allow those to be used as dual drive axis.
Describe the bug
If a M3 or M4 (with laser mode disabled) is sent without any gcode running the board stops accepting gcode commands.
All hardware
What was the GCode running
None. A single M3 S10 for example locks
Screenshots
Additional context
The problem is the interpolator sync function that has condition that causes the deadlock. Needs fixing.
Describe the bug
G4 (dwell) is being executed immediately and not on where it should in the code.
What is your hardware
All
What was the GCode running
This code will execute dwell before first motion
G90 G17 G40 G21 G54
G0 X0 Y0 F1000
G91
G1 X100
G4P5
G0 X-100
M2
Describe the bug
Probing fails to stop on detection via ISR. Works ok with FORCE_SOFT_POLLING enabled
What is your hardware
Describe your hardware:
STM32 chips
Is your feature request related to a problem? Please describe.
Describe the solution you'd like
Add new module for Graphical displays. u8g2 or other middleware library might be needed.
Describe your target machine hardware
All HAL
Additional context
N/A
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.