What I missed so far:
For reading the temperature, I am using an Arduino UNO board which was on already on my electronic scrap bin.
This working better than expected.
Wiring and temperature-read-routine:
www.derpade.de/tutorial-arduino-cactus-n...k-temperatur-sensor/
Configuration on operationg system level (run as user "root"):
adduser {YOUR_USERNAME_HERE} dialout
apt-get install gcc-avr avr-libc avrdude
apt-get install python-pip python python-serial
python -c 'import serial'
Merge this to your {machine-name}.ini:
[RS274NGC]
PARAMETER_FILE = linuxcnc.var
SUBROUTINE_PATH = {FOLDERNAME_HERE}/SUBROUTINES/
USER_M_PATH = {FOLDERNAME_HERE}/CUSTOM/
HAL-Code (not very nice yet! Filename="USB-Thermometer.py" define script as executable:
Code:
LinuxCNC HAL:
#!/usr/bin/python
import serial
import hal
import sys
import time
PORT = "/dev/ttyACM0"
ser = serial.Serial(PORT, 115200, timeout=15)
c = hal.component("usb-thermometer")
c.newpin("t0-cmd", hal.HAL_FLOAT, hal.HAL_IN)
c.newpin("t0", hal.HAL_FLOAT, hal.HAL_OUT)
time.sleep(1)
c.ready()
t0cmd = c['t0-cmd']
t0cmdOld = 0;
try:
while 1:
time.sleep(0.25)
t0cmd = c['t0-cmd']
if t0cmd != t0cmdOld:
t0cmdOld = t0cmd;
ser.write("T0");
while ser.inWaiting():
line = ser.readline();
if(line[:3] == "T0="):
c['t0'] = float(line[3:])
except KeyboardInterrupt:
ser.write("-P;");
raise SystemExit
Try to activate Arduino-Module now within {MACHINE_NAME}.ini :
###########################################################
# Arduino Temperature
###########################################################
loadusr -i ./USB-Thermometer.py