grblHAL / STM32F4xx

grblHAL driver for ST STM32F4xx (Nucleo-64, Blackpill)
Other
93 stars 86 forks source link

I don't understand why you have been devoting your energy to making grblhal drivers for different processors? #35

Closed hankecnc closed 3 years ago

hankecnc commented 3 years ago

How are you?

Your energy is limited. Does this make you tired?

I think that too many grblhal drivers will not help the promotion and use of grblhal. Most CNC enthusiasts do not understand electronic technology, and they will not spend a lot of money to buy a development board to play grbl.

What was the initial success of grbl? I don’t think it relied on the arduino development board, but the open source, low cost, and the popularity of 3D printing. grbl is excellent in 3D printing and laser performance, but it is very insufficient in CNC.

terjeio commented 3 years ago

How are you?

Not too bad considering my age....

Your energy is limited. Does this make you tired?

Not really, this far I like the challenge of keeping grblHAL going - I find it stimulating. Unless I have to work with the hobby grade Arduino IDE that is, it annoys me big time not having access to a debugger. So no additional Arduino based drivers from my hand.

grbl is excellent in 3D printing and laser performance, but it is very insufficient in CNC.

Huh, I must have missing something here - grbl is excellent in 3D printing? I did not know that. Any links?

Can you explain/expand on what is insufficient regarding CNC support? I have just added parameter and expression support in the core so not much is missing now? The missing bits (at least compared to LinuxCNC) might be challenging to implement, but perhaps not impossible. Time will tell.

I may retire (archive) some drivers if they either have insufficient resources for new developments or will require a lot of work to keep going. The STM32F103 driver was in the danger zone but is no longer due to the RC variant having sufficient memory to handle all current plugins/optional core extensions (that the driver supports).

Recent drivers:

The RP2040 (Pi Pico) driver was added because it is dual core, is cheap and has a decent development environment.

The STM32F756 was added because it has networking support, plenty of I/O and a decent development environment. I am now using it as my reference platform due to this. I do not care if nobody is going to use it as it as it saves me a lot of time when developing. E.g. the iMXRT1062 driver for Teensy 4.1, which is quite popular, is easier to me to develop for using the NUCLEO-756ZG board simply because it is debuggable. Debugging with print statements or blinking LEDs is not my cup of tea anymore...

hankecnc commented 3 years ago

In the past few days, I tried to make F401CCU6 (used chip 8 RMB) for grblhal, but due to the QFN package, there was a problem with the soldering. I will try again next month. The esp32 (10 RMB) version is already available for soldering and sale, but I Kind of hate esp32, I think it is unreliable and weird thing

Do you know when the chip will return to the normal price? If the stm32f103 can return to the normal price, I will still choose the f103 chip to make the circuit board for grblhal,

After I saw your support for the RP2040 chip, I went to find out, it is very good compared to the f103, the price is 7 yuan, but the Taobao seller told me that you can only buy one, not in bulk.

Regarding the shortcomings of grblhal? I don't know, because I can't buy cheap chips to make the circuit board, I didn't evaluate it, I just ran it on the development board, and the added drilling cycle is very good.

For professional CNC, GRBL does not depend on tool length and tool radius compensation?

Do you know the five-axis RTCP? Chinese CNC DIY enthusiasts seem to be very keen to discuss this, there is an open source 5-axis rtcp for sale on Taobao, 1000 yuan UsbMotionController18.24(32).zip

hankecnc commented 3 years ago

For the ioSender you wrote, I can’t Chinese. I tried to open your source code with VS. It reported a lot of errors. It was scary. I couldn’t solve it at all. I just want to change the text on the button to Chinese.

hankecnc commented 3 years ago

gcode expression? Will anyone learn and use that ancient thing?

I think that thing is a substitute for the previous unpopular CAM software? Among the DIY CNC enthusiasts I have contacted, most of their professions are related to the machinery industry. It is not difficult to learn to use CAM software, or wood carving enthusiasts use Autodesk ArtCAM to make G-code toolpaths.

Well, no matter what, it is still good,

terjeio commented 3 years ago

Do you know when the chip will return to the normal price? If the stm32f103 can return to the normal price, I will still choose the f103 chip to make the circuit board for grblhal,

After the world get rid of Covid? I would not base a new design around that chip as it has limited memory, no FPU and is relatively slow.

For professional CNC, GRBL does not depend on tool length and tool radius compensation?

Tool length offset is already supported (for all axes) and tool table support is optional, currently for up to 16 tools. Tool radius compensation (and path blending) is on my todo list - but I suspect both will require rather large changes to the core.

Do you know the five-axis RTCP?

No, so I checked around a bit. It requires a expensive machine and CAD/CAM tools so is perhaps not something grblHAL should aim to support? It will be rather expensive to implement both in terms of money and time?

For the ioSender you wrote, I can’t Chinese. I tried to open your source code with VS. It reported a lot of errors. It was scary. I couldn’t solve it at all. I just want to change the text on the button to Chinese.

You need to install the libraries ioSender is dependent on to compile. However, making ioSender translatable is on my todo list so I will advice against it if your idea was to change the text strings in code. If you are willing to do the translation I can put this high on my list as I am going to take a break from grblHAL coding.

gcode expression? Will anyone learn and use that ancient thing?

Perhaps not, it is a part of making grblHAL standards compliant. Parameter support is IMO important as it provides an API to get at core data in a read-only fashion, useful for plugin developers.

terjeio commented 3 years ago

Like this?

image

hankecnc commented 3 years ago

像这样?

图片

Yes

hankecnc commented 3 years ago

Is it a misunderstanding caused by different languages?

What I mean is that I directly modify the text of the control by opening the source code to Chineseize the software.

If you have a better software translation method, I can try the method you provide.

terjeio commented 3 years ago

Is it a misunderstanding caused by different languages?

Yes, it could easily be a misunterstanging.

What I mean is that I directly modify the text of the control by opening the source code to Chineseize the software.

Not a good idea, when a new version comes out the translation has to be done again.

If you have a better software translation method, I can try the method you provide.

I have, there are a number of options and I have decided to to use baml for localization.

I have already tagged most of the UI with the required Uid and generated the file that is to be used for translation. With the LocBaml tool a translation can then be added without recompiling.

What I find a bit problematic is that there are no good tools (that I can find) for maintaining translations. In addition the file generated contains a lot of information that, in my opinion, can easily be corrupted by a translator. To mitigate this I have started to experiment with loading the file generated into a relational database and adding fields to that so that translation status can be tracked. From this I can generate a file(s) for translation that will be a lot simpler for the translator to handle. However, there is a downside to this - a translation has to be submitted so that I can apply it...

Give me a bit more time to experiment, I need that before I decide how to proceed.

hankecnc commented 3 years ago

是不是语言不同造成的误会?

是的,这很容易造成误解。

我的意思是我直接通过打开源代码修改控件的文字来汉化软件。

这不是一个好主意,当一个新版本出现时,必须再次进行翻译。

如果你有更好的软件翻译方法,我可以试试你提供的方法。

我有,有很多选择,我决定使用baml 进行本地化

我已经用所需的 Uid 标记了大部分 UI,并生成了用于翻译的文件。使用_LocBaml_工具,_无需_重新编译即可添加翻译。

我觉得有点问题的是没有好的工具(我可以找到)来维护翻译。此外,生成的文件包含大量信息,在我看来,这些信息很容易被翻译人员破坏。 为了缓解这种情况,我开始尝试将生成的文件加载到关系数据库中并添加字段,以便可以跟踪翻译状态。由此,我可以生成一个翻译文件,这对于翻译人员来说处理起来要简单得多。但是,这有一个缺点 - 必须提交翻译才能应用它......

给我多一点时间进行实验,在我决定如何继续之前,我需要它。

OK 👌。 Hi, I just used GRBLhal to connect my Android phone via USB and sent him "G1Z10F100". The machine moved. I think this is a very interesting development direction because people have many old Android phones or tablets.

terjeio commented 3 years ago

See this discussion for how translation of ioSender can be done.