doug_scott
Posts: 18
Joined: Sun Sep 29, 2019 9:37 am

Automatically convert to uppercase

Wed Jun 10, 2020 7:48 pm

This request is extremely basic in regards to the other feature requests I have read, but I am not experienced enough to even understand a lot of the other requests.
On the Communication tab there is a box to enter GCODE type commands. GCODE is limited to only uppercase letters, so, why not just have Simplify3d switch the command to be uppercase if it is entered in lower case? The main reason I suggest this is that many times I am on my computer while the printer is printing something, or I am simply trying to do two things at about the same time and find that using the cap lock key ends up being left enabled and now I have to re-write some text because I did not intend it to be uppercase. It is a fairly simple request, with very little exposure to the main code, so chances of introducing bugs is very low.

parallyze
Posts: 88
Joined: Fri Jun 05, 2015 4:18 am

Re: Automatically convert to uppercase

Fri Jun 19, 2020 12:10 pm

doug_scott wrote: GCODE is limited to only uppercase letters, so, why not just have Simplify3d switch the command to be uppercase if it is entered in lower case?
According to https://reprap.org/wiki/G-code:
The original NIST G-code standard requires gcode interpreters to be case-insensitive, except for characters in comments. However, not all 3D printer firmwares conform to this and some recognise uppercase command letters and parameters only.

Firmwares that are known to be case-insensitive
RepRapFirmware version 1.19 and later (except within quoted strings)
Firmwares that are known to be case-sensitive
RepRapFirmware version 1.18 and earlier
So if you really have to send uppercase commands, maybe there's a firmware update available for the machine you're using? I've seen some commits on github on cura/ultimaker about this. Marlin/RepRap/Duet seem to have had some changes there as well over the past years...

doug_scott
Posts: 18
Joined: Sun Sep 29, 2019 9:37 am

Re: Automatically convert to uppercase

Fri Jun 19, 2020 1:51 pm

I am currently using Marlin 2.0 firmware. Simplify3d creates GCODE file in all uppercase, why not do the same for commands that are entered? Pronterface actually shows you that they are converting what you entered to be uppercase when they send the command. The output from Pronterface

Connecting...
Printer is now online.
>>>m500
SENDING:M500
echo:Settings Stored (699 bytes; crc 54747)
>>>m503
SENDING:M503
echo: G21 ; Units in mm (mm)
echo:Filament settings: Disabled
echo: M200 D1.75
echo: M200 D0
echo:Steps per unit:
echo: M92 X50.00 Y50.00 Z210.00 E70.00
echo:Maximum feedrates (units/s):

left the rest off. I am not a programmer, but, I would imagine there must be a setting or a declaration at the very beginning of the program where the input is defined. Isn't there a simple way for Marlin developers to just change that setting to "case insensitive"? To my way of thinking, that should have been defined/declared on the first day of writing Marlin, and I mean the very first day, back when this was just a kids idea to make his own GI Joes. Since it is not likely that anyone coding on Marlin will go back to page 1 and fix this, Simplify3d could just do as Pronterface is doing, and I imagine other slicers are doing it as well, and just convert commands to uppercase. They could just add in an option in the configuration for the user to enable auto-convert to uppercase if they are concerned that case sensitive becomes a requirement.

parallyze
Posts: 88
Joined: Fri Jun 05, 2015 4:18 am

Re: Automatically convert to uppercase

Fri Jun 19, 2020 3:35 pm

I'm not really looking for a discussion about 30-50 year old file formats vs. various ways to interpret them. It was just meant as a hint where to look if the problem really bothers you. Because I'd be surprised if this came up in a fix within the next days...

Anyways: Simply "upcasing" everything doesn't work. Looking at the various comments/bug reports on github this can lead to various problems. G commands being accepted in upper case, but not the parameters and such.

Marlin FW can be configured either way: https://marlinfw.org/docs/configuration ... ation.html
(GCODE_CASE_INSENSITIVE)
(I'm not using Marlin, so I can't tell if there's any obvious downsides to this)
doug_scott wrote: To my way of thinking, that should have been defined/declared on the first day of writing Marlin, and I mean the very first day, back when this was just a kids idea to make his own GI Joes.
To me this sounds quite condescending...

doug_scott
Posts: 18
Joined: Sun Sep 29, 2019 9:37 am

Re: Automatically convert to uppercase

Tue Jul 07, 2020 7:10 am

Sorry if you took offence, but, I have always had issues with those that miss the obvious. This is one of those things. The bugfix-2.0.x source from last night has a setting in the configuration_adv.h that fixes the case sensitivity. It is disabled by default.

#define GCODE_CASE_INSENSITIVE

It may have been earlier than yesterday, and I would expect it to have been, last update I did was early June. If this change has made it into the release version of 2.0, it will not be needed as a feature in Simplify3d.

parallyze
Posts: 88
Joined: Fri Jun 05, 2015 4:18 am

Re: Automatically convert to uppercase

Tue Jul 07, 2020 12:21 pm

doug_scott wrote:
Tue Jul 07, 2020 7:10 am
Sorry if you took offence, but, I have always had issues with those that miss the obvious. This is one of those things.
:roll:
doug_scott wrote: The bugfix-2.0.x source from last night has a setting in the configuration_adv.h that fixes the case sensitivity. It is disabled by default.
#define GCODE_CASE_INSENSITIVE
Oh, it's like the documentation says?
parallyze wrote: Marlin FW can be configured either way: https://marlinfw.org/docs/configuration ... ation.html
(GCODE_CASE_INSENSITIVE)
doug_scott wrote: It may have been earlier than yesterday, and I would expect it to have been, last update I did was early June. If this change has made it into the release version of 2.0, it will not be needed as a feature in Simplify3d.
This optional feature is part of the 2.0.x branch since february:
https://github.com/MarlinFirmware/Marli ... ag/2.0.4.4

Default setting added to the configuration files in release-2.0.4 in april:
https://github.com/MarlinFirmware/Confi ... tion_adv.h

Return to “Feature Requests”