BeagleBone Black setup.sh

More
3 years 11 months ago #257795 by ALANMTHOMASON
Hi There...

I am working on a new installation of linuxcnc on a BeagleBoneBlack.  With help from others, I can start linuxcnc, select the configuration, but it stalls at this point...

Waiting for /sys/class/uio/uio0 ...........................................................................................................................................

I installed linuxcnc like this:
sudo apt install linuxcnc-uspace

I have this kernel:
5.15.73-bone-rt-r31

I do have a /sys/class/uio directory, but it is empty.

So much has changed in the way that linuxcnc works (I was starting from a version that only showed 0.1) that I am suspicious that this setup.sh no longer applies.  I've tried naively not calling this setup.sh from the old hal file, but other problems appear.  Before I disappear down the rabbit hole, I'm hoping someone can point me to where I would find an example directory containing a working ini, hal and setup.sh (if this is still used).

Thanks so much! 
Alan

Please Log in to join the conversation.

More
3 years 11 months ago #257797 by ALANMTHOMASON
I've been having trouble adding attachments in this forum...here is the contents of the setup.sh that I had in the old installation....

#!/bin/bash
# Copyright 2014
# Charles Steinkuehler <charles@steinkuehler.net>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

dtbo_err () {
echo "Error loading device tree overlay file: $DTBO" >&2
exit 1
}

pin_err () {
echo "Error exporting pin:$PIN" >&2
exit 1
}

dir_err () {
echo "Error setting direction:$DIR on pin:$PIN" >&2
exit 1
}

PRU=/sys/class/uio/uio0
echo -n "Waiting for $PRU "

while [ ! -r $PRU ]
do
echo -n "."
sleep 1
done
echo OK

if [ ! -r $PRU ] ; then
echo PRU control files not found in $PRU >&2
exit 1;
fi

# Export GPIO pins:
# One pin needs to be exported to enable the low-level clocks for the GPIO
# modules (there is probably a better way to do this)
#
# Any GPIO pins driven by the PRU need to have their direction set properly
# here. The PRU does not do any setup of the GPIO, it just yanks on the
# pins and assumes you have the output enables configured already
#
# Direct PRU inputs and outputs do not need to be configured here, the pin
# mux setup (which is handled by the device tree overlay) should be all
# the setup needed.
#
# Any GPIO pins driven by the hal_bb_gpio driver do not need to be
# configured here. The hal_bb_gpio module handles setting the output
# enable bits properly. These pins _can_ however be set here without
# causing problems. You may wish to do this for documentation or to make
# sure the pin starts with a known value as soon as possible.

sudo $(which config-pin) -f - <<- EOF

P8.07 out # gpio2.2 Enable System
#P9.18 in # gpio2.4 XLIM
P8.11 out # gpio1.13 X_Dir
P8.12 out # gpio1.12 X_Step
P8.13 out # gpio0.23 PWM0/SPINDLE
#P9.20 in # gpio0.26 YLIM
P8.15 out # gpio1.15 Y_Dir
P8.16 out # gpio1.14 Y_Step
#P9.21 in # gpio2.1 ZLIM
P8.19 out # gpio0.22 PWM1
P9.14 out # gpio1.18 PWM2
P9.15 out # gpio1.16 Z_Step
P9.23 out # gpio1.17 Z_Dir
# P9.17 out # gpio0.5 SCS
# P9.18 in # gpio0.4 SDI
# P9.21 out # gpio0.3 SDO
# P9.22 out # gpio0.2 SCK
P9.13 out # gpio0.30 A_Dir
P9.11 out # gpio0.31 A_Step
P8.09 in # gpio2.5 STOPin
EOF

Please Log in to join the conversation.

More
3 years 11 months ago #257933 by silver2row
uboot_overlay_pru=AM335X-PRU-UIO-00A0.dtbo

For the PRU from uio, add that line in /boot/uEnv.txt and then reboot.

I know it may work or may make a system to fail to boot. I have not tested this personally w/ the RT system and UIO.

Seth

Please Log in to join the conversation.

More
3 years 11 months ago #258117 by andypugh
Replied by andypugh on topic BeagleBone Black setup.sh
This looks like a machinekit-specific script to enable / control the PRU.

I don't know if there is support for the PRU in mainline LinuxCNC. Hopefully someone else does know.

Please Log in to join the conversation.

More
3 years 10 months ago #258288 by ALANMTHOMASON
Thanks for the help....I'm hoping that someone is using a BBB with these later versions of LinuxCNC that would be willing to share their config files. The setup.sh file that I have for instance might even be outdated for my very old version of LInuxCNC!

Please Log in to join the conversation.

Time to create page: 0.083 seconds
Powered by Kunena Forum