Advanced Search

Search Results (Searched for: raspberry pi 3)

  • llamatrails
  • llamatrails
13 Apr 2025 21:45

RPi 4, LinuxCNC upgrade doesn't upgrade kernel

Category: Installing LinuxCNC

Raspberry Pi 4 Model B Rev 1.2
Mesa 7c81
Debian GNU/Linux 12 (bookworm) 6.1.54-rt15 #1_RT Fri Nov 17 17:02:27 AEST 2023 aarch64

I installed LinuxCNC 2.9.3 from the linuxcnc ISO image a couple of years ago, and upgraded to 2.9.4 yesterday by:
$ sudo apt update  && sudo apt full-upgrade

I now have:
rick@raspi4:~$ dpkg -l | grep linux-image
ii  linux-image-bcm2711-rpi-4            6.1.54-rt15-1                           arm64        Linux kernel, version 6.1.54-rt15
rick@raspi4:~$ dpkg -l | grep linuxcnc
ii  linuxcnc-doc-en                      1:2.9.4                                 all          motion controller for CNC machines and robots (English documentation)
ii  linuxcnc-uspace                      1:2.9.4                                 arm64        motion controller for CNC machines and robots
ii  linuxcnc-uspace-dev                  1:2.9.4                                 arm64        PC based motion controller for real-time Linux

rick@raspi4:~$ uname -a
Linux raspi4 6.1.54-rt15 #1 SMP PREEMPT_RT Fri Nov 17 17:02:27 AEST 2023 aarch64 GNU/Linux

Is there a newer RT kernel then the one from 2023 ?
If so, how can I upgrade the kernel without having to reload the entire system from the latest ISO image ?

TIA,
Rick
 
  • pgf
  • pgf
12 Apr 2025 14:23

Running an external program from a HAL pin

Category: HAL

I spent my career trying to write reasonably efficient and fast code in firmware, device drivers and system level utilities. I'm afraid I just couldn't stomach adding a polling loop on top of the polling loop (every .2 seconds) that I discovered at the core of halui.

So I've done an end-run around the problem, which works nicely.

My mill runs from a Raspberry Pi, connected via a Mesa ethernet card. It occurred to me that if HAL could twiddle an actual gpio pin, then I could easily read that, and hook it up to action.  And of course if there's one thing the RPi has, it's plenty of gpio.

So I loaded hal_gpio, and hooked up a couple of output pins:
loadrt hal_gpio outputs=GPIO16,GPIO20
addf hal_gpio.write servo-thread
 
net external-estop-off \
        estop-latch.0.fault-out => hal_gpio.GPIO16-out
 
net coolant-mist => hal_gpio.GPIO20-out

Those pins were chosen because they were eacy immediately adjacent to another unused pin.  Gpio 16 is next to 19, and 20 is next to 26.  I jumpered those two pairs.

Then I wrote a short script using gpiomon to watch pins 19 and 26 for transitions.
#!/bin/bash

estop=19
vacuum=26

switch()
{
    echo Turning $1 $2   # e.g. "Turning vacuum on"
    wget -q -O /dev/null http://service:9901/event:cnc-mill-$1-$2 &
}

while read pinevent
do
    echo got $pinevent   # this will be "19-1", "19-0", "26-1", or "26-0"
    case $pinevent in
    $estop-1)
        switch spindle off
        ;;
    $vacuum-0)
        switch vacuum off
        ;;
    $vacuum-1)
        switch vacuum on
        ;;
    esac
done < <( gpiomon  --line-buffered --format="%o-%e" gpiochip0 19 26)

This works perfectly.

While I'm pleased to have found this solution, it sure seems silly to have had to consume 4 gpio pins in order to do it.

Thanks for all your suggestions!
paul
  • robforbes
  • robforbes
09 Apr 2025 18:24 - 09 Apr 2025 22:00

Inexpensive hardware setup: N95 Mini PC, Mesa 7I92T (Ethernet) and G540

Category: Computers and Hardware

Hi all, 

In case anyone else is interested in using inexpensive mini PCs and Mesa ethernet boards, I thought I'd share some details of my new setup. It's early days, but it seems to be working well--I'd be interested to hear about other people's experience with similar setups...

Mini PC, N95 $120 It's tiny, like 3-1/2" square!
Mesa 7192T $110 has ethernet and parallel port for the G540 (you need to build your own enclosure and supply 5v)
Gecko G540

I got the PC off Amazon:
www.amazon.com/dp/B0DGQ1P667?ref=ppx_yo2..._fed_asin_title&th=1
described as:
Mini PC Alder Lake-Ν95 (up to 3.4GHz) 4 Cores 4 Threads, Mini Computers 8GB DDR5 256GB M.2 SSD, Mini PC Dual Lan Support

Here are my somewhat cryptic notes about the configuration process. It's basically an assembly of techniques from other threads on this forum. I changed the IP address of the card from the default, but in hindsight I don't think that was really necessary.

Install linuxcnc from USB stick

Disable Turbo mode in BIOS (not sure this is really necessary)

(Note: there is no hyperthreading option in this particular machine)

Change mesa card jumper for "static IP from EEPROM"

edit /etc/network/interfaces to add static address for the card:
auto enp2s0
  iface enp2s0 inet static
    address 10.10.10.11
    netmask 255.255.255.0

sudo mesaflash --device 7I92T --addr 10.10.10.10 --write 7i92t_g540d.bin

change grub:
  isolcpus=2,3

===== At this point I was getting network timeouts. The fix for this has been posted on this forum, and is as follows: ============

Because of network latency issues it is necessary to install the dkms driver per this thread:
docs.google.com/document/d/1jeV_4VKzVmOI...ading=h.macj649sy0yq
Open a terminal window and Type the following lines: 
sudo apt update 
sudo dpkg -P raspi-firmware
sudo apt dist-upgrade
Note that the second line (sudo dpkg …) removes firmware for the raspberry pi incorrectly installed by Debian and is a bug out of our control

Type:
sudo apt update
you need to install some utilities. Type:
sudo apt install build-essential dkms 
If you have not installed a later kernel as described above install linux-headers. Type:
sudo apt install linux-headers-$(uname -r)
sudo apt install r8168-dkms 

Rob
  • behai
  • behai
09 Apr 2025 07:43

4-Gang 1-Way Switch To Control 3 Power Supplies and a Router Independently

Category: Computers and Hardware

For a control box, the simplest way is to use a switched, EMI filtered and fused IEC connector
www.amazon.com.au/uxcell%C2%AE-IEC320-Sw...Filter/dp/B01FT0VRTS
You can see one of these used at the bottom right of my photo shared earlier.

But in your case, this won't work if you want to switch the router on and off because the current of the router will be too high for the typically 6 amp AC rating. Plus you would not want the electrically noisy router to be on the same side of the EMI filter as your electronics.

So in your case, I would use a fixed power lead and a cable gland to bring mains into the control box to two household breakers around 10 amp. One of these will protect your router circuit and the other your electronics, On the electronics circuit, immediately after the breaker, fit an EMI filter
www.jaycar.com.au/240v-ac-emi-filter/p/MS4001
Then connect all of your power supplies to the filtered mains power.

Filtering the power is really important to avoid spurious triggering from electrical noise. I learnt the hard way.

The next thing to work out is your estop. That's a bit tricky because you need to disable the router and the stepper motor power supply without using any relays that could fail. The estop needs to drop power to your router power and  stepper mains motion. You could use 2 phases of a 3 phase breaker but technically you would then need  to use a safety relay to be compliant.
Its probably acceptable to disable your stepper drivers using the enable pins on them that are usually left disconnected.


 

Thank you Rod,

I have been thinking about your advice on the router, I am trying something I don't have any practical knowledge of, I will just leave this one out, I will get the other three working, as my knowledge increase, I might rewire it again. This just my hobby project. But I really like learning electronics now, I have always been afraid of it.

You are right, the ENABLE pin on the CLT57T-V41 is left unconnected. During my learning of this driver, I used only the Raspberry Pi 4 and Python to program it, setting ENABLE to high disables the motor.

Best regards,

...behai.
 
  • rodw
  • rodw's Avatar
08 Apr 2025 09:31
Replied by rodw on topic LinuxCNC S-Curve Accelerations

LinuxCNC S-Curve Accelerations

Category: General LinuxCNC Questions

Glad you waded into the live build environment. Wait till I get you going on the raspberry Pi 
Sorry it failed for you.. I had plenty of that. The biggest issue I had was getting apt configured and installing the gpt keys.
Bjarne from Etherlab was a big help there.

I think Linuxcnc builds all of the Debs in the one go.
There was a really interesting pull request from Stefan Moller that has yet to be committed which installed the dependencies the Debian way (eg. Just using one command. It would have been nice to see it in the code by now.
Displaying 391 - 395 out of 395 results.
Time to create page: 0.667 seconds
Powered by Kunena Forum