LinuxCNC will not start

1,895 views
Skip to first unread message

Ian Lee, Sr.

unread,
Sep 26, 2014, 1:47:58 AM9/26/14
to machi...@googlegroups.com
I've installed MachineKit on a BBB plus BeBoPr++ to control a Mini Kossel delta 3D printer via the package installer. When I start LinuxCNC it shows the profiles to pick from. I picked the one from

ARM -> BeagleBone -> BeBoPr++ -> Pololu -> lineardelta

I told it to make a copy and then it starts up LinuxCNC. I see the splash screen then nothing else. The linuxcnc.log file contains the below repeated four times.

ep 26 02:25:10 beaglebone msgd:0: startup pid=28168 flavor=posix rtlevel=1 usrlevel=1 halsize=512000 shm=Posix gcc=4.6.3 version=git not installed at configure time
Sep 26 02:25:10 beaglebone msgd:0: ▒~V~R~XMQ=4.0.4 czmq=2.2.0 protobuf=2.4.1
Sep 26 02:25:10 beaglebone msgd:0: configured: Sep 21 2014 05:43:06 sha=git not installed or executable
Sep 26 02:25:10 beaglebone msgd:0: built: Sep 21 2014 05:46:32 sha=git not installed or executable
Sep 26 02:25:10 beaglebone msgd:0: publishing ZMQ/protobuf log messages at ipc:///tmp/0.log.a42c8c6b-4025-4f83-ba28-dad21114744a
Sep 26 02:26:38 beaglebone msgd:0: msgd:0: Terminated - shutting down
Sep 26 02:26:38 beaglebone msgd:0: normal shutdown - global segment detached
Sep 26 02:32:37 beaglebone msgd:0: startup pid=1450 flavor=posix rtlevel=1 usrlevel=1 halsize=512000 shm=Posix gcc=4.6.3 version=git not installed at configure time

This seems to indicate that git isn't installed but I know that's not the case. I'm a beginner with Linux & LinuxCNC. Hopefully, this is an obvious problem for someone that knows the OS better.

Thanks!

Ian

FYI, I originally posted on the LinuxCNC forum but maybe this is a MachineKit configuration problem.
http://www.linuxcnc.org/index.php/english/forum/beaglebone/28405-linuxcnc-will-not-start#51587

Charles Steinkuehler

unread,
Sep 26, 2014, 7:48:03 AM9/26/14
to Ian Lee, Sr., machi...@googlegroups.com
On 9/26/2014 12:47 AM, Ian Lee, Sr. wrote:
> I've installed MachineKit on a BBB plus BeBoPr++ to control a Mini Kossel
> delta 3D printer via the package installer. When I start LinuxCNC it shows
> the profiles to pick from. I picked the one from
>
> ARM -> BeagleBone -> BeBoPr++ -> Pololu -> lineardelta
>
> I told it to make a copy and then it starts up LinuxCNC. I see the splash
> screen then nothing else. The linuxcnc.log file contains the below repeated
> four times.
>
> ep 26 02:25:10 beaglebone msgd:0: startup pid=28168 flavor=posix rtlevel=1
> usrlevel=1 halsize=512000 shm=Posix gcc=4.6.3 version=git not installed at
> configure time

This looks like you're not running a Xenomai kernel. Did you install
the machinekit-xenomai package and kernel?

What output do you get from the following two commands:

uname -a

dpkg -l '*machinekit*'

--
Charles Steinkuehler
cha...@steinkuehler.net

signature.asc

Ian Lee, Sr.

unread,
Sep 26, 2014, 8:57:19 AM9/26/14
to machi...@googlegroups.com, i...@houseoflees.net
I think so.  I followed all the directions here:

machinekit@beaglebone:~$ dpkg -l '*machinekit*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                      Version           Architecture      Description
+++-=========================-=================-=================-========================================================
ii  machinekit                0.1.597-1da.bbot. armhf             PC based motion controller for real-time Linux
un  machinekit-doc            <none>                              (no description available)
un  machinekit-doc-en         <none>                              (no description available)
un  machinekit-rt-threads     <none>                              (no description available)
ii  machinekit-xenomai        0.1.597-1da.bbot. armhf             PC based motion controller for real-time Linux
machinekit@beaglebone:~$

Charles Steinkuehler

unread,
Sep 26, 2014, 9:23:50 AM9/26/14
to Ian Lee, Sr., machi...@googlegroups.com
You've got the machinekit-xenomai package installed, but your log showed
you trying to run the posix version (which won't work on the 'Bone to
drive hardware with the PRU). What kernel are you running (the "uname
-a" command)?

I think you need to install the xenomai kernel package and reboot.

Run "apt-cache search linux-image" to see a list of available kernel
packages.
>> cha...@steinkuehler.net <javascript:>
>>
>>
>


--
Charles Steinkuehler
cha...@steinkuehler.net

signature.asc

Ian Lee, Sr.

unread,
Sep 27, 2014, 2:42:34 AM9/27/14
to machi...@googlegroups.com, i...@houseoflees.net
The results are below.  Unfortunately, I don't really know what the results are supposed to look like but I do see xenomai listed a few times.  So, hopefully, there's not too much wrong.  I appreciate your patience in helping me figure this all out.

machinekit@beaglebone:~$ uname -a
Linux beaglebone 3.8.13-bone64 #1 SMP Thu Aug 21 21:24:58 UTC 2014 armv7l GNU/Linux

machinekit@beaglebone:~$ apt-cache search linux-image
alsa-base - ALSA driver configuration files
linux-headers-3.2.0-4-mx5 - Header files for Linux 3.2.0-4-mx5
linux-headers-3.2.0-4-omap - Header files for Linux 3.2.0-4-omap
linux-headers-3.2.0-4-vexpress - Header files for Linux 3.2.0-4-vexpress
linux-image-3.2.0-4-mx5 - Linux 3.2 for Freescale i.MX51/53
linux-image-3.2.0-4-omap - Linux 3.2 for TI OMAP3+
linux-image-3.2.0-4-vexpress - Linux 3.2 for ARM Ltd. Versatile Express
linux-image-2.6-mx5 - Linux for Freescale MXC/iMX-based (dummy package)
linux-image-2.6-omap - Linux for TI OMAP3+ (dummy package)
linux-image-mx5 - Linux for Freescale i.MX51 (meta-package)
linux-image-omap - Linux for TI OMAP3+ (meta-package)
linux-image-vexpress - Linux for ARM Ltd. Versatile Express (meta-package)
linux-image-3.13.11-bone12 - Linux kernel, version 3.13.11-bone12
linux-image-3.14.17-bone7 - Linux kernel, version 3.14.17-bone7
linux-image-3.14.17-bone8 - Linux kernel, version 3.14.17-bone8
linux-image-3.14.17-ti-r16 - Linux kernel, version 3.14.17-ti-r16
linux-image-3.14.17-ti-r17 - Linux kernel, version 3.14.17-ti-r17
linux-image-3.14.17-ti-r18 - Linux kernel, version 3.14.17-ti-r18
linux-image-3.14.17-ti-r19 - Linux kernel, version 3.14.17-ti-r19
linux-image-3.14.18-ti-r20 - Linux kernel, version 3.14.18-ti-r20
linux-image-3.14.19-ti-r21 - Linux kernel, version 3.14.19-ti-r21
linux-image-3.14.19-ti-r22 - Linux kernel, version 3.14.19-ti-r22
linux-image-3.14.19-ti-r23 - Linux kernel, version 3.14.19-ti-r23
linux-image-3.14.19-ti-r24 - Linux kernel, version 3.14.19-ti-r24
linux-image-3.14.19-ti-r25 - Linux kernel, version 3.14.19-ti-r25
linux-image-3.14.19-ti-r26 - Linux kernel, version 3.14.19-ti-r26
linux-image-3.15.10-bone6 - Linux kernel, version 3.15.10-bone6
linux-image-3.15.10-bone7 - Linux kernel, version 3.15.10-bone7
linux-image-3.15.10-bone8 - Linux kernel, version 3.15.10-bone8
linux-image-3.15.3-armv7-lpae-x5 - Linux kernel, version 3.15.3-armv7-lpae-x5
linux-image-3.15.3-armv7-x4 - Linux kernel, version 3.15.3-armv7-x4
linux-image-3.15.4-armv7-lpae-x5 - Linux kernel, version 3.15.4-armv7-lpae-x5
linux-image-3.15.4-armv7-x4 - Linux kernel, version 3.15.4-armv7-x4
linux-image-3.15.4-bone4 - Linux kernel, version 3.15.4-bone4
linux-image-3.15.5-armv7-lpae-x5 - Linux kernel, version 3.15.5-armv7-lpae-x5
linux-image-3.15.5-armv7-x4 - Linux kernel, version 3.15.5-armv7-x4
linux-image-3.15.5-armv7-x5 - Linux kernel, version 3.15.5-armv7-x5
linux-image-3.15.5-bone4 - Linux kernel, version 3.15.5-bone4
linux-image-3.15.5-bone5 - Linux kernel, version 3.15.5-bone5
linux-image-3.15.6-armv7-lpae-x5 - Linux kernel, version 3.15.6-armv7-lpae-x5
linux-image-3.15.6-armv7-x5 - Linux kernel, version 3.15.6-armv7-x5
linux-image-3.15.6-bone5 - Linux kernel, version 3.15.6-bone5
linux-image-3.15.7-armv7-lpae-x5 - Linux kernel, version 3.15.7-armv7-lpae-x5
linux-image-3.15.7-armv7-x5 - Linux kernel, version 3.15.7-armv7-x5
linux-image-3.15.7-bone5 - Linux kernel, version 3.15.7-bone5
linux-image-3.15.8-armv7-lpae-x5 - Linux kernel, version 3.15.8-armv7-lpae-x5
linux-image-3.15.8-armv7-x5 - Linux kernel, version 3.15.8-armv7-x5
linux-image-3.15.8-bone5 - Linux kernel, version 3.15.8-bone5
linux-image-3.15.8-bone6 - Linux kernel, version 3.15.8-bone6
linux-image-3.15.9-bone6 - Linux kernel, version 3.15.9-bone6
linux-image-3.16.0-armv7-lpae-x2 - Linux kernel, version 3.16.0-armv7-lpae-x2
linux-image-3.16.0-armv7-x2 - Linux kernel, version 3.16.0-armv7-x2
linux-image-3.16.0-armv7-x3 - Linux kernel, version 3.16.0-armv7-x3
linux-image-3.16.0-armv7-x4 - Linux kernel, version 3.16.0-armv7-x4
linux-image-3.16.0-bone2 - Linux kernel, version 3.16.0-bone2
linux-image-3.16.1-armv7-lpae-x2 - Linux kernel, version 3.16.1-armv7-lpae-x2
linux-image-3.16.1-armv7-x4 - Linux kernel, version 3.16.1-armv7-x4
linux-image-3.16.1-bone3 - Linux kernel, version 3.16.1-bone3
linux-image-3.16.1-bone4 - Linux kernel, version 3.16.1-bone4
linux-image-3.16.2-armv7-lpae-x2 - Linux kernel, version 3.16.2-armv7-lpae-x2
linux-image-3.16.2-armv7-x4 - Linux kernel, version 3.16.2-armv7-x4
linux-image-3.16.2-bone5 - Linux kernel, version 3.16.2-bone5
linux-image-3.16.3-armv7-lpae-x2 - Linux kernel, version 3.16.3-armv7-lpae-x2
linux-image-3.16.3-armv7-x4 - Linux kernel, version 3.16.3-armv7-x4
linux-image-3.16.3-bone6 - Linux kernel, version 3.16.3-bone6
linux-image-3.17.0-rc1-armv7-lpae-x0 - Linux kernel, version 3.17.0-rc1-armv7-lpae-x0
linux-image-3.17.0-rc1-armv7-x0 - Linux kernel, version 3.17.0-rc1-armv7-x0
linux-image-3.17.0-rc1-bone0 - Linux kernel, version 3.17.0-rc1-bone0
linux-image-3.17.0-rc2-armv7-lpae-x0 - Linux kernel, version 3.17.0-rc2-armv7-lpae-x0
linux-image-3.17.0-rc2-armv7-x1 - Linux kernel, version 3.17.0-rc2-armv7-x1
linux-image-3.17.0-rc2-bone1 - Linux kernel, version 3.17.0-rc2-bone1
linux-image-3.17.0-rc3-armv7-lpae-x0 - Linux kernel, version 3.17.0-rc3-armv7-lpae-x0
linux-image-3.17.0-rc3-armv7-x1 - Linux kernel, version 3.17.0-rc3-armv7-x1
linux-image-3.17.0-rc3-bone2 - Linux kernel, version 3.17.0-rc3-bone2
linux-image-3.17.0-rc4-armv7-lpae-x0 - Linux kernel, version 3.17.0-rc4-armv7-lpae-x0
linux-image-3.17.0-rc4-armv7-x1 - Linux kernel, version 3.17.0-rc4-armv7-x1
linux-image-3.17.0-rc4-bone2 - Linux kernel, version 3.17.0-rc4-bone2
linux-image-3.17.0-rc5-armv7-lpae-x0 - Linux kernel, version 3.17.0-rc5-armv7-lpae-x0
linux-image-3.17.0-rc5-armv7-x1 - Linux kernel, version 3.17.0-rc5-armv7-x1
linux-image-3.17.0-rc5-bone3 - Linux kernel, version 3.17.0-rc5-bone3
linux-image-3.17.0-rc6-armv7-lpae-x0 - Linux kernel, version 3.17.0-rc6-armv7-lpae-x0
linux-image-3.17.0-rc6-armv7-x2 - Linux kernel, version 3.17.0-rc6-armv7-x2
linux-image-3.17.0-rc6-bone4 - Linux kernel, version 3.17.0-rc6-bone4
linux-image-3.8.13-bone58 - Linux kernel, version 3.8.13-bone58
linux-image-3.8.13-bone59 - Linux kernel, version 3.8.13-bone59
linux-image-3.8.13-bone60 - Linux kernel, version 3.8.13-bone60
linux-image-3.8.13-bone61 - Linux kernel, version 3.8.13-bone61
linux-image-3.8.13-bone62 - Linux kernel, version 3.8.13-bone62
linux-image-3.8.13-bone63 - Linux kernel, version 3.8.13-bone63
linux-image-3.8.13-bone64 - Linux kernel, version 3.8.13-bone64
linux-image-3.8.13-bone65 - Linux kernel, version 3.8.13-bone65
linux-image-3.8.13-bone66 - Linux kernel, version 3.8.13-bone66
linux-image-3.8.13-bone67 - Linux kernel, version 3.8.13-bone67
linux-headers-3.8-1-xenomai.beaglebone-omap - Header files for Linux 3.8-1-xenomai.beaglebone-omap
linux-image-3.8-1-xenomai.beaglebone-omap - Linux 3.8 for TI OMAP3+, Xenomai Beaglebone
linux-image-xenomai.beaglebone-omap - Linux for TI OMAP3+ (meta-package), Xenomai Beaglebone
linux-headers-3.12-0.bpo.1-armmp - Header files for Linux 3.12-0.bpo.1-armmp
linux-headers-3.12-0.bpo.1-armmp-lpae - Header files for Linux 3.12-0.bpo.1-armmp-lpae
linux-headers-3.13-0.bpo.1-armmp - Header files for Linux 3.13-0.bpo.1-armmp
linux-headers-3.13-0.bpo.1-armmp-lpae - Header files for Linux 3.13-0.bpo.1-armmp-lpae
linux-headers-3.14-0.bpo.1-armmp - Header files for Linux 3.14-0.bpo.1-armmp
linux-headers-3.14-0.bpo.1-armmp-lpae - Header files for Linux 3.14-0.bpo.1-armmp-lpae
linux-headers-3.14-0.bpo.2-armmp - Header files for Linux 3.14-0.bpo.2-armmp
linux-headers-3.14-0.bpo.2-armmp-lpae - Header files for Linux 3.14-0.bpo.2-armmp-lpae
linux-image-3.12-0.bpo.1-armmp - Linux 3.12 for ARMv7 multiplatform compatible SoCs
linux-image-3.12-0.bpo.1-armmp-lpae - Linux 3.12 for ARMv7 multiplatform compatible SoCs supporting LPAE
linux-image-3.13-0.bpo.1-armmp - Linux 3.13 for ARMv7 multiplatform compatible SoCs
linux-image-3.13-0.bpo.1-armmp-lpae - Linux 3.13 for ARMv7 multiplatform compatible SoCs supporting LPAE
linux-image-3.14-0.bpo.1-armmp - Linux 3.14 for ARMv7 multiplatform compatible SoCs
linux-image-3.14-0.bpo.1-armmp-lpae - Linux 3.14 for ARMv7 multiplatform compatible SoCs supporting LPAE
linux-image-3.14-0.bpo.2-armmp - Linux 3.14 for ARMv7 multiplatform compatible SoCs
linux-image-3.14-0.bpo.2-armmp-lpae - Linux 3.14 for ARMv7 multiplatform compatible SoCs supporting LPAE
linux-image-armmp - Linux for ARMv7 multiplatform compatible SoCs (meta-package)
linux-image-armmp-lpae - Linux for ARMv7 multiplatform compatible SoCs supporting LPAE (meta-package)
machinekit@beaglebone:~$

Ian Lee, Sr.

unread,
Sep 27, 2014, 3:05:05 AM9/27/14
to machi...@googlegroups.com, i...@houseoflees.net
I've made some progress!  From Michael's post in another thread, I found the following command to install the kernel and MachineKit packages.  This is different from the wiki page I followed and seems to work better.

sudo apt-get install linux-image-xenomai.beaglebone-omap linux-headers-xenomai.beaglebone-omap machinekit-xenomai 

Now my results clearly indicate that I'm using the Xenomai kernel and I get a bit further in LinuxCNC but I still can't quite get Axis up.

machinekit@beaglebone:~$ uname -a
Linux beaglebone 3.8-1-xenomai.beaglebone-omap #1 Debian 3.8.13-9 armv7l GNU/Linux

machinekit@beaglebone:~$ linuxcnc &
[1] 1333
machinekit@beaglebone:~$ LINUXCNC - 2.7.0~pre0
Machine configuration directory is '/home/machinekit/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu'
Machine configuration file is 'lineardelta.ini'
Starting LinuxCNC...
io started
emc/iotask/ioControl.cc 752: can't load tool table.
halcmd loadusr io started
lineardelta.hal:10: execv(../setup.bridge.sh): No such file or directory
lineardelta.hal:10: program '../setup.bridge.sh' failed, returned 1
Shutting down and cleaning up LinuxCNC...
Cleanup done
LinuxCNC terminated with an error.  You can find more information in the log:
    /home/machinekit/linuxcnc_debug.txt
and
    /home/machinekit/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal

Bas de Bruijn

unread,
Sep 27, 2014, 3:51:46 AM9/27/14
to Ian Lee, Sr., machi...@googlegroups.com, i...@houseoflees.net


On 27 sep. 2014, at 09:05, "Ian Lee, Sr." <i...@houseoflees.net> wrote:

I've made some progress!  From Michael's post in another thread, I found the following command to install the kernel and MachineKit packages.  This is different from the wiki page I followed and seems to work better.

sudo apt-get install linux-image-xenomai.beaglebone-omap linux-headers-xenomai.beaglebone-omap machinekit-xenomai 

Now my results clearly indicate that I'm using the Xenomai kernel and I get a bit further in LinuxCNC but I still can't quite get Axis up.

machinekit@beaglebone:~$ uname -a
Linux beaglebone 3.8-1-xenomai.beaglebone-omap #1 Debian 3.8.13-9 armv7l GNU/Linux

machinekit@beaglebone:~$ linuxcnc &
[1] 1333
machinekit@beaglebone:~$ LINUXCNC - 2.7.0~pre0
Machine configuration directory is '/home/machinekit/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu'
Machine configuration file is 'lineardelta.ini'
Starting LinuxCNC...
io started
emc/iotask/ioControl.cc 752: can't load tool table.
halcmd loadusr io started
lineardelta.hal:10: execv(../setup.bridge.sh): No such file or directory
lineardelta.hal:10: program '../setup.bridge.sh' failed, returned 1

setup.bridge.sh is normally (when compiled from source) one directory above the config directory you've chosen. Can you check the file is actually in '/home/machinekit/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu'?

If so, open the lineardelta.hal and change '../setup.bridge.sh' in './setup.bridge.sh' (without apostrophes) so it finds the file in the config directory.

If it's not there you'll probably have to manually pick the file form the github source.

Shutting down and cleaning up LinuxCNC...
Cleanup done
LinuxCNC terminated with an error.  You can find more information in the log:
    /home/machinekit/linuxcnc_debug.txt
and
    /home/machinekit/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
Visit this group at http://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

Viesturs Lācis

unread,
Sep 27, 2014, 4:15:23 AM9/27/14
to machi...@googlegroups.com


On Saturday, September 27, 2014 10:05:05 AM UTC+3, Ian Lee, Sr. wrote:

lineardelta.hal:10: execv(../setup.bridge.sh): No such file or directory

One small, but very useful thing that took me a while to learn: it shows the file and number of line that it is complaining about and also some description of the complaint. 
In this case it does not like 10th line in lineardelta.hal file, because it cannot find a file. Bas already explained what to do with that script, but in future it will be handy, because that is how I debug my files to check, if all the signals are connected properly or all the pins that I have specified actually exist (appropriate module is loaded etc.) - I simply start the programm and watch the error message for a name of hal file and what it says in that line. Do not worry, I still do not understand 80-90% of all the remaining text there.

Viesturs
Message has been deleted

Doug LaRue

unread,
Sep 27, 2014, 12:30:09 PM9/27/14
to machi...@googlegroups.com, i...@houseoflees.net
On Friday, September 26, 2014 11:42:34 PM UTC-7, Ian Lee, Sr. wrote:
The results are below.  Unfortunately, I don't really know what the results are supposed to look like but I do see xenomai listed a few times.  So, hopefully, there's not too much wrong.  I appreciate your patience in helping me figure this all out.

machinekit@beaglebone:~$ uname -a
Linux beaglebone 3.8.13-bone64 #1 SMP Thu Aug 21 21:24:58 UTC 2014 armv7l GNU/Linux


As Charles stated, it looks like you didn't get the xenomai kernel installed.

On Step 7 of that github url/instructions it shows to run this to install it:

sudo apt-get install linux-image-xenomai
it probably returned with an error message saying the package was not found and you missed that.  From your list below you can see that there is no "linux-image-xenomai" package but there is a "linux-image-xenomai.beaglebone-omap"

Stating this as an explanation as to what probably happened and maybe a reminder that while it might look like returned text from commandline programs is mumbo-jumbo if you see "error" or "fail" or something like that then proceeding is not likely to get you what you want.

Ian Lee, Sr.

unread,
Sep 27, 2014, 10:18:45 PM9/27/14
to machi...@googlegroups.com, i...@houseoflees.net
I've made a little more progress.  Apparently, when you startup LinuxCNC and pic one of the sample configs and it copies it to your home directory it doesn't also update the paths to the files referenced in the config.  It would be nice if it did but not a big deal once you figure out where those files actually exist.  

So, now I think my problem has to do with the fact that I didn't know what to do at step #8 ("deactivate all unneeded capes").  I couldn't understand the relationship between the "slots" and anything listed in uEnv.txt.

machinekit@beaglebone:~/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu$ linuxcnc &
[1] 4525
machinekit@beaglebone:~/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu$ LINUXCNC - 2.7.0~pre0
Machine configuration directory is '/home/machinekit/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu'
Machine configuration file is 'lineardelta.ini'
Starting LinuxCNC...
io started
emc/iotask/ioControl.cc 752: can't load tool table.
halcmd loadusr io started
Cape "cape-bebopr-brdg" with EEPROM in slot 0 is not active
Need to load overlay
Loading overlay "cape-bebopr-pp:R3" ... bash: line 0: echo: write error: No such file or directory
Failed
Loading overlay "cape-bebopr-brdg:R2" ... bash: line 0: echo: write error: File exists
Failed
Loading overlay "BB-LCNC-BEBOPRBR" ... bash: line 0: echo: write error: No such file or directory
Failed
lineardelta.hal:29: insmod failed, returned -1
See the log and output of 'dmesg' for more information.
Shutting down and cleaning up LinuxCNC...
Cleanup done
LinuxCNC terminated with an error.  You can find more information in the log:
    /home/machinekit/linuxcnc_debug.txt
and
    /home/machinekit/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal

[1]+  Exit 255                linuxcnc

machinekit@beaglebone:~/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu$ cat /sys/devices/bone_capemgr.*/slots
 0: 54:P---L BeBoPr (3D-printer/CNC) Cape,R2,www.bebopr.info,cape-bebopr-brdg
 1: 55:PF---
 2: 56:PF---
 3: 57:PF---
 4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
 5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI

machinekit@beaglebone:~/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu$ cat /boot/uEnv.txt

uname_r=3.8-1-xenomai.beaglebone-omap

#dtb=

cmdline=quiet init=/lib/systemd/systemd

##Example
#cape_disable=capemgr.disable_partno=
#cape_enable=capemgr.enable_partno=

##Disable HDMI/eMMC
#cape_disable=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G

##Disable HDMI
#cape_disable=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN

##Disable eMMC
#cape_disable=capemgr.disable_partno=BB-BONE-EMMC-2G

##Audio Cape (needs HDMI Audio disabled)
#cape_disable=capemgr.disable_partno=BB-BONELT-HDMI
#cape_enable=capemgr.enable_partno=BB-BONE-AUDI-02



##enable BBB: eMMC Flasher:
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

uuid=30c67b25-edcc-4246-9ed7-dfe466e96166

Bas de Bruijn

unread,
Sep 28, 2014, 3:25:00 AM9/28/14
to Ian Lee, Sr., machi...@googlegroups.com
Hi Ian,

I think the problem is that you have’t disabled the cape-bebopt-brdg

my uEnv.txt:

machinekit@bbb-mk-02:~$ cat /boot/uEnv.txt

uname_r=3.8-1-xenomai.beaglebone-omap

#dtb=

cmdline=quiet init=/lib/systemd/systemd 

##Example
#cape_disable=capemgr.disable_partno=
#cape_enable=capemgr.enable_partno=

##Disable HDMI/eMMC
#cape_disable=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G

##Disable HDMI
optargs=capemgr.disable_partno=BB-BONELT-HDMI,cape-bebopr-brdg

##Disable eMMC
#cape_disable=capemgr.disable_partno=BB-BONE-EMMC-2G

##Audio Cape (needs HDMI Audio disabled)
#cape_disable=capemgr.disable_partno=BB-BONELT-HDMI
#cape_enable=capemgr.enable_partno=BB-BONE-AUDI-02



##enable BBB: eMMC Flasher:
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

uuid=60f40c11-842a-4e8c-84d5-8023812ec81f


notice the line halfway with optargs=…..

Not sure what it was for (that’s probably somewhere else mentioned) but you need to disable “cape-bebopr-brdg”.
further more I disable the HDMI.

You can see at the slots that cape-bebopr-brdg is loaded. When you disable it at startup then your slots file will look like:
(notice no “L” in slot 0)

machinekit@bbb-mk-02:~$ cat /sys/devices/bone_capemgr.9/slots
 0: 54:P---- BeBoPr (3D-printer/CNC) Cape,R2,www.bebopr.info,cape-bebopr-brdg
 1: 55:PF--- 
 2: 56:PF--- 
 3: 57:PF--- 
 4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
 5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
 6: ff:P-O-L Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN

Another thing:
There’s the message "Loading overlay "cape-bebopr-pp:R3" ... bash: line 0: echo: write error: No such file or directory"

In my config file there came a dts.sh script. That needs to be run one time (I struggled with that too) to put some bebopr++ device tree overlays in a specific directory. It’s about the BB-LCNC-BEBOPRBR-00A0.dts file

could you check that file and script got copied to your directory? I suspect not.
if not get those files in your directory and run the script. That will make sure those files are found, and the disabling at startup of cape-bebopr-brdg at the uEnv.txt file will ensure it can get loaded.

Bas

Charles Steinkuehler

unread,
Sep 28, 2014, 8:14:47 AM9/28/14
to Bas de Bruijn, Ian Lee, Sr., machi...@googlegroups.com
On 9/28/2014 2:24 AM, Bas de Bruijn wrote:
>
> notice the line halfway with optargs=.....
>
> Not sure what it was for (that's probably somewhere else mentioned) but you need to disable "cape-bebopr-brdg".
> further more I disable the HDMI.

Recent versions of the BeBoPr configuration should be using the default
and automatically loaded cape-bebopr-* overlay and not the older
BB-LCNC-* overlays. Also, there should be no need to disable HDMI (with
audio) for the BeBoPr board as it does not use the audio pins, it's only
necessary for the boards that use the cape-universal overlay (Replicape,
CRAMPS, PMDX-432, PBX-BB, etc).

...but there have been several folks adding to the BeBoPr
configurations, so something might have gotten broken.

Exactly which configuration are you using?

--
Charles Steinkuehler
cha...@steinkuehler.net

signature.asc

Bas de Bruijn

unread,
Sep 28, 2014, 8:35:32 AM9/28/14
to Charles Steinkuehler, Ian Lee, Sr., machi...@googlegroups.com
Myself, I’m using a bebopr++/pepper/ configuration, and I think (but correct me if I’m wrong) Ian is using a bebopr++/pololu/lineardelta configuration from a package install..

I built from source recently from a clean installation and I didn’t have the cape-bebopr-pp so I ran the dts script.

If I understand the error messages from Ian "Loading overlay "cape-bebopr-pp:R3" ... bash: line 0: echo: write error: No such file or directory
“ it looks like that overlay can’t be found.

>
> --
> Charles Steinkuehler
> cha...@steinkuehler.net
>

Charles Steinkuehler

unread,
Sep 28, 2014, 8:47:26 AM9/28/14
to Bas de Bruijn, Ian Lee, Sr., machi...@googlegroups.com
On 9/28/2014 7:35 AM, Bas de Bruijn wrote:
>>
>> Exactly which configuration are you using?
>
> Myself, I'm using a bebopr++/pepper/ configuration, and I think (but
> correct me if I'm wrong) Ian is using a bebopr++/pololu/lineardelta
> configuration from a package install..
>
> I built from source recently from a clean installation and I didn't
> have the cape-bebopr-pp so I ran the dts script.
>
> If I understand the error messages from Ian "Loading overlay
> "cape-bebopr-pp:R3" ... bash: line 0: echo: write error: No such file
> or directory " it looks like that overlay can't be found.

I've got a pepper board from Bas L., but haven't gotten it running yet.

My previous comments apply to a BeBoPr board without the pepper add-on.
I don't think the pepper overlay has been added to the kernel source,
so it probably does have to be built by hand. This overlay should get
pushed upstream so it's built as part of the standard BeagleBone kernels
and gets pulled into the next Xenomai kernel build.

--
Charles Steinkuehler
cha...@steinkuehler.net

signature.asc

Ian Lee, Sr.

unread,
Sep 28, 2014, 11:20:12 AM9/28/14
to machi...@googlegroups.com, cha...@steinkuehler.net, i...@houseoflees.net
Correct.  I am using the lineardelta config.  Adding the optargs line to disable the bridge (I didn't add the HDMI part) seems to have helped.  Now on to the next problem.  I've seen references elsewhere to updating the PRU path and I suspect that this is the problem.  Unfortunately, to the Linux noob this means nothing and I don't really know where to start on that.

I looked for the dts.sh script you reference but it couldn't be found.  Did you mean dtc.sh?  I ran that and it didn't appear to be doing anything or perhaps its long running with no output?

Thanks again.

machinekit@3dprinter:~/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu$ linuxcnc &
[1] 2759
machinekit@3dprinter:~/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu$ LINUXCNC - 2.7.0~pre0
Machine configuration directory is '/home/machinekit/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu'
Machine configuration file is 'lineardelta.ini'
Starting LinuxCNC...
io started
emc/iotask/ioControl.cc 752: can't load tool table.
halcmd loadusr io started
Cape "cape-bebopr-brdg" with EEPROM in slot 0 is not active
Overlay "cape-bebopr-brdg" in slot 8 is active
lineardelta.hal:29: insmod failed, returned -1
See the log and output of 'dmesg' for more information.
Shutting down and cleaning up LinuxCNC...
Cleanup done
LinuxCNC terminated with an error.  You can find more information in the log:
    /home/machinekit/linuxcnc_debug.txt
and
    /home/machinekit/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal

[1]+  Exit 255                linuxcnc


machinekit@3dprinter:~/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu$ cat lineardelta.hal
# #######################################
#
# HAL file for BeagleBone + BeBoPr++ cape with 4 steppers
#
# Derived from example hm2-stepper config
#
# ########################################

# Launch the setup script to make sure hardware setup looks good
loadusr -w /usr/share/linuxcnc/examples/sample-configs/ARM/BeagleBone/BeBoPr++/setup.bridge.sh


# ###################################
# Core EMC/HAL Loads
# ###################################

# kinematics
loadrt lineardeltakins

# settings for delta printer
setp lineardeltakins.L [MACHINE]CF_ROD
setp lineardeltakins.R [MACHINE]DELTA_R

# motion controller, get name and thread periods from ini file
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES

# load low-level drivers
loadrt hal_bb_gpio output_pins=107,126,217,218,224,226 input_pins=108,109,110,114,117,118
loadrt [PRUCONF](DRIVER) prucode=$(LINUXCNC_HOME)/[PRUCONF](PRUBIN) [PRUCONF](CONFIG)
loadrt pid num_chan=2
loadrt limit1 count=2


# Python user-mode HAL module to read ADC value and generate a thermostat output for PWM
# t = Thermistor table (only epcos_B57560G1104 or 1 supported for now)
# a = analog input channel
loadusr -Wn Therm /usr/share/linuxcnc/examples/sample-configs/ARM/BeagleBone/BeBoPr++/ReadTemp.py -n Therm --num_chan 2 -t 1 1 -a 4 5

#used for comparing temperature set value with actual for waiting on temperature
loadrt wcomp count=1
# Initialize the sum2
loadrt sum2 count=2

# ################################################
# THREADS
# ################################################

addf [PRUCONF](DRIVER).capture-position   servo-thread
addf bb_gpio.read                         servo-thread
addf motion-command-handler               servo-thread
addf motion-controller                    servo-thread
addf pid.0.do-pid-calcs                   servo-thread
addf pid.1.do-pid-calcs                   servo-thread
addf limit1.0                             servo-thread
addf limit1.1                             servo-thread
addf [PRUCONF](DRIVER).update             servo-thread
addf bb_gpio.write                        servo-thread

addf wcomp.0                              servo-thread
addf sum2.0                               servo-thread
addf sum2.1                               servo-thread


# ######################################################
# Axis-of-motion Specific Configs (not the GUI)
# ######################################################


# ################
# X [0] Axis = column C
# ################

# axis enable chain
newsig emcmot.00.enable bit
sets emcmot.00.enable FALSE

net emcmot.00.enable <= axis.0.amp-enable-out
net emcmot.00.enable => [PRUCONF](DRIVER).stepgen.00.enable


# position command and feedback
net emcmot.00.pos-cmd <= axis.0.motor-pos-cmd
net emcmot.00.pos-cmd => [PRUCONF](DRIVER).stepgen.00.position-cmd

net motor.00.pos-fb <= [PRUCONF](DRIVER).stepgen.00.position-fb
net motor.00.pos-fb => axis.0.motor-pos-fb


# timing parameters
setp [PRUCONF](DRIVER).stepgen.00.dirsetup        [AXIS_0]DIRSETUP
setp [PRUCONF](DRIVER).stepgen.00.dirhold         [AXIS_0]DIRHOLD

setp [PRUCONF](DRIVER).stepgen.00.steplen         [AXIS_0]STEPLEN
setp [PRUCONF](DRIVER).stepgen.00.stepspace       [AXIS_0]STEPSPACE

setp [PRUCONF](DRIVER).stepgen.00.position-scale  [AXIS_0]SCALE

setp [PRUCONF](DRIVER).stepgen.00.maxvel          [AXIS_0]STEPGEN_MAX_VEL
setp [PRUCONF](DRIVER).stepgen.00.maxaccel        [AXIS_0]STEPGEN_MAX_ACC

#setp [PRUCONF](DRIVER).stepgen.00.step_type       0
# P8.43 PRU1.out2
setp [PRUCONF](DRIVER).stepgen.00.steppin         0x4C
# P8.44 PRU1.out4
setp [PRUCONF](DRIVER).stepgen.00.dirpin          0x4D

# because column C is connected to the X-axis output
# the bebopr-bridge signal needs to be X-max means P8.9
net home-x bb_gpio.p8.in-09 => axis.0.home-sw-in
setp bb_gpio.p8.in-09.invert 1

# ################
# Y [1] Axis = column A
# ################

# axis enable chain
newsig emcmot.01.enable bit
sets emcmot.01.enable FALSE

net emcmot.01.enable <= axis.1.amp-enable-out
net emcmot.01.enable => [PRUCONF](DRIVER).stepgen.01.enable


# position command and feedback
net emcmot.01.pos-cmd <= axis.1.motor-pos-cmd
net emcmot.01.pos-cmd => [PRUCONF](DRIVER).stepgen.01.position-cmd

net motor.01.pos-fb <= [PRUCONF](DRIVER).stepgen.01.position-fb
net motor.01.pos-fb => axis.1.motor-pos-fb


# timing parameters
setp [PRUCONF](DRIVER).stepgen.01.dirsetup        [AXIS_1]DIRSETUP
setp [PRUCONF](DRIVER).stepgen.01.dirhold         [AXIS_1]DIRHOLD

setp [PRUCONF](DRIVER).stepgen.01.steplen         [AXIS_1]STEPLEN
setp [PRUCONF](DRIVER).stepgen.01.stepspace       [AXIS_1]STEPSPACE

setp [PRUCONF](DRIVER).stepgen.01.position-scale  [AXIS_1]SCALE

setp [PRUCONF](DRIVER).stepgen.01.maxvel          [AXIS_1]STEPGEN_MAX_VEL
setp [PRUCONF](DRIVER).stepgen.01.maxaccel        [AXIS_1]STEPGEN_MAX_ACC

#setp [PRUCONF](DRIVER).stepgen.01.step_type       0
# P8.42 PRU1.out5
setp [PRUCONF](DRIVER).stepgen.01.steppin         0x4E
# P8.39 PRU1.out6
setp [PRUCONF](DRIVER).stepgen.01.dirpin          0x4F


# because column A is connected to the Y-axis output
# the bebopr-bridge signal needs to be Y-max means P8.14
net home-y bb_gpio.p8.in-14 => axis.1.home-sw-in
setp bb_gpio.p8.in-14.invert 1

# ################
# Z [2] Axis = column B
# ################

# axis enable chain
newsig emcmot.02.enable bit
sets emcmot.02.enable FALSE

net emcmot.02.enable <= axis.2.amp-enable-out
net emcmot.02.enable => [PRUCONF](DRIVER).stepgen.02.enable


# position command and feedback
net emcmot.02.pos-cmd <= axis.2.motor-pos-cmd
net emcmot.02.pos-cmd => [PRUCONF](DRIVER).stepgen.02.position-cmd

net motor.02.pos-fb <= [PRUCONF](DRIVER).stepgen.02.position-fb
net motor.02.pos-fb => axis.2.motor-pos-fb


# timing parameters
setp [PRUCONF](DRIVER).stepgen.02.dirsetup        [AXIS_2]DIRSETUP
setp [PRUCONF](DRIVER).stepgen.02.dirhold         [AXIS_2]DIRHOLD

setp [PRUCONF](DRIVER).stepgen.02.steplen         [AXIS_2]STEPLEN
setp [PRUCONF](DRIVER).stepgen.02.stepspace       [AXIS_2]STEPSPACE

setp [PRUCONF](DRIVER).stepgen.02.position-scale  [AXIS_2]SCALE

setp [PRUCONF](DRIVER).stepgen.02.maxvel          [AXIS_2]STEPGEN_MAX_VEL
setp [PRUCONF](DRIVER).stepgen.02.maxaccel        [AXIS_2]STEPGEN_MAX_ACC

#setp [PRUCONF](DRIVER).stepgen.02.step_type       0
# P8.27 PRU1.out8
setp [PRUCONF](DRIVER).stepgen.02.steppin         0x50
# P8.29 PRU1.out9
setp [PRUCONF](DRIVER).stepgen.02.dirpin          0x51

# because column B is connected to the Z-axis output
# the bebopr-bridge signal needs to be Z-max means P8.18
net home-z bb_gpio.p8.in-18 => axis.2.home-sw-in
setp bb_gpio.p8.in-18.invert 1

# ################
# A [3] Axis (Extruder)
# ################

# axis enable chain
newsig emcmot.03.enable bit
sets emcmot.03.enable FALSE

net emcmot.03.enable <= axis.3.amp-enable-out
net emcmot.03.enable => [PRUCONF](DRIVER).stepgen.03.enable


# position command and feedback
net emcmot.03.pos-cmd <= axis.3.motor-pos-cmd
net emcmot.03.pos-cmd => [PRUCONF](DRIVER).stepgen.03.position-cmd

net motor.03.pos-fb <= [PRUCONF](DRIVER).stepgen.03.position-fb
net motor.03.pos-fb => axis.3.motor-pos-fb


# timing parameters
setp [PRUCONF](DRIVER).stepgen.03.dirsetup        [AXIS_3]DIRSETUP
setp [PRUCONF](DRIVER).stepgen.03.dirhold         [AXIS_3]DIRHOLD

setp [PRUCONF](DRIVER).stepgen.03.steplen         [AXIS_3]STEPLEN
setp [PRUCONF](DRIVER).stepgen.03.stepspace       [AXIS_3]STEPSPACE

setp [PRUCONF](DRIVER).stepgen.03.position-scale  [AXIS_3]SCALE

setp [PRUCONF](DRIVER).stepgen.03.maxvel          [AXIS_3]STEPGEN_MAX_VEL
setp [PRUCONF](DRIVER).stepgen.03.maxaccel        [AXIS_3]STEPGEN_MAX_ACC

#setp [PRUCONF](DRIVER).stepgen.03.step_type       0
# P8.30 GPIO2.25
setp [PRUCONF](DRIVER).stepgen.03.steppin         0x22
# P8.21 GPIO1.30
setp [PRUCONF](DRIVER).stepgen.03.dirpin          0x23


# ##################################################
# Standard I/O - EStop, Enables, Limit Switches, Etc
# ##################################################

# create a signal for the estop loopback
net estop-loop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in

# create signals for tool loading loopback
net tool-prep-loop iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
net tool-change-loop iocontrol.0.tool-change => iocontrol.0.tool-changed

# Axis enable signals
net emcmot.00.enable => bb_gpio.p9.out-18
setp bb_gpio.p9.out-18.invert 1
net emcmot.01.enable => bb_gpio.p9.out-17
setp bb_gpio.p9.out-17.invert 1
net emcmot.02.enable => bb_gpio.p9.out-26
setp bb_gpio.p9.out-26.invert 1
net emcmot.03.enable => bb_gpio.p9.out-24
setp bb_gpio.p9.out-24.invert 1

# Machine power (BeBoPr Enable)
# Enable tied to system Reset_n line (P9.10)
net estop-loop => bb_gpio.p8.out-07
setp bb_gpio.p8.out-07.invert 1


# ##################################################
# PWM and Temperature Signals
# ##################################################

# Define signals to use elsewhere (ie: M1xx codes)
# If you change any names here, lots of things will break!
newsig e0.temp.set   float
newsig e0.temp.meas  float
newsig bed.temp.set  float
newsig bed.temp.meas float
newsig fan.speed.set float

setp hal_pru_generic.pwmgen.00.pwm_period       10000000

# J2 E0 Heater PRU1.out1
setp hal_pru_generic.pwmgen.00.out.00.pin       0x37
setp hal_pru_generic.pwmgen.00.out.00.enable    1
setp hal_pru_generic.pwmgen.00.out.00.value     0.0

#signals for comparing set value and actual value of temperature
#newsig M209_set_temp             float
newsig sub_temp_min               float
newsig add_temp_max               float
newsig e0_temp_within_range       bit

#set boundaries with sum2 +1 and -1 of the wanted temperature
sets add_temp_max 1
sets sub_temp_min -1

net e0.temp.set  => sum2.0.in0
setp sum2.0.in1 2
#net add_temp_max.out => sum2.0.in1

net e0.temp.set  => sum2.1.in0
setp sum2.1.in1 -2
#net sub_temp_min.out => sum2.1.in1

#the values will be given to the wcomp.0 function
net minboundary sum2.1.out => wcomp.0.min
net maxboundary sum2.0.out => wcomp.0.max
net e0.temp.meas => wcomp.0.in

#the output of wcomp.0 will say if measured temperature is in range of set value
#this needs to be coupled to a digital input for M66 readout
net e0_temp_within_range wcomp.0.out => motion.digital-in-00

# no longer J3 E1 Heater PRU1.out0
# instead used for FAN control
# we use scale 255 for compatibility with slicing software
setp hal_pru_generic.pwmgen.00.out.01.pin       0x36
setp hal_pru_generic.pwmgen.00.out.01.enable    1
setp hal_pru_generic.pwmgen.00.out.01.value     0.0
setp hal_pru_generic.pwmgen.00.out.01.scale     255

#linking motion.analog-out-00 to fan speed.set.signal
net fan.speed.set <= motion.analog-out-00
net fan.speed.set => hal_pru_generic.pwmgen.00.out.01.value


# J4 Bed Heater GPIO2.16
setp hal_pru_generic.pwmgen.00.out.02.pin       0x52
setp hal_pru_generic.pwmgen.00.out.02.enable    1
setp hal_pru_generic.pwmgen.00.out.02.value     0.0

# PID for Extruder 0 temperature control
net e0.temp.meas    <= Therm.temp0
net e0.temp.meas    => pid.0.feedback

sets e0.temp.set  0
net e0.temp.set     => pid.0.command

net e0.heater  <= pid.0.output
net e0.heater  => limit1.0.in
net e0.heaterl <= limit1.0.out
net e0.heaterl => hal_pru_generic.pwmgen.00.out.00.value

# Limit heater PWM to positive values
# PWM mimics hm2 implementation, which generates output for negative values
setp limit1.0.min 0

# PID for Bed temperature control
net bed.temp.meas    <= Therm.temp1
net bed.temp.meas    => pid.1.feedback

sets bed.temp.set  0
net bed.temp.set     => pid.1.command

net bed.heater  <= pid.1.output
net bed.heater  => limit1.1.in
net bed.heaterl <= limit1.1.out
net bed.heaterl => hal_pru_generic.pwmgen.00.out.02.value

# Limit heater PWM to positive values
# PWM mimics hm2 implementation, which generates output for negative values
setp limit1.1.min 0

# PID Parameters for adjusting temperature control
# Extruder
#setp pid.0.FF0      0
#setp pid.0.FF1      0
#setp pid.0.FF2      0
setp pid.0.Pgain  0.30
setp pid.0.Igain  0.00001
setp pid.0.Dgain  0.9375
setp pid.0.maxerrorI 1.0
setp pid.0.bias    0.5
setp pid.0.enable   1

# Bed
#setp pid.1.FF0      0
#setp pid.1.FF1      0
#setp pid.1.FF2      0
setp pid.1.Pgain  1
setp pid.1.Igain  0.0
setp pid.1.Dgain  0.0
setp pid.1.maxerrorI 1.0
setp pid.1.bias    0.5
setp pid.1.enable   1
machinekit@3dprinter:~/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu$

Charles Steinkuehler

unread,
Sep 28, 2014, 11:39:24 AM9/28/14
to Ian Lee, Sr., machi...@googlegroups.com
On 9/28/2014 10:20 AM, Ian Lee, Sr. wrote:
> Correct. I am using the lineardelta config. Adding the optargs line to
> disable the bridge (I didn't add the HDMI part) seems to have helped. Now
> on to the next problem. I've seen references elsewhere to updating the PRU
> path and I suspect that this is the problem. Unfortunately, to the Linux
> noob this means nothing and I don't really know where to start on that.
>
> I looked for the dts.sh script you reference but it couldn't be found. Did
> you mean dtc.sh? I ran that and it didn't appear to be doing anything or
> perhaps its long running with no output?

Your overlay is loading, so you don't need to worry about this. For
reference, the correct command would be "sudo ./dtc.sh", and the
compiled file should be placed in the /lib/firmware directory.

<snip>
> Cape "cape-bebopr-brdg" with EEPROM in slot 0 is not active
> Overlay "cape-bebopr-brdg" in slot 8 is active
> lineardelta.hal:29: insmod failed, returned -1

The cape overlay is found, and it's using the "official" overlay, as
expected. The error is on line 29 of your HAL file, which (if I counted
across line-wraps correctly) is the PRU HAL driver, which most likely
isn't loading because it can't find the PRU binary.

You need to point the prucode= setting to the absolute path of the PRU
binary file.

--
Charles Steinkuehler
cha...@steinkuehler.net

signature.asc

Ian Lee, Sr.

unread,
Sep 28, 2014, 12:00:21 PM9/28/14
to machi...@googlegroups.com, i...@houseoflees.net
As I stated in my previous post, I don't know what file this is referring to. I've searched the entire device for files with a .pru extension or "pru" in the file names and I'm coming up empty.  Sorry for being a total noob but if you could give me more specific info about where you would expect this file to exist it would help a lot.  Unfortunately, every reference to the PRU in Google searches also assume that the reader already knows what this means.

Do you have recommendations for books/sites/etc to help someone quickly get up to speed on the Linux hardware terminology?

Thanks!

Charles Steinkuehler

unread,
Sep 28, 2014, 12:05:31 PM9/28/14
to Ian Lee, Sr., machi...@googlegroups.com
On 9/28/2014 11:00 AM, Ian Lee, Sr. wrote:
> As I stated in my previous post, I don't know what file this is referring
> to. I've searched the entire device for files with a .pru extension or
> "pru" in the file names and I'm coming up empty. Sorry for being a total
> noob but if you could give me more specific info about where you would
> expect this file to exist it would help a lot. Unfortunately, every
> reference to the PRU in Google searches also assume that the reader already
> knows what this means.
>
> Do you have recommendations for books/sites/etc to help someone quickly get
> up to speed on the Linux hardware terminology?

I'm not 100% sure where the file gets put by the packages, since I don't
have package based system running at the moment (I'm swapping back and
forth between 4 different installs, and I'm playing with 3.14 kernels at
the moment).

...but you can just ask the package manager:

dpkg -L '*machinekit*' | grep pru_generic.bin

--
Charles Steinkuehler
cha...@steinkuehler.net

signature.asc

Charles Steinkuehler

unread,
Sep 28, 2014, 12:13:14 PM9/28/14
to Ian Lee, Sr., machi...@googlegroups.com
...oops, that probably won't work. Try:

dpkg -S pru_generic.bin

--
Charles Steinkuehler
cha...@steinkuehler.net

signature.asc

Ian Lee, Sr.

unread,
Sep 28, 2014, 12:39:21 PM9/28/14
to machi...@googlegroups.com, i...@houseoflees.net
That worked much better.  In my .hal, I've changed 

#loadrt [PRUCONF](DRIVER) prucode=$(LINUXCNC_HOME)/[PRUCONF](PRUBIN) [PRUCONF](CONFIG)
loadrt [PRUCONF](DRIVER) prucode=/usr/lib/linuxcnc/xenomai/pru_generic.bin [PRUCONF](CONFIG)

now I'm getting...

machinekit@3dprinter:~/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu$ linuxcnc &
[1] 5156
machinekit@3dprinter:~/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu$ LINUXCNC - 2.7.0~pre0
Machine configuration directory is '/home/machinekit/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu'
Machine configuration file is 'lineardelta.ini'
Starting LinuxCNC...
io started
emc/iotask/ioControl.cc 752: can't load tool table.
halcmd loadusr io started
Cape "cape-bebopr-brdg" with EEPROM in slot 0 is not active
Overlay "cape-bebopr-brdg" in slot 8 is active
task pid=5488
emcTaskInit: using builtin interpreter
NGC file not found: ngc=fancontrol - 99:REMAP = M206 modalgroup=10 argspec=P ngc=fancontrol
emc/task/emctask.cc 389: interp_error: File not open
File not open
emc/task/emctaskmain.cc 2994: can't initialize interpreter
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
A configuration error is preventing LinuxCNC from starting.
More information may be available when running from a terminal.
Shutting down and cleaning up LinuxCNC...
Cleanup done

Bas de Bruijn

unread,
Sep 28, 2014, 12:53:54 PM9/28/14
to Ian Lee, Sr., machi...@googlegroups.com, i...@houseoflees.net


On 28 sep. 2014, at 18:39, "Ian Lee, Sr." <i...@houseoflees.net> wrote:

That worked much better.  In my .hal, I've changed 

#loadrt [PRUCONF](DRIVER) prucode=$(LINUXCNC_HOME)/[PRUCONF](PRUBIN) [PRUCONF](CONFIG)
loadrt [PRUCONF](DRIVER) prucode=/usr/lib/linuxcnc/xenomai/pru_generic.bin [PRUCONF](CONFIG)

now I'm getting...

machinekit@3dprinter:~/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu$ linuxcnc &
[1] 5156
machinekit@3dprinter:~/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu$ LINUXCNC - 2.7.0~pre0
Machine configuration directory is '/home/machinekit/linuxcnc/configs/ARM.BeagleBone.BeBoPr++.Pololu'
Machine configuration file is 'lineardelta.ini'
Starting LinuxCNC...
io started
emc/iotask/ioControl.cc 752: can't load tool table.
halcmd loadusr io started
Cape "cape-bebopr-brdg" with EEPROM in slot 0 is not active
Overlay "cape-bebopr-brdg" in slot 8 is active
task pid=5488
emcTaskInit: using builtin interpreter
NGC file not found: ngc=fancontrol - 99:REMAP = M206 modalgroup=10 argspec=P ngc=fancontrol

Copy this entire directory into your config directory. Check if the path in the .ini file points to the correct location. It's about the fancontrol.ngc file.

I remapped the M206 command so M206 P... controls the fan.
I used this in the bebopr-bridge configs and I think the directory hasn't been added yet (at least not by me). I'll do that for these configs.

Sorry about that.
Bas

emc/task/emctask.cc 389: interp_error: File not open
File not open
emc/task/emctaskmain.cc 2994: can't initialize interpreter
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
A configuration error is preventing LinuxCNC from starting.
More information may be available when running from a terminal.
Shutting down and cleaning up LinuxCNC...
Cleanup done


On Sunday, September 28, 2014 11:13:14 AM UTC-5, Charles Steinkuehler wrote:
On 9/28/2014 11:05 AM, Charles Steinkuehler wrote:
> dpkg -L '*machinekit*' | grep pru_generic.bin

...oops, that probably won't work.  Try:

dpkg -S pru_generic.bin

--

Ian Lee, Sr.

unread,
Sep 28, 2014, 1:41:48 PM9/28/14
to machi...@googlegroups.com, i...@houseoflees.net
After confirming what is in Git is the same...  I did the following.

sudo mkdir /usr/share/linuxcnc/examples/sample-configs/ARM/BeagleBone/BeBoPr++/Pololu/subroutines
sudo cp -r /usr/share/linuxcnc/examples/sample-configs/ARM/BeagleBone/BeBoPr-Bridge/Pololu/subroutines/* /usr/share/linuxcnc/examples/sample-configs/ARM/BeagleBone/BeBoPr++/subroutines

I've confirmed the files are there.  However, I'm still getting the same error.  Is this the correct location to copy them?

Ian Lee, Sr.

unread,
Sep 28, 2014, 1:47:45 PM9/28/14
to machi...@googlegroups.com, i...@houseoflees.net
Sorry, my notes were out of sync with reality...  This is actually what I did.

sudo mkdir /usr/share/linuxcnc/examples/sample-configs/ARM/BeagleBone/BeBoPr++/Pololu/subroutines
sudo cp -r /usr/share/linuxcnc/examples/sample-configs/ARM/BeagleBone/BeBoPr-Bridge/subroutines/* /usr/share/linuxcnc/examples/sample-configs/ARM/BeagleBone/BeBoPr++/Pololu/subroutines

Bas de Bruijn

unread,
Sep 28, 2014, 2:43:55 PM9/28/14
to Ian Lee, Sr., machi...@googlegroups.com, i...@houseoflees.net


On 28 sep. 2014, at 19:47, "Ian Lee, Sr." <i...@houseoflees.net> wrote:

Sorry, my notes were out of sync with reality...  This is actually what I did.

sudo mkdir /usr/share/linuxcnc/examples/sample-configs/ARM/BeagleBone/BeBoPr++/Pololu/subroutines
sudo cp -r /usr/share/linuxcnc/examples/sample-configs/ARM/BeagleBone/BeBoPr-Bridge/subroutines/* /usr/share/linuxcnc/examples/sample-configs/ARM/BeagleBone/BeBoPr++/Pololu/subroutines

Yes, that should be correct. The ini file should point to the subdirectory
This is the line as it should be in the ini file

And I expect this is the line in your ini file

So just change your config file so it points like in ./subroutines example



On Sunday, September 28, 2014 12:41:48 PM UTC-5, Ian Lee, Sr. wrote:
After confirming what is in Git is the same...  I did the following.

sudo mkdir /usr/share/linuxcnc/examples/sample-configs/ARM/BeagleBone/BeBoPr++/Pololu/subroutines
sudo cp -r /usr/share/linuxcnc/examples/sample-configs/ARM/BeagleBone/BeBoPr-Bridge/Pololu/subroutines/* /usr/share/linuxcnc/examples/sample-configs/ARM/BeagleBone/BeBoPr++/subroutines

--

Bas de Bruijn

unread,
Sep 28, 2014, 3:05:28 PM9/28/14
to Ian Lee, Sr., machi...@googlegroups.com
btw, no idea why this image got attached …

On 28 Sep 2014, at 20:43, Bas de Bruijn <b...@basdebruijn.com> wrote:

> <image.jpeg>

Ian Lee, Sr.

unread,
Sep 28, 2014, 3:12:12 PM9/28/14
to machi...@googlegroups.com, i...@houseoflees.net
W00t!  I updated the subroutines path and the postgui path and I now have Axis!  Now to figure out where to go from here...


I'm able to successfully jog motors!  Thanks guys!

My motors are homing backwards, though.  I'll figure that out...

A bit of an unrelated question...  How do you prefer to move files from your PC to the BBB?  Have you installed an FTP server or is there something better?  Using the SD card is a bit of a pain and will be impossible once my printer is closed up

Toomas Pruuden

unread,
Sep 28, 2014, 3:19:56 PM9/28/14
to machi...@googlegroups.com, i...@houseoflees.net


On Sunday, September 28, 2014 10:12:12 PM UTC+3, Ian Lee, Sr. wrote:
W00t!  I updated the subroutines path and the postgui path and I now have Axis!  Now to figure out where to go from here...


I'm able to successfully jog motors!  Thanks guys!

My motors are homing backwards, though.  I'll figure that out...

A bit of an unrelated question...  How do you prefer to move files from your PC to the BBB?  Have you installed an FTP server or is there something better?  Using the SD card is a bit of a pain and will be impossible once my printer is closed up


 I use SuperPuTTY and SCP for filetransfer.
Motors running backwards - either negative scale or change one winding phase (swap leads)

Regards,
Toomas Pruuden

Bas de Bruijn

unread,
Sep 28, 2014, 3:33:26 PM9/28/14
to Ian Lee, Sr., machi...@googlegroups.com

On 28 Sep 2014, at 21:12, Ian Lee, Sr. <i...@houseoflees.net> wrote:

W00t!  I updated the subroutines path and the postgui path and I now have Axis!  Now to figure out where to go from here…

nicely done!

My motors are homing backwards, though.  I'll figure that out…

check if the motors run the right way. if not, you can change the motor direction when changing the scale from positive to negative, i.e. SCALE = -128
if it is the homing direction (search direction, where’s my endswitch) you have to change HOME_SEARCH_VEL, in my case I have a NC switch at the top, and my HOME_SEARCH_VEL = 100
Then when the contact is broken it wil very gently go down until closed again. That’s where HOME_LATCH_VEL is for. (negative, because you’d have to go down).
there’s some more documentation on http://linuxcnc.org/docs/html/config/ini_homing.html but this just works ok for me.


A bit of an unrelated question...  How do you prefer to move files from your PC to the BBB?  Have you installed an FTP server or is there something better?  Using the SD card is a bit of a pain and will be impossible once my printer is closed up


I work from the mac, and I use scp. So from the mac to the BBB I do: scp file-i-want-to-copy.extension machi...@192.168.1.201:/home/machinekit/directory-of-your-choice/

andy pugh

unread,
Sep 28, 2014, 4:14:08 PM9/28/14
to Ian Lee, Sr., machi...@googlegroups.com
On 28 September 2014 20:12, Ian Lee, Sr. <i...@houseoflees.net> wrote:
> A bit of an unrelated question... How do you prefer to move files from your
> PC to the BBB?

I don't have a BBB configured at the moment, but all my other PCs run
Avahi and Samba, so just pop up in my Mac Finder when powered up.

A more elegant approach is NFS mounting, I only have one git archive,
(on the Mac where Eclipse can always see it) and other machine
NFS-mount that when I want to compile a native version in-situ.

--
atp
If you can't fix it, you don't own it.
http://www.ifixit.com/Manifesto

Toomas Pruuden

unread,
Sep 28, 2014, 5:19:26 PM9/28/14
to machi...@googlegroups.com, i...@houseoflees.net

 Btw, I assume there should be in the .ini file, under [RS274NGC] section (for user M codes):

USER_M_PATH     = ../../nc_files/examples/

Regards,
Toomas Pruuden


On Sunday, September 28, 2014 10:12:12 PM UTC+3, Ian Lee, Sr. wrote:

Ian Lee, Sr.

unread,
Sep 28, 2014, 5:20:14 PM9/28/14
to machi...@googlegroups.com, i...@houseoflees.net
Thanks for the suggestions.  I found a free utility called WinSCP that seems to work very well.  I like Andy's idea of using NFS mounting.  I'll give that a try eventually.

Changing the scale from inside LinuxCNC to negative fixed the negative homing.  Everything homes perfectly now. Unfortunately, I have a bit of assembly to finish before I can do much more.  With any luck I'll be printing by next weekend. :)

Thanks again!

Ian Lee, Sr.

unread,
Sep 28, 2014, 5:24:10 PM9/28/14
to machi...@googlegroups.com, i...@houseoflees.net
That key doesn't exist in my config.  Are you suggesting that I add it?  What does it do?

Toomas Pruuden

unread,
Sep 28, 2014, 5:48:43 PM9/28/14
to machi...@googlegroups.com, i...@houseoflees.net

 The custom M definitions should be found somewhere. Bas most probably can clarify this further, maybe it is not relevant for linear delta.

Regards,
Toomas Pruuden

Bas de Bruijn

unread,
Sep 29, 2014, 2:06:53 AM9/29/14
to Toomas Pruuden, machi...@googlegroups.com, i...@houseoflees.net
In the beginning of my experimenting Charles had already made some M1xx codes that are shell scripts in the machinekit/nc_files/ directory. I needed to get my fan running and in that process I got nudged by Michael to not do those scripts via shell.

The reason (and please correct me if wrong) is that the remapped files get read directly by MK/LCNC and a analog value is set which in turn sets the PWM.
You can do that via a shell script, but than you'll call the shell script each time you do the command, ant that's a little bulky and not as elegant.
I was thinking to remap M104 to M204 but haven't got to that. (Started to do a wait on temp M109 but that was done with an M66, waiting on a digital input from the Hal when the temp is in a range (wcomp).

Bas

Charles Steinkuehler

unread,
Sep 29, 2014, 9:07:01 AM9/29/14
to Bas de Bruijn, Toomas Pruuden, machi...@googlegroups.com, i...@houseoflees.net
On 9/29/2014 1:06 AM, Bas de Bruijn wrote:
> In the beginning of my experimenting Charles had already made some
> M1xx codes that are shell scripts in the machinekit/nc_files/
> directory. I needed to get my fan running and in that process I got
> nudged by Michael to not do those scripts via shell.
>
> The reason (and please correct me if wrong) is that the remapped
> files get read directly by MK/LCNC and a analog value is set which in
> turn sets the PWM. You can do that via a shell script, but than
> you'll call the shell script each time you do the command, ant that's
> a little bulky and not as elegant. I was thinking to remap M104 to
> M204 but haven't got to that. (Started to do a wait on temp M109 but
> that was done with an M66, waiting on a digital input from the Hal
> when the temp is in a range (wcomp).

The main reason to use analog and digital gcode outputs vs. M1xx shell
scripts is the interpreter pauses motion while running the shell script
so you get "blobs" if you're 3D printing. The analog outputs can be
changed without interfering with motion planning, resulting in
continuous motion and better quality prints.

For things that don't happen while printing (such as wait for
temperature to be reached, automated bed probing, etc), it doesn't
matter, and M1xx codes can be written in shell, python, C, or whatever.
For things that may occur in the middle of a print (change fan speed,
change temperature), you want to make sure you don't unintentionally
pause motion, so using analog outputs with coordinated updates is
recommended.

--
Charles Steinkuehler
cha...@steinkuehler.net

signature.asc

Ian Lee, Sr.

unread,
Sep 29, 2014, 12:40:16 PM9/29/14
to machi...@googlegroups.com
I started playing around with some simple movements last night and I'm running into some really unexpected behavior (at least they would be weird coming from Arduino based solutions...).  Where's the best place to start as far as learning to configuring LinuxCNC to run with a delta?  Should the lineardelta config need many changes other than rod lengths, esteps, etc?

Here's an example of some weird behavior...

Also, one thing that seems really off is that after homing the X/Y/Z overlay in LinuxCNC shows non-zero values for the current position (usually negative).  Why is this?  Are these supposed to be the absolute positions or relative to something?  I don't want to bug you with too many questions yet until I've had time to learn more about LinuxCNC but I'm wondering if some of this may be problems in the lineardelta config that's part of MachineKit.

Michael Haberler

unread,
Sep 29, 2014, 1:20:38 PM9/29/14
to Ian Lee, Sr., machi...@googlegroups.com
For most configuration tasks the standard LinuxCNC applies, so have a look here:

http://www.linuxcnc.org/docs/devel/html/

in particular 'Configuring LinuxCNC'

-m

Viesturs Lācis

unread,
Sep 29, 2014, 1:54:37 PM9/29/14
to machi...@googlegroups.com


On Monday, September 29, 2014 7:40:16 PM UTC+3, Ian Lee, Sr. wrote:
I started playing around with some simple movements last night and I'm running into some really unexpected behavior (at least they would be weird coming from Arduino based solutions...).  Where's the best place to start as far as learning to configuring LinuxCNC to run with a delta?  Should the lineardelta config need many changes other than rod lengths, esteps, etc?

What I did for my delta (I do am very familiar with LinuxCNC and config files) with sample config and do following changes:
1) specify your diagonal rod length (at least approximately, +/- 1 mm)
2) specify delta radius
3) specify home switch position in joint position (I have "home" parameter 5 mm smaller than "home_offset" so that it moves 5 mm down from home switch, once the joint is done with homing).

Here is good explanation:

After these 3 steps turn on machine, home all joints, switch to world mode and then try jogging somewhere, it should to something meaningful.


 
Also, one thing that seems really off is that after homing the X/Y/Z overlay in LinuxCNC shows non-zero values for the current position (usually negative).  Why is this?  

When you home all the joints, it uses "home_offset" and "home" parameters from INI file to determine tool's location by using these joint values and putting them in in kinematics equations. That is why it is important to make sure that those parameters represent actual home switch locations in joint position. I suspect that the Z value is negative. If all the "home_offsets" are equal for all 3 joints, then X and Y should be at 0. As you mentioned, you might be looking at workpiece coordinates (G54 ... G59.3) instead of machine coordinates (G53). There is a keyboard shortcut to switch between them, do not remember precisely, but there is also menu entry under "view" (I think). Browse on top of the window, the third is needed, somewhere on lower part there is something like "show machine position". Take that and then you will see machine coordinates.

And once more - remember to switch to world mode after homing (Shift+4 is the keyboard shortcut) otherwise jogging will be done in joint space.

Viesturs
 

Ian Lee, Sr.

unread,
Sep 29, 2014, 2:13:07 PM9/29/14
to machi...@googlegroups.com
Thanks, I'll work through your calibration guide tonight.  Is there a visual somewhere that demonstrates how to calculate this delta radius value?  I'm not sure I follow your description in the post.  If not, I can work backwards through the Marlin formula.

Janos Bujtar

unread,
Sep 29, 2014, 2:37:58 PM9/29/14
to machi...@googlegroups.com


2014. szeptember 29., hétfő 20:13:07 UTC+2 időpontban Ian Lee, Sr. a következőt írta:
Thanks, I'll work through your calibration guide tonight.  Is there a visual somewhere that demonstrates how to calculate this delta radius value?



I hope this picture together with Brandon's explanation help to understand

Regards:
Janos

Ian Lee, Sr.

unread,
Sep 29, 2014, 2:51:30 PM9/29/14
to machi...@googlegroups.com
Thanks, Janos.  I'm familiar with that pic from Marlin calibration but for some reason I was interpreting Brandon's explanation to mean it was different.  It makes sense now...

Ian Lee, Sr.

unread,
Sep 29, 2014, 11:42:25 PM9/29/14
to machi...@googlegroups.com
Thanks.  This helped a lot.  I'm well on my way to getting loosely calibrated.  I feel fairly comfortable with movement now except for one thing that still doesn't make sense.  After I home, the machine position (0,0,65.395).  By time I jog down to about bed level I'm down below (0,0,-100) and (0,0,0) is somewhere mid-towers.  Why would homing ever result in something other than (0,0,0)? My HOME_OFFSET = HOME for now.

Bas de Bruijn

unread,
Sep 30, 2014, 1:10:39 AM9/30/14
to Ian Lee, Sr., machi...@googlegroups.com
When the limit switches get triggered MK knows where that axis is. It gets the joint (stepper motor tower) coordinates assigned. These differ from the Cartesian coordinates.
Then these joint coordinates get calculated to the Cartesian coordinates.

So after the homing sequence you get the xyz Cartesian coordinates of the tip of your nozzle.

These numbers you can adjust by changing the homing heights in your ini file.


On 30 Sep 2014, at 05:42, "Ian Lee, Sr." <i...@houseoflees.net> wrote:

Thanks.  This helped a lot.  I'm well on my way to getting loosely calibrated.  I feel fairly comfortable with movement now except for one thing that still doesn't make sense.  After I home, the machine position (0,0,65.395).  By time I jog down to about bed level I'm down below (0,0,-100) and (0,0,0) is somewhere mid-towers.  Why would homing ever result in something other than (0,0,0)? My HOME_OFFSET = HOME for now.

--

Viesturs Lācis

unread,
Sep 30, 2014, 3:42:38 AM9/30/14
to machi...@googlegroups.com


On Tuesday, September 30, 2014 6:42:25 AM UTC+3, Ian Lee, Sr. wrote:
Thanks.  This helped a lot.  I'm well on my way to getting loosely calibrated.  I feel fairly comfortable with movement now except for one thing that still doesn't make sense.  After I home, the machine position (0,0,65.395).  By time I jog down to about bed level I'm down below (0,0,-100) and (0,0,0) is somewhere mid-towers.  Why would homing ever result in something other than (0,0,0)? My HOME_OFFSET = HOME for now.

And what particular values do you have there? Here are the equations of the kinematics module:

If you want machine Z0 to be on the print surface, then home_offset should be equal to distance from hotend tip to your print surface. Step1 from the link I posted previously is telling exactly this.

Viesturs
Reply all
Reply to author
Forward
0 new messages