Welcome to Our Community

Some features disabled for guests. Register Today.

OpenBuilds CONTROL Software

Discussion in 'Control Software' started by Mark Carew, Oct 8, 2018.

  1. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    15,061
    Likes Received:
    4,314
    Double check your wiring against docs.openbuilds.com/blackbox (make sure you have the polarities right etc on the wiring to the IoT)

    And is your router power cables seperated from the low voltage wiring enough to prevent EMI issues
     
  2. RV9

    RV9 New
    Builder

    Joined:
    Feb 23, 2018
    Messages:
    4
    Likes Received:
    0
    Done. Wiring was done according to docs and has been running perfectly for more than a year. I used the same shielded cable, connectors, grounds, and practices I used when I wired the electrical system and avionics in my airplane. The router power cable should be separated enough but like all things EMI, just because it has been running doesn't mean it will continue to do so. I will check all that stuff.
    Russ
     
  3. Batcrave

    Batcrave Journeyman
    Builder

    Joined:
    Apr 20, 2018
    Messages:
    361
    Likes Received:
    166
    I just wanted to follow up on this after watching for a few days. It's definitely not a cosmetic error. It looks like the update attempts to run once on startup, fails, and then never attempts to run again (at least until the process is killed & restarted). I assume there's a timer that doesn't get reset when the process dies early. If only I'd figured that out back when I was trying to evade updates.


    Also (and almost completely unrelated), is there any way to configure (or disable) the various jog increments? Having a smaller machine, I'd find 50mm far more useful than 100mm, and I'd like to kill the big ten inch completely, burn the remains, and then salt the earth where the ashes are buried - that thing does nothing but cause trouble. Or, optionally, just change it to a more useful value, *then* burn & salt.

    I seem to have this fuzzy memory of seeing an option to that effect somewhere (minus the incendiaries and seasonings), but I don't know if it was actually in CONTROL, if I'm conflating it with linuxCNC or bCNC, if it was something I saw while poking around the source, or if I've finally lost the ability to tell the difference between "memory" and "wishful thinking".

    [edit: another update on the update update that I probably should've mentioned... at least in .235 (I think, that .234 did the same, but I don't have any notes on it) it doesn't seem to blow up on a "no new updates" check]

    -Bats
    (if it's the latter, then maybe the world has always been this [​IMG][​IMG][​IMG][​IMG]ed up...? scary...)
     
    #1293 Batcrave, May 16, 2020
    Last edited: May 17, 2020
  4. David the swarfer

    David the swarfer OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Aug 6, 2013
    Messages:
    3,464
    Likes Received:
    1,915
    yeah, when you have continuous and discrete jogging, long discrete jogs don't make sense and can be **** dangerous. my Z moves about 127mm, so having a Z jog increment more than half of that is nearly always going to hit something. use continuous for the long jogs, and small discrete for the tool height setting etc. safety first!
     
    Batcrave likes this.
  5. SeanD

    SeanD Well-Known
    Builder

    Joined:
    Mar 23, 2019
    Messages:
    207
    Likes Received:
    65
    I would really like to have the option to read values from OpenBuilds Control while it's running. For example if I want to monitor the run time of jobs, trigger a timelapse capture from my website, send an email when a job is done, etc. I have looked at the code on Github and my coding experience doesn't cover the methods used to in OpenBuilds Control. I am probably able to get the data via cURL or DOM from the web service it provides - but I wanted to find out if there is a better way. I did see an api.doc in the git but don't actually understand it. I have a lot of experience in coding and development - just with how the app is developed specifically. Any help would be greatly appreciated.
     
  6. Rob Taylor

    Rob Taylor Master
    Builder

    Joined:
    Dec 15, 2013
    Messages:
    1,470
    Likes Received:
    749
    I'm sure Peter will be along shortly with some specifics, but the I also did a source dive I did when I got intrigued in this thread- Resume job automatically? - so I picked up a little bit as I went.

    It's a multi-library project so it's written in simple JavaScript and conveniently packaged as an exe. IO is done using websockets, with events broadcast to all listeners- this is the part that should interest you.

    Because all grbl-oriented events (homing switch contact, g-code being sent, return "done"s, literally everything) are broadcast as websocket emits, you can look for ANYTHING in a job. The emits include the relevant data, so any listener set up appropriately can capture them.

    How you get from a listener in an exe being run to an email being sent from a server, I'm less sure- not much of a web developer- but it's all well set up in the software to be able to do whatever you want. Maybe a listener that you write in can ping an IP address, or even another piece of software running on the network that handles that. I'm assuming Node.JS includes a web stack because there are direct links in CONTROL that don't seem to be set up as "special events" in the code.

    The main screen is just written as an HTML file, it's pretty cool actually. Got me interested in what's possible with these modern JS libraries.

    Edit: because I just noticed that I started typing what I was Googling and not what I was looking at on GitHub. :banghead:
     
    #1296 Rob Taylor, May 17, 2020
    Last edited: May 17, 2020
  7. Batcrave

    Batcrave Journeyman
    Builder

    Joined:
    Apr 20, 2018
    Messages:
    361
    Likes Received:
    166
    Hey, Peter... is there a reason the probe routine reverts to default plate width every time the software is restarted, or can I log that as a bug over on github? Because it's causing some problems:
    IMG_20200517_155004sm.jpg

    -Bats
    (problems like "the neighbors are going to call the cops because that much yelling probably means domestic violence")
     
  8. SeanD

    SeanD Well-Known
    Builder

    Joined:
    Mar 23, 2019
    Messages:
    207
    Likes Received:
    65
    Thank you so much for your reply. I had looked through the code and this really confirms a lot for me. I haven’t previously worked on software that is developed in a web based code system and was initially unsure if I had read the code correctly. I can see how it is being complied now better too. I am not sure on the best entry point as forking the code repository seems like a bad path as I would be doing a lot of maintenance on my code and I would still like to see if there is an output I can tap into. Will hopefully be able to get more information.
     
  9. Rob Taylor

    Rob Taylor Master
    Builder

    Joined:
    Dec 15, 2013
    Messages:
    1,470
    Likes Received:
    749
    Hahaha, you replied right as I was editing. Node is what I was looking into separately and then went and typed anyway. CONTROL actually seems to be a middle-of-the-road JS project with a mix of libraries- JQuery, Bootstrap, websockets (I found the lib this time, it's not sockets.IO, probably makes little difference), etc. More traditional, probably easier to maintain too.

    The actual mechanics of integrating are more or less correct, though, I was pretty intrigued. I don't know if there's an output you can get into once it's compiled, but it would be really interesting to find out. Peter doesn't tend to say very much about it when you start prying though. :p
     
  10. SeanD

    SeanD Well-Known
    Builder

    Joined:
    Mar 23, 2019
    Messages:
    207
    Likes Received:
    65
    It’s a pretty awesome way to code it all. I haven’t worked on anything like it before but understand now the concept of how it works and compiles. Very cool how it provides web technologies at client based level so it can interact with com ports and such. Still not 100% sure if it is best just to scrap the data from the web service or if there is an easier way to accomplish interaction with the app itself. I would rather not take one path then find out it was all for naught. More than happy to learn something new so maybe I can just keep learning for now and hopefully he can provide some more information. Thanks again, your info has been super helpful. Much appreciated.
     
  11. txcomp

    txcomp New
    Builder

    Joined:
    Sep 6, 2019
    Messages:
    41
    Likes Received:
    18
    My Control just upgraded to 1.0.235 and I ran in to an issue. On the current jobs I'm running, I need to pause the job to clear a piece that I cut loose during the cut (don't ask, it's how it works best for me). I used to hit "Pause Job" to perform this but now when I hit Pause Job, Control throws a lock and I have to acknowledge the unlock alarm button. When I do this, I cannot continue the job from where I am. I hit "start job" and the job starts over. I've tried restarting Control twice and then rebooted the laptop and restarted Control for a 3rd time and it still shows the same behavior. Any thoughts??
     
  12. Delco

    Delco New
    Builder

    Joined:
    Oct 23, 2018
    Messages:
    22
    Likes Received:
    8
    Is there anyway to change the screen resolution for the software , it was fine but havent used it for a while so updated when it asked and now I can only see the top half of the screen , I am unable to see any of the grbl settings or change them ??
     
  13. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    15,061
    Likes Received:
    4,314
    Please take this question into a new thread, or git issue OpenBuilds/OpenBuilds-CONTROL as it will be long one - there are APIs for almost everything :)
     
    #1303 Peter Van Der Walt, May 18, 2020
    Last edited: May 18, 2020
  14. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    15,061
    Likes Received:
    4,314
    Bug, should save. Log me a git issue please so I remember to look into it
     
  15. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    15,061
    Likes Received:
    4,314
    Screenshot? Sounds more like something on your end isnt right
     
    #1305 Peter Van Der Walt, May 18, 2020
    Last edited: May 18, 2020
  16. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    15,061
    Likes Received:
    4,314
    Can you revert to 234 OpenBuilds/OpenBuilds-CONTROL and see if that makes a difference (if it does, I'll revert a change made in 235)
     
  17. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    15,061
    Likes Received:
    4,314
    Git issue please :)


    Are we calling the Continuous jog stable yet? Been wary of switching incremental to an improved version until continous has proven the to be the go-to way of rapid positioning
     
  18. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    15,061
    Likes Received:
    4,314
    (; couple corrections, not websocket, actually is socket.io and yes it makes a difference, socket.io is much better (;
    No bootstrap in use anymore , its Metro4: Metro 4 Components Library
    And its not really NodeJS, its Electron | Build cross-platform desktop apps with JavaScript, HTML, and CSS. which is node+chromium and awesome integration, packing tools, autopdating backend etc

    (; depends where we have the discussion, in the big thread here, it becomes hard to keep track between the replies (support in between etc) . It's own thread, or a Github issue OpenBuilds/OpenBuilds-CONTROL will be easier for me to address

    Edit = see Reading values from OpenBuilds Control software for example where SeanD moved his discussion :)
     
    #1308 Peter Van Der Walt, May 18, 2020
    Last edited: May 18, 2020
  19. Delco

    Delco New
    Builder

    Joined:
    Oct 23, 2018
    Messages:
    22
    Likes Received:
    8
    Found a ctrl - sorted it out and shift ctrl -
     
    Peter Van Der Walt likes this.
  20. SeanD

    SeanD Well-Known
    Builder

    Joined:
    Mar 23, 2019
    Messages:
    207
    Likes Received:
    65
    Peter Van Der Walt likes this.
  21. Rob Taylor

    Rob Taylor Master
    Builder

    Joined:
    Dec 15, 2013
    Messages:
    1,470
    Likes Received:
    749
    Well, that's what I get for second-guessing myself, haha. The socket.IO website was pretty interesting, made sense to me to use that one.

    I did look at Metro too, couldn't quite tell if it was intended to do anything beyond a consistent visual layout though. Interesting.

    Yeah, the Node thing was just stuck in my head for some reason, I remembered you mentioning Electron in other threads. That sounds extremely useful/interesting though, I'll have to look into that some more.

    Looking forward to this new thread though, modern JS frameworks are something I (obviously) have near-zero experience with. Kind of exciting to not-know-stuff.
     
  22. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    15,061
    Likes Received:
    4,314
    Yeah mostly eye candy the way we use it. But compared to Bootstrap it doesnt waste so much screen real estate and the developer, Sergey Pimenov, is an awesome down to earth guy, always happy to help out and accept feature requests etc (; unlike bootstrap (;
     
  23. DarkPenguin

    DarkPenguin Well-Known
    Builder

    Joined:
    Sep 16, 2017
    Messages:
    201
    Likes Received:
    65
    When I have to panic stop the machine and hit the alarm. If I re-home does it reset the work offset back to what it was or is it bozo'd? And if it is bozo'd could it reset the work offset? Like it knew what 0,0,0 for the work piece and what home WAS when I set it so if it knows what home is again....

    Anywho, I've been terrified to retry this without re-homing and resetting the work offset but sometimes I've already milled away the corner of a piece when it all went to ****.
     
  24. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    15,061
    Likes Received:
    4,314
    Offsets are stored in Grbl eeprom, and persists over power cycles, rehomes etc.

    Work pos = machine pos (reestablished by homing) + stored offset.

    Check the output of "$#" before and after rehoming, you'll notice the offset is not changed until you setzero

    Code:
    [18:31:08] [ G10 P1 L20 X0 Y0 Z0 ] ok
    [18:31:11] [ $# ] [G54:98.935,0.000,0.000]
    [18:31:11] [ $# ] [G55:0.000,0.000,0.000]
    [18:31:11] [ $# ] [G56:0.000,0.000,0.000]
    [18:31:11] [ $# ] [G57:0.000,0.000,0.000]
    [18:31:11] [ $# ] [G58:0.000,0.000,0.000]
    [18:31:11] [ $# ] [G59:0.000,0.000,0.000]
    [18:31:11] [ $# ] [G28:0.000,0.000,0.000]
    [18:31:11] [ $# ] [G30:0.000,0.000,0.000]
    [18:31:11] [ $# ] [G92:0.000,0.000,0.000]
    [18:31:11] [ $# ] [TLO:0.000]
    [18:31:11] [ $# ] [PRB:0.000,0.000,0.000:0]
    [18:31:11] [ $# ] ok
    
     
    #1314 Peter Van Der Walt, May 18, 2020
    Last edited: May 18, 2020
  25. David the swarfer

    David the swarfer OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Aug 6, 2013
    Messages:
    3,464
    Likes Received:
    1,915
    works for me with my xbox controller (-: (must do a video on that sometime)
    however, Z runs out of space really quickly at a reasonable XY jog rate, I would like a separate settings for Z rate and XY rate (like bCNC does it).
    the default jog rate is much too high, and I change it, and on restart it is back to 'way too high'.
     
    Batcrave likes this.
  26. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    15,061
    Likes Received:
    4,314
    I used to reject that notion with incremental, but thats why I mentioned "Been wary of switching incremental to an improved version " - as I agree, with continuous, z should offer a little more control (feedrate)

    Hmmm, used to save, maybe got taken our around the time Inch mode was added, if I forget, please do log issue on Git :)
     
  27. DarkPenguin

    DarkPenguin Well-Known
    Builder

    Joined:
    Sep 16, 2017
    Messages:
    201
    Likes Received:
    65
    Thanks for the explanation. Lots of things are made better with homing switches which I didn't have before. So power cycles and crashes were absolute death sentences to a route.
     
    Peter Van Der Walt likes this.
  28. Batcrave

    Batcrave Journeyman
    Builder

    Joined:
    Apr 20, 2018
    Messages:
    361
    Likes Received:
    166
    Done.

    Just wanted to make sure it was a bug, and not done deliberate for reasons that went sailing over my head.

    (especially after the last dump of issues - sorry 'bout that)

    Thanks for the link - I was all set to ask if I could get a heads-up when/if the suggested thread manifested.

    Not something I actually have time to delve into right now, but definitely something I've been curious about.


    -Bats
    (and you know what they say about curiosity and bats)
     
  29. Batcrave

    Batcrave Journeyman
    Builder

    Joined:
    Apr 20, 2018
    Messages:
    361
    Likes Received:
    166
    Ooooo! Yes, please! One of the biggest things (or very possibly the biggest) that I miss about Mach 3 is the Joypad plugin, that allows for scaled-rate jogging with the analog sticks (as well as mapping just about any other feature to the buttons)

    That's something I'd be very happy to see (personally I'd like separate X & Y rates, too, but I imagine those of us with asymmetrical X/Y are probably in the minority). It was one of the very early items on my wishlist, that eventually got lost under the weight of the other things on my wishlist.

    I noticed it kept changing on me, but it seemed to be happening more frequently than I tend to restart. I haven't had a chance (or the motivation) yet to pay attention to the circumstances, though. Once I was almost certain it happened after (or at least in the temporal vicinity of) a probe routine, but couldn't reproduce it.


    -Bats
    (what's the line? "if wishes were horses, bats would have better luck at the races?")
     
  30. SeanD

    SeanD Well-Known
    Builder

    Joined:
    Mar 23, 2019
    Messages:
    207
    Likes Received:
    65
    I tried selling my mate on hooking up the wireless PC game controller, but we already set him up with a number pad for AU$30 instead do he didn’t want it :)
     

    Attached Files:

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice