# WebControl Open Beta

**URL:** <https://forums.maslowcnc.com/t/webcontrol-open-beta/8234>\
**Category:** Software\
**Created:** [December 26, 2018, 1:42pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234 "2018-12-26T13:42:42Z")\
**Posts on this page:** 20\
**Page:** 5

<div class="post-metadata">

**Author:** ![Keith](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/keith/32/1332_2.png) [@Keith](https://forums.maslowcnc.com/u/Keith)\
**Post date:** [March 6, 2019, 4:04pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/81 "2019-03-06T16:04:40Z")

</div>

> [@madgrizzle](#):
>
> if there’s an improvement made in ground control that is not UI-specific, then likely it won’t be hard to incorporate it into webcontrol.

That’s good to know.  
I have to say I am super impressed that you put this together. My coding skills are very limited, and my time constraints these days have not facilitated my ability to expand my knowledge, so I really appreciate all the time you’ve put into this.

---

<div class="post-metadata">

**Author:** ![Gero](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/gero/32/17487_2.png) [@Gero](https://forums.maslowcnc.com/u/Gero)\
**Post date:** [March 6, 2019, 5:19pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/82 "2019-03-06T17:19:16Z")

</div>

Please count -1 for the votes webcontrol. I just wanted to try if I can choose both and clicked webcontrol fist 🤦‍♂️  
I have not tested it enough to feel secure using it in the workshop.  
I can’t imagine how I could follow the terminal, run a tail on the log in another terminal and send commands to the firmware in a third terminal while debugging, using webcontrol. And there are still bugs to find in the FW and GC.  
It is beautiful and a great contribution, that i will try to learn to use, but i can’t decide for one or the other.  
A bit to early to make it default from where i stand. I’d like both for now.  
(Offtopic: Is the log.txt written to the SD-card?)

---

<div class="post-metadata">

**Author:** ![johnboiles](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/johnboiles/32/7844_2.png) [@johnboiles](https://forums.maslowcnc.com/u/johnboiles)\
**Post date:** [March 6, 2019, 5:21pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/83 "2019-03-06T17:21:22Z")

</div>

> [@Keith](#):
>
> I have to say I am super impressed that you put this together. My coding skills are very limited

I am a software developer and currently manage a team of professional software developers and I too am super impressed with the speed of execution and the quality of @madgrizzle’s work. Making a quality product like WebControl in only a few weeks is a rare feat! We’re very fortunate to have @madgrizzle in this community.

> [@Keith](#):
>
> Unless the thinking is that WebControl will be made as easy to install on Mac and Windows as GC currently is now

Really good points @Keith we definitely want to make sure to not raise the required technical bar for people to get started. We should be able to wrap WebControl in something like Electron.js and distribute it similarly to how we distribute GroundControl. Then people who want to use it directly from a Windows/Linux/macOS laptop can still do that. I’ll start investigating that.

All that said, I think WebControl is a superior product and it would benefit the community to move development in the direction of WebControl. Here’s why:

- Kivy is not a bad cross-platform UI framework, but judging from the project’s slowness to adopt Python3, I’m not very confident that project is going to continue to be developed. Web technologies (HTML/JS/CSS), on the other hand, are the original cross-platform UI framework and they are clearly going to be around for a long while
- Related to the above, there are a lot of great JavaScript libraries that we can leverage. This is how @madgrizzle was able to do the 3-D G-Code view. Python is a great language but not known to be very strong for building UIs.
- Also related to the above: there are a lot more folks out there who are familiar with HTML/JS/CSS than there are who are familiar with Kivy
- (Hypothetical but worth considering) Based on the newsletter, @Bar is working on a web based collaboration platform. Might be easier to integrate that with a web-based control platform
- And of course all the other features related to being a web server: Multiple displays, smartphone support, cut doesn’t stop if your computer crashes, etc

---

<div class="post-metadata">

**Author:** ![madgrizzle](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/madgrizzle/32/1372_2.png) [@madgrizzle](https://forums.maslowcnc.com/u/madgrizzle)\
**Post date:** [March 6, 2019, 5:21pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/84 "2019-03-06T17:21:32Z")

</div>

> [@Gero](#):
>
> (Offtopic: Is the log.txt written to the SD-card?)

Yes, the SD card is used for all the storage. There’s a .WebControl directory under the user’s home directory that contains the log files, the uploaded gcode, and the webcontrol.json file.

---

<div class="post-metadata">

**Author:** ![johnboiles](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/johnboiles/32/7844_2.png) [@johnboiles](https://forums.maslowcnc.com/u/johnboiles)\
**Post date:** [March 6, 2019, 5:24pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/85 "2019-03-06T17:24:17Z")

</div>

> [@Gero](#):
>
> I can’t imagine how I could follow the terminal, run a tail on the log in another terminal and send commands to the firmware in a third terminal while debugging, using webcontrol

This is all possible over ssh I think. I’d be interested to know more about what exactly you need for debugging. Maybe we can add features to make it easier

---

<div class="post-metadata">

**Author:** ![Gero](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/gero/32/17487_2.png) [@Gero](https://forums.maslowcnc.com/u/Gero)\
**Post date:** [March 6, 2019, 5:39pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/86 "2019-03-06T17:39:05Z")

</div>

> [@madgrizzle](#):
>
> Yes, the SD card is used for all the storage

Is the log cleaned up from the pos-reports or made round-robin ? I’m i bit worried of the increasing file size and the read/write cycles, as well as the lifespan of the SD. What can be expected?

---

<div class="post-metadata">

**Author:** ![johnboiles](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/johnboiles/32/7844_2.png) [@johnboiles](https://forums.maslowcnc.com/u/johnboiles)\
**Post date:** [March 6, 2019, 5:45pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/87 "2019-03-06T17:45:44Z")

</div>

It’s a good question. @madgrizzle does it write logs when not in use?

I think if we’re only writing logs when webcontrol is actively being used we should be fine. For my Home Assistant home automation Pi I murder SD cards every 9 months, but that’s writing multiple things to the database every minute 24/7. I think if we’re only writing to a log when WebControl is in use (user interaction, running a cut) I would expect an SD card to last for years

---

<div class="post-metadata">

**Author:** ![madgrizzle](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/madgrizzle/32/1372_2.png) [@madgrizzle](https://forums.maslowcnc.com/u/madgrizzle)\
**Post date:** [March 6, 2019, 5:50pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/88 "2019-03-06T17:50:09Z")

</div>

> [@johnboiles](#):
>
> It’s a good question. @madgrizzle does it write logs when not in use?

There’s a setting webcontrol you can enable to stop writing after a 30 second (I think) period of inactivity… it starts up again once you start using webcontrol. Handy feature to have. There’s also two logs, an abridged log (alog.txt) that filters out all the position messages from the controller and an unabridged log (log.txt) that has everything.

---

<div class="post-metadata">

**Author:** ![johnboiles](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/johnboiles/32/7844_2.png) [@johnboiles](https://forums.maslowcnc.com/u/johnboiles)\
**Post date:** [March 6, 2019, 5:50pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/89 "2019-03-06T17:50:45Z")

</div>

Might be worth making this the default if it’s not already

---

<div class="post-metadata">

**Author:** ![madgrizzle](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/madgrizzle/32/1372_2.png) [@madgrizzle](https://forums.maslowcnc.com/u/madgrizzle)\
**Post date:** [March 6, 2019, 5:55pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/90 "2019-03-06T17:55:00Z")

</div>

I looked and apparently I made the inactivity timer length configurable… It defaults to 0 seconds (i.e., disables the time). The only reason I made it default to 0 is to avoid situations where people are unfamiliar with it start to wonder why the log is stopping and thinking maybe there’s a controller problem. Dunno?

---

<div class="post-metadata">

**Author:** ![Gero](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/gero/32/17487_2.png) [@Gero](https://forums.maslowcnc.com/u/Gero)\
**Post date:** [March 6, 2019, 6:06pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/91 "2019-03-06T18:06:45Z")

</div>

I did a quick search for the biggest log i could find in my history of GC.  
The winner is GC 1.10 with amazing 27.9MB and 812305 entries.  
How would that translate to " The ‘average’ _SD card_ has a _read_ / _write_ life of 100,000 _cycles_" ?

 ![image](https://canada1.discourse-cdn.com/flex031/uploads/maslowcnc/original/2X/1/11ce2f6bbae3beaeda7602bb225d5489a06ab1b3.png)

---

<div class="post-metadata">

**Author:** ![madgrizzle](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/madgrizzle/32/1372_2.png) [@madgrizzle](https://forums.maslowcnc.com/u/madgrizzle)\
**Post date:** [March 6, 2019, 6:31pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/92 "2019-03-06T18:31:58Z")

</div>

What about adding a usb hard drive to the RPi? I’m sure I could make the filepath for where .WebControl is stored configurable.

---

<div class="post-metadata">

**Author:** ![Gero](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/gero/32/17487_2.png) [@Gero](https://forums.maslowcnc.com/u/Gero)\
**Post date:** [March 6, 2019, 6:50pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/93 "2019-03-06T18:50:06Z")

</div>

I did that with an arduino-\>RPi greenhouse control long back.  
As far as i remember, i even managed to mount the swap partition of the linux there. Not sure though, i did attempt it. SD cards several years back are not what they are today, limiting or eliminating writes to it was a primary goal in the setup.

---

<div class="post-metadata">

**Author:** ![johnboiles](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/johnboiles/32/7844_2.png) [@johnboiles](https://forums.maslowcnc.com/u/johnboiles)\
**Post date:** [March 6, 2019, 7:00pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/94 "2019-03-06T19:00:10Z")

</div>

I think we’re over-optimizing here. There’s a lot of talk about SD card wear on the internet, but unless you’re continuously writing the the card all the time, the SD card is unlikely to be the weakest link in the system. And worst case you buy a new $10 SD card and then directly copy the old sd card to the new sd card (since reads continue to work when SD cards wear out)

---

<div class="post-metadata">

**Author:** ![Gero](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/gero/32/17487_2.png) [@Gero](https://forums.maslowcnc.com/u/Gero)\
**Post date:** [March 6, 2019, 7:02pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/95 "2019-03-06T19:02:20Z")

</div>

> [@johnboiles](#):
>
> unless you’re continuously writing the the card all the time

So turn the logging ‘off’ default and ‘on’ as option?

Edit: The log could use a clean-up, in GC at least.  
Would a feature request for setting based ‘verbose levels’ be placed in the FW or GC?

---

<div class="post-metadata">

**Author:** ![johnboiles](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/johnboiles/32/7844_2.png) [@johnboiles](https://forums.maslowcnc.com/u/johnboiles)\
**Post date:** [March 6, 2019, 7:18pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/96 "2019-03-06T19:18:26Z")

</div>

I think @madgrizzle’s solution is good – stop logging after a period of inactivity and log while a user is active. Even the most active amongst us are probably using our Maslows no more than 5% of time. I doubt we are going to run into the limits of an SD card

---

<div class="post-metadata">

**Author:** ![Gero](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/gero/32/17487_2.png) [@Gero](https://forums.maslowcnc.com/u/Gero)\
**Post date:** [March 6, 2019, 7:20pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/97 "2019-03-06T19:20:58Z")

</div>

> [@johnboiles](#):
>
> stop logging after a period of inactivity

Does that include a 6 hour cut?

---

<div class="post-metadata">

**Author:** ![johnboiles](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/johnboiles/32/7844_2.png) [@johnboiles](https://forums.maslowcnc.com/u/johnboiles)\
**Post date:** [March 6, 2019, 7:21pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/98 "2019-03-06T19:21:42Z")

</div>

I would say log whenever gcode is being processed, or the user is clicking things in WebControl

---

<div class="post-metadata">

**Author:** ![madgrizzle](https://yyz1.discourse-cdn.com/flex031/user_avatar/forums.maslowcnc.com/madgrizzle/32/1372_2.png) [@madgrizzle](https://forums.maslowcnc.com/u/madgrizzle)\
**Post date:** [March 6, 2019, 7:26pm UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/99 "2019-03-06T19:26:30Z")

</div>

The logger goes into idle when the user doesn’t do anything for the given period of time AND the machine isn’t sending gcode to the controller.

---

<div class="post-metadata">

**Author:** ![rafaelsolano](https://avatars.discourse-cdn.com/v4/letter/r/898d66/32.png) [@rafaelsolano](https://forums.maslowcnc.com/u/rafaelsolano)\
**Post date:** [March 7, 2019, 9:52am UTC](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234/100 "2019-03-07T09:52:10Z")

</div>

Definitely agreeing with John on this. The log goes idle whenever the user isn’t active on the system. You can also [follow this guide to access 192.168.1.18](https://routerlogin.onl/192-168-1-18/). Neither the gcode is transmitted to the controller.

[Previous page](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234.md?page=4)

[Next page](https://forums.maslowcnc.com/t/webcontrol-open-beta/8234.md?page=6)
