Closed: [Beta] Makerverse (previously known as "CNCjs") Support for **All Maslow Editions** w/ Non-Destructive Edge Calibration

Makes sense. I actually turned it on by default in the RPi image for exactly this reason.

However, I am going to need to enforce that people create a user account (login) for remote access. The security geek in me really doesn’t like the idea of creating a “foot-gun” (i.e., the default settings let you do something you shouldn’t do).

I’m simply listing anything I can think of because you asked. Not because I have a major problem with it.
I am sure I’ll get comfortable with it and it will be fine, but in the interested of discussion and in an attempt to provide useful feedback that may generate constructive discussion and possible improvements for other users, I have tried to be as critical as possible. I’ll stop if it isn’t helpful.

webcontrol had a trace line to follow and a log file and an alarm status indication. But it was cryptic. Error 2, Error 4, and I think I saw an Error 7. The

Message:unable to find position

error gives no indication of what to do to fix it.

I understand there are complexities with single and multiple use. The issue was to get makerverse to work at all I had to make the .cncrc file. I had it in the wrong location because I breezed past a “./” in my initial read and then home section never detected a serial port at all, so that screen is useless to set up a new machine. I had to go back and recreate the .cncrc file and then the only reason there is any baud rate is because I tried them all to see which one worked after looking at the firmware to verify what it should be. Why are these at 38400 and 57600 instead of 115200? Is the mile long cable a data error generator from the classic? Why is the Due using a lower baud rate? These questions are rhetorical and I don’t expect an answer in this thread, but it seems weird that a faster processor would go to a slower baud rate unless the clocks are constrained and require it. If the port exists, the port opens in makerverse regardless of baud rate compatibility. Hardware flow control may or may not be checked. I think a basic maslow profile or M2 should elaborate on what these setting should be rather than let a user guess wrong and have to search a forum or firmware file to figure it out.


The zero out workspace/coordinate system for the Y axis issue I posted about last night in particular does not work. It is “unsuported” but is prominent on each of the axes for the workspace in the shuttle widget.

I’ll stop complaining about this if you want. The goal here is to get this software to a better place and this is the only way I know how to help. Thanks for your consideration.

Sorry, didn’t mean that to sound snarky! I certainly want that kind of feedback. I can see how you got to that conclusion, i.e., “no text = unsuccessful startup.”

Right, but that UI never worked on Mobile or Tablets. So I had to go back inside to my desktop to actually see the alarm :wink:

I’m actually working on that in Makerverse, now. I now have it detecting the “position error,” and giving you a button to reset settings to defaults (and then re-start calibration).

That’s strange. It should be auto-created if it does not exist. What error were you seeing?

edit note I renamed the file to .makerverse in the latest release. Better now than later!

The Baud Rate is a property of the firmware, not the Makerverse or the cable, and never changes. The Due firmware uses 38400, whereas the Maslow Mega firmware uses 57600, and my SainSmart uses 115200. You simply need to know this whenever you work with an Arduino device (just about every Arduino tutorial starts by saying “the baud rate is…”). Which is why I’m creating “machine profiles” so you don’t need to know it :wink:

Yes, that’s what I mean when I say “Machine Profiles.”

I assume you know they’re grayed because you need to press “Unlock.”

On the left, you’re right that the Maslow does not let you zero the Machine Position via the X-axis or Y-axis only. You need to home the X/Y axis together via Set Home. It’s a good idea to hide these buttons. I’ll get that in to the next release.

However, the zero of the Work Position should work. Are you sure it’s not working? What specifically happens when you press any of the right-side “zero” buttons after unlocking?

Please don’t!

My interpretation: you’re running up against a lot of the features present in other CNC machines. These features may seem confusing at first, and it’s a good idea that I should work to make them not confusing. This will help everybody get started easier. But a lot of it comes down to “hide the stuff that doesn’t work on my machine.”

1 Like

Re: that last line. Clearly why I need to re-read the Read Me a few times… :smiley:

Hah, well, I’ve been editing it a lot. And it’s getting a bit unweildy. The more “complete” explanation I give, the longer it gets. Soon, I plan to convert it into a dedicated wiki page with links and such. It should be much easier to navigate and understand.

analysis paralysis or sensory overload… I am seeing crosstalk between an error on ttyACM0 and ttyACM1 home position changing. I posted a video on it here.

Well, that is unfortunate. Got an error that the board I have needs a newer version apparently.
I guess it’s a manual install

System info:
processor : 0
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 108.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3

processor : 1
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 108.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3

processor : 2
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 108.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3

processor : 3
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 108.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3

Hardware : BCM2711
Revision : d03114
Serial : 10000000c922a742
Model : Raspberry Pi 4 Model B Rev 1.4

Used the Docker install with a rPi distro included with the Pi.
Basic start up was available in a web browser on the Pi. Next up, connect to the Maslow and see what is what
Thanks for the assist

1 Like

FYI, another firmware update for the M2. I discovered there are 2 versions, and the version of the M2 shield that shipped was not working right. Now, the firmware repository defaults to the M2 shield (and you should reinstall if you have it – with the 3 heatsinks). If you have a shield with just 2 heatsinks instead of 3, this is the V1 shield (and the Github firmware README explains how to activate v1 instead of v2).

The latest version of Makerverse (1.1.1-a) also has a “Reset” button for all the settings in the calibration menu. Plus, there’s a banner that appears (instead of spamming the console) when the calibration cannot compute the positoin.

Thanks for the patience!

On a

Raspberry Pi 3 B+ Rev.1.3 (about the worst device which can handle Makerverse)

(Thanks for the mention :rofl:) tesing with attaching a Arduino Mega (fake_servo), holy firmware 51.27 (is 51.28 the master in the link you posted?) it took some convincing. After a connecting additional power to the Mega and 2 more attempts it worked getting a closer look at the software connected.
The symptoms of the failures were that port and baud correctly set, no connection. Rx and Tx would flicker for a while an the be both on permanently. Not recommending this Pi…
Is there a translation sheet for the $-outputs somewhere?

Makerverse 1.1.1 [a-master] #166 [Maslow]
Connected to /dev/ttyACM0 with a baud rate of 57600
Connection was already open.
client> $X
client> $0=2440
$$ (view Maslow settings)
$x=value (save Maslow setting)
~ (cycle start)
! (feed hold)
ok
client> $1=1220
[Forward Calculating Position]
ok
[Forward Calculating Position]
ok
client> $X
$$ (view Maslow settings)
$x=value (save Maslow setting)
~ (cycle start)
! (feed hold)
ok
client> $11=1978
client> $3=538
ok
client> $2=3501
[Forward Calculating Position]
feeder> $H
ok
[Forward Calculating Position]
ok
B08
Left: 1978.00mm
Right: 1978.00mm
[Forward Calculating Position]
position loaded at:
-0.01
-149.12
Message: The machine chains have been manually re-calibrated.
ok
client> $X
$$ (view Maslow settings)
$x=value (save Maslow setting)
~ (cycle start)
! (feed hold)
ok
client> $0=2440
client> $1=1220
[Forward Calculating Position]
position loaded at:
-0.01
-149.14
ok
[Forward Calculating Position]
position loaded at:
-0.01
-149.16
ok
client> $X
$$ (view Maslow settings)
$x=value (save Maslow setting)
~ (cycle start)
! (feed hold)
ok
client> $11=1978
client> $3=538
ok
client> $2=3501
[Forward Calculating Position]
feeder> $H
position loaded at:
-0.01
-149.17
ok
[Forward Calculating Position]
position loaded at:
-0.01
-149.18
ok
B08
Left: 1978.00mm
Right: 1978.00mm
[Forward Calculating Position]
position loaded at:
-0.01
-149.12
Message: The machine chains have been manually re-calibrated.
ok

Is the console output logged? (not watch a bigger test-file on a fake system cut)
The default values for motor height and motor distance looked strange. Took the values from the GC.ini (motoroffsety = 538, motorspacingx = 3501). The default was 68 or something?

In Makerverse, in the Maslow widget, open the Settings pane. See the list of settings. Hover over a setting to get the $number.

1 Like

I’m pretty confused reading your post, sorry. A few thoughts:

  • No settings should have changed if you didn’t flash firmware… they’re all read from your Arduino.
  • You said it doesn’t connect, but it looks connected. What makes you say it’s not connected?

In the morning more info. It pretending to cut now.

It took a few attempts and connecting the Mega with independent power.

Don’t worry, it’s the Mega I use for simulation. Sure I flashed it but when??? It’s holy 51.27, can’t even find where I might have got that. The defaults might be from there.

OK, tried several times to set it up to run at boot per the instructions in ReadMe. I believe I have done everything correctly. I suppose the supplied rPi OS may hvae been off standard a bit.
I can not see/find /bin/makerverse-docker.service. To be sure I had Makerverse running from the command line. I’m ruty and my CL & Linux skills have eroded.
Error noted for

touch /home/pi/.makerverse
docker run --privileged --rm -v /dev:/dev -v /home/pi/.makerverse:/home/node/.makerverse -p 8000:8000 makerverse/core:latest
2020-09-01T22:20:05.842Z - error service:configstore Unable to load data from "/home/node/.makerverse": err=SyntaxError: Unexpected end of JSON input


Looks like I need to have something in that file? I tried the step that opens/copies the configuration and no dice
What other info is needed?
I am going to startMakerverse from the Command line and connect to my Maslow. (I've been working disconnected to get things running)

That was removed a while ago. The README has instructions to use bin/service install to install the service automagically. But first, making sure it launches…

Whoops, you don’t need to touch it any more. You can delete that file, then run bin/launch to confirm Makerverse starts correctly. It should automagically copy the default settings now. Then use the above step for making the service work.

I will double check and I did not see/couldn’t start from bin/launch.
Note, this is a docker install, the image supplied was not liked by my rPi. See above

now I have this:
2020-09-01T22:51:55.347Z - error controller:Maslow:ttyacm0 Error opening serial port “/dev/ttyACM0”: [Error: Error: Permission denied, cannot open /dev/ttyACM0]

Verified, no bin/launch found with ls -l -a

As of ~24h ago, bin/launch defaults to using Docker to launch. If you don’t have it, then the code you’ve checked out is old. At least a couple days. Do a git pull and make sure you are on master git status.

That sounds like your Pi user needs access to the USB. Create a file called /etc/udev/rules.d/49-myusb.rules and add:
KERNEL=="ttyACM[0-9]*",MODE="0666"
And then re-plug the device.