Skip to content
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

Detect if its a laser or a mill? #31

Open
ghost opened this issue Jun 1, 2017 · 25 comments
Open

Detect if its a laser or a mill? #31

ghost opened this issue Jun 1, 2017 · 25 comments

Comments

@ghost
Copy link

ghost commented Jun 1, 2017

Run http://smoothieware.org/console-commands#config-get for the laser_module parameter (if true, its a laser) also could probably check for extruders if found, is a 3d Printer. Check for a Spindle config, its a mill... etc

On Grbl we can check for Laser Mode (if found its a laser. If not its a mill)

Then in the frontend (@jorgerobles) we can hide laser ops and "laser test" etc and any other instance of "laser" if its not a laser

@tbfleming
Copy link
Member

This sounds good for limiting what's on the Control tab. I'm uneasy with it limiting things on the Files tab.

@ghost
Copy link
Author

ghost commented Jun 1, 2017 via email

@ghost
Copy link
Author

ghost commented Jun 1, 2017 via email

@tbfleming
Copy link
Member

I hate that switch. It contributes to people coming from jscut thinking it's not a complete replacement. They try it, see only laser ops, then quickly give up.

@ghost
Copy link
Author

ghost commented Jun 1, 2017

Yip me too, sort of why I want the switch replaced with "what is this machine based on what the firmware tells us"?

@ghost
Copy link
Author

ghost commented Jun 1, 2017

Also, want to remove the phrase Laser wherever not absolutely needed - since it scares of mills users seeing a Laser test button, laserweb title bar, etc

@jorgerobles
Copy link
Contributor

I will ditch da switch. Was only because LW3 had.

@tbfleming
Copy link
Member

I see this happening:

  • Beginner tries CAM first
  • Connects to a board that they haven't finished configuring
  • Gets totally confused that CAM suddenly stops working right

@ghost
Copy link
Author

ghost commented Jun 1, 2017

Agreed, quick win there. In default mode we can show all machine ops. After connecting, we know what we are talking to, hide irrelevent ops?

@ghost
Copy link
Author

ghost commented Jun 1, 2017

Yeah ok, i hear you (;
Then default to show everything all the time on CAM

@ghost
Copy link
Author

ghost commented Jun 1, 2017

I'll leave my root problem - just in case it inspires a different elegant solution to the problem:

I have several machines in my shop: would be cool if LW adapts to the particular machine I connected to, when I connect to it. On the one hand I thought, simple enough, check the firmware to see what tools are configured. The other idea I had was to find a hash / serial number / something from the serial port, and automatically switch Machine Profiles based on the ID of the port you connect to (and no port name is not good enough, /dev/ttyUSB0 isnt always the mill (; ) - this idea of course would be even better since it can then adapt machine sizes, origins, gcode etc all based on which machine i am presently connected to)

@jorgerobles
Copy link
Contributor

jorgerobles commented Jun 1, 2017

Understood. I think machine should connect on user interaction, and once connected, there's a work in progress https://github.com/LaserWeb/lw.comm-server/wiki/Firmware-feature-list that might solve that.

@cojarbi
Copy link

cojarbi commented Jun 1, 2017

I have the same issue as Peter, but what happens if I want to work in another comouter or not connected? Or shows all ops on not connection, switch to specific when connected

@jorgerobles
Copy link
Contributor

I'd go for change upon user actively chooses the machine to connect.

jorgerobles added a commit to LaserWeb/LaserWeb4 that referenced this issue Jun 1, 2017
@cprezzi
Copy link
Member

cprezzi commented Jun 1, 2017

I belief that the user should always initiate the connection because on some machines it's not save to connect without user knowing it (i.e. eleksmaker machine activates laser on connect!).

@cprezzi
Copy link
Member

cprezzi commented Jun 1, 2017

The planned getFeatureList command could be easily extended by featuresLaser, featuresMilling or a "serial number" if I can detect those infos somehow.

What about having a firmware configuration dialog in LW4?

@cprezzi
Copy link
Member

cprezzi commented Jun 1, 2017

If we can detect some machine serial number, we could name that machine and show that name in the COM-Port dropdown.

@cprezzi
Copy link
Member

cprezzi commented Jun 1, 2017

The problem with reading the config (like laser module, spindle module, laser mode...) from the firmware is, that we don't know if the user has configured the firmware correctly.

@ghost
Copy link
Author

ghost commented Jun 1, 2017 via email

@cprezzi
Copy link
Member

cprezzi commented Jun 18, 2017

What do you think about that:

  • If the user would have to define a machine profile for every machine, not one profile per machine type, we could store the last machine settings (read from firmware) in the machine profile.
  • On every connection, we could compare the machine settings with all profiles and select the first maching one.

This way, we could store all "flags" in the machine profiles.

@cprezzi
Copy link
Member

cprezzi commented Jun 18, 2017

And the other way around:

  • If the user selects a machine profile, we could try to open the last known port for this machine.

@jorgerobles
Copy link
Contributor

jorgerobles commented Jun 18, 2017 via email

@cprezzi
Copy link
Member

cprezzi commented Jun 18, 2017

On grbl, the user can store an idetification string with $I=xxxxx, but Smoothieware and TinyG don't have such a feature, as far as I know.

@cprezzi
Copy link
Member

cprezzi commented Jun 18, 2017

What I mean is, that we should save all machine dependant settings for the frontend in the machine profiles. If there is some machine idetification or "serial number" we would also store it in the corresponding machine profile, so we know which settings to load.

@jorgerobles
Copy link
Contributor

jorgerobles commented Jun 18, 2017 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants