<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.hentschel.net/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.hentschel.net/w/index.php?feed=atom&amp;namespace=0&amp;title=Special%3ANewPages</id>
		<title>Hentschel - New pages [en]</title>
		<link rel="self" type="application/atom+xml" href="http://www.hentschel.net/w/index.php?feed=atom&amp;namespace=0&amp;title=Special%3ANewPages"/>
		<link rel="alternate" type="text/html" href="http://www.hentschel.net/w/index.php?title=Special:NewPages"/>
		<updated>2026-04-26T16:11:13Z</updated>
		<subtitle>From Hentschel</subtitle>
		<generator>MediaWiki 1.23.15</generator>

	<entry>
		<id>http://www.hentschel.net/w/index.php?title=Fixing_mail</id>
		<title>Fixing mail</title>
		<link rel="alternate" type="text/html" href="http://www.hentschel.net/w/index.php?title=Fixing_mail"/>
				<updated>2020-02-14T20:38:34Z</updated>
		
		<summary type="html">&lt;p&gt;Thomas: Created page with &amp;quot;# restart mail&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# restart mail&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>	</entry>

	<entry>
		<id>http://www.hentschel.net/w/index.php?title=Mushroom_Ravioli_with_Fish</id>
		<title>Mushroom Ravioli with Fish</title>
		<link rel="alternate" type="text/html" href="http://www.hentschel.net/w/index.php?title=Mushroom_Ravioli_with_Fish"/>
				<updated>2020-02-14T01:55:14Z</updated>
		
		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* dry fish, salt/pepper + italian spice&lt;br /&gt;
* prepare ravioli to be ready with sauce&lt;br /&gt;
* sear fish in pan, flip, top with butter&lt;br /&gt;
* take from pan, keep warm&lt;br /&gt;
* in same pan, heat oil, add onions and garlic, slightly roast until translucent, add butter&lt;br /&gt;
* add white wine to pan, reduce&lt;br /&gt;
* add diced tomatoes, heat, salt, pepper&lt;br /&gt;
* add fish sauce or ravioli water&lt;br /&gt;
* drain ravioli, add to pan, coat with sauce&lt;br /&gt;
* add lemon juice&lt;br /&gt;
* cut fish, add to pan, coat, warm&lt;br /&gt;
* add basil&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>	</entry>

	<entry>
		<id>http://www.hentschel.net/w/index.php?title=Expensify_app</id>
		<title>Expensify app</title>
		<link rel="alternate" type="text/html" href="http://www.hentschel.net/w/index.php?title=Expensify_app"/>
				<updated>2019-12-10T22:41:49Z</updated>
		
		<summary type="html">&lt;p&gt;Thomas: Created page with &amp;quot;installed on '''bbb01'''  === install node app + requirements === install node.js if required. Then:     sudo npm install express   sudo npm install morgan -S   sudo npm insta...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;installed on '''bbb01'''&lt;br /&gt;
&lt;br /&gt;
=== install node app + requirements ===&lt;br /&gt;
install node.js if required. Then: &lt;br /&gt;
&lt;br /&gt;
  sudo npm install express&lt;br /&gt;
  sudo npm install morgan -S&lt;br /&gt;
  sudo npm install body-parser -S&lt;br /&gt;
  sudo npm install method-override -S&lt;br /&gt;
  sudo npm install request -S&lt;br /&gt;
  sudo npm install core-js -S&lt;br /&gt;
  sudo npm install regenerator-runtime -S&lt;br /&gt;
  sudo npm install exceljs -S&lt;br /&gt;
&lt;br /&gt;
=== PM2 ===&lt;br /&gt;
pm2 is the app manager used for the node.js app. It starts automatically with the default user account (not root)&lt;br /&gt;
* logging&lt;br /&gt;
  pm2 log --lines 600 &lt;br /&gt;
&lt;br /&gt;
* status &lt;br /&gt;
  pm2 status&lt;br /&gt;
&lt;br /&gt;
* initial start, or after removing app (don't do this if the app is already installed and running). In the app directory:&lt;br /&gt;
  pm2 start server.js --watch --ignore-watch=&amp;quot;node_modules&amp;quot;&lt;br /&gt;
  pm2 save&lt;br /&gt;
&lt;br /&gt;
* removing app from pm2&lt;br /&gt;
   pm2 delete server&lt;br /&gt;
&lt;br /&gt;
* reloading app&lt;br /&gt;
  pm2 reload server&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>	</entry>

	<entry>
		<id>http://www.hentschel.net/w/index.php?title=Beaglebone_black</id>
		<title>Beaglebone black</title>
		<link rel="alternate" type="text/html" href="http://www.hentschel.net/w/index.php?title=Beaglebone_black"/>
				<updated>2019-11-21T00:33:35Z</updated>
		
		<summary type="html">&lt;p&gt;Thomas: /* Networking */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Lam modified ==&lt;br /&gt;
* use 14400 as baud rate for FTDI; on Mac:&lt;br /&gt;
   screen /dev/cu.usbserial-FTFO858O 115200&lt;br /&gt;
* default login is debian:&lt;br /&gt;
   debian:temppwd&lt;br /&gt;
* '''P9 header is off by one, counting from 1.''' There is a extra GND row in position 3-4 ?&lt;br /&gt;
&lt;br /&gt;
=== Time ===&lt;br /&gt;
* change time zone: '''sudo timedatectl set-timezone America/Los_Angeles'''&lt;br /&gt;
* install ntp: '''sudo apt-get install ntp'''&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
* the ethernet interfaces don't appear to work. Using Edimax wifi&lt;br /&gt;
* set manually &lt;br /&gt;
  sudo ifconfig eth0 192.168.1.16 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
* permanent in in /etc/network/interfaces&lt;br /&gt;
 allow-hotplug wlan0&lt;br /&gt;
 iface wlan0 inet static&lt;br /&gt;
    address 192.168.1.16&lt;br /&gt;
    netmask 255.255.255.252&lt;br /&gt;
    network 192.168.1.0&lt;br /&gt;
    gateway 192.168.1.1&lt;br /&gt;
    dns-nameserver 192.168.1.2&lt;br /&gt;
    dns-search home.hentschel.net&lt;br /&gt;
    wpa-ssid hentschel&lt;br /&gt;
    wpa-psk bb78bbaa6a8425255774e5d49b51b4038d55c0c3e493334abbecec31c27096b6&lt;br /&gt;
&lt;br /&gt;
* disable and remove connman, use standard resolv.conf&lt;br /&gt;
  sudo systemctl disable connman&lt;br /&gt;
  sudo systemctl stop connman&lt;br /&gt;
  sudo apt remove connman&lt;br /&gt;
&lt;br /&gt;
resolv.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.1.2&lt;br /&gt;
search home.hentschel.net&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== reset switch ===&lt;br /&gt;
* BBB: &lt;br /&gt;
  P8, GPIO 67 &amp;lt;-&amp;gt; GND&lt;br /&gt;
* RasPi&lt;br /&gt;
  GPIO 4 &amp;lt;-&amp;gt; GND&lt;br /&gt;
&lt;br /&gt;
=== install software ===&lt;br /&gt;
==== Raspberry Pi ====&lt;br /&gt;
  sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y&lt;br /&gt;
  sudo pip install Adafruit_GPIO&lt;br /&gt;
  sudo pip install Adafruit_SSD1306&lt;br /&gt;
  sudo apt-get install python-pil&lt;br /&gt;
  sudo pip install gpiozero&lt;br /&gt;
  sudo pip install psutil&lt;br /&gt;
&lt;br /&gt;
also enable i2c in /boot/config.txt&lt;br /&gt;
  dtparam=i2c_arm=on&lt;br /&gt;
&lt;br /&gt;
==== BBB ====&lt;br /&gt;
  sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y&lt;br /&gt;
  sudo pip install Adafruit_GPIO&lt;br /&gt;
  sudo pip install Adafruit_SSD1306&lt;br /&gt;
  sudo apt-get install python-pil&lt;br /&gt;
  sudo pip install gpiozero&lt;br /&gt;
  sudo apt-get install psutil&lt;br /&gt;
&lt;br /&gt;
=== enable systemd service ===&lt;br /&gt;
==== Raspberry Pi ====&lt;br /&gt;
* create file '''/lib/systemd/system/lcd.service''' with following content&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=LCD Display Service&lt;br /&gt;
After=multi-user.target&lt;br /&gt;
Conflicts=getty@tty1.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
ExecStart=/usr/bin/python /home/pi/script/lcd/lcd.py&lt;br /&gt;
StandardInput=tty-force&lt;br /&gt;
 &lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== BBB ====&lt;br /&gt;
* create file '''/lib/systemd/system/lcd.service''' with following content&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=LCD Display Service&lt;br /&gt;
Wants=network.target&lt;br /&gt;
After=network.target&lt;br /&gt;
Conflicts=getty@tty1.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
ExecStart=/home/thomas/script/lcd/lcd.py&lt;br /&gt;
StandardInput=tty-force&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=3&lt;br /&gt;
User=root&lt;br /&gt;
Group=root&lt;br /&gt;
 &lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== for all systems ====&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl enable lcd.service&lt;br /&gt;
  sudo systemctl start lcd.service&lt;br /&gt;
&lt;br /&gt;
=== lcd + button script ===&lt;br /&gt;
==== Raspi ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
&lt;br /&gt;
import time&lt;br /&gt;
import Adafruit_GPIO.SPI as SPI&lt;br /&gt;
import Adafruit_GPIO.GPIO as GPIO&lt;br /&gt;
import Adafruit_SSD1306&lt;br /&gt;
from PIL import Image&lt;br /&gt;
from PIL import ImageDraw&lt;br /&gt;
from PIL import ImageFont&lt;br /&gt;
import subprocess&lt;br /&gt;
import socket&lt;br /&gt;
import psutil&lt;br /&gt;
import os&lt;br /&gt;
&lt;br /&gt;
from gpiozero import CPUTemperature&lt;br /&gt;
from datetime import datetime&lt;br /&gt;
&lt;br /&gt;
button_off = 4&lt;br /&gt;
gpio = GPIO.get_platform_gpio()&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
  try:&lt;br /&gt;
    gpio.setup(button_off, GPIO.IN, GPIO.PUD_UP)&lt;br /&gt;
    button_oldstate = gpio.input(button_off)&lt;br /&gt;
    #&lt;br /&gt;
    RST = 0&lt;br /&gt;
    #&lt;br /&gt;
    disp = Adafruit_SSD1306.SSD1306_128_32(rst=RST)&lt;br /&gt;
    disp.begin()&lt;br /&gt;
    disp.clear()&lt;br /&gt;
    disp.display()&lt;br /&gt;
    #&lt;br /&gt;
    width = disp.width&lt;br /&gt;
    height = disp.height&lt;br /&gt;
    #&lt;br /&gt;
    image1 = Image.new('1', (width, height))&lt;br /&gt;
    draw = ImageDraw.Draw(image1)&lt;br /&gt;
    draw.rectangle((0,0,width,height), outline=0, fill=0)&lt;br /&gt;
    #&lt;br /&gt;
    padding = -2&lt;br /&gt;
    top = padding&lt;br /&gt;
    #&lt;br /&gt;
    bottom = height-padding&lt;br /&gt;
    x = 0&lt;br /&gt;
    font = ImageFont.load_default()&lt;br /&gt;
    #&lt;br /&gt;
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)&lt;br /&gt;
    s.connect((&amp;quot;192.168.1.1&amp;quot;, 80))&lt;br /&gt;
    hostname = socket.gethostname()&lt;br /&gt;
    ip = s.getsockname()[0]&lt;br /&gt;
    firstline = ip + &amp;quot; &amp;quot; + hostname&lt;br /&gt;
    #&lt;br /&gt;
    while True:&lt;br /&gt;
      time.sleep(1)&lt;br /&gt;
      #&lt;br /&gt;
      image1 = Image.new('1', (width, height))&lt;br /&gt;
      draw = ImageDraw.Draw(image1)&lt;br /&gt;
      draw.rectangle((0,0,width,height), outline=0, fill=0)&lt;br /&gt;
      cputemp = CPUTemperature()&lt;br /&gt;
      memstr = '{0: &amp;gt;5}'.format(str(int(psutil.virtual_memory().percent))) + &amp;quot;%|&amp;quot; &lt;br /&gt;
      statvfs = os.statvfs('/')&lt;br /&gt;
      disktotal = statvfs.f_frsize * statvfs.f_blocks     # Size of filesystem in bytes&lt;br /&gt;
      diskfree = statvfs.f_frsize * statvfs.f_bavail     # Number of free bytes that ordinary users&lt;br /&gt;
      diskpercent = round((disktotal - diskfree) * 100.0 / float(disktotal),0)&lt;br /&gt;
      diskstr = 'SD:' + '{0: &amp;gt;3}'.format(str(int(diskpercent))) + &amp;quot;%&amp;quot; &lt;br /&gt;
      now = datetime.now()&lt;br /&gt;
      tempstr ='{0: &amp;gt;5}'.format(str(round(cputemp.temperature,))) + u&amp;quot;\u00b0&amp;quot; + &amp;quot;C|&amp;quot;&lt;br /&gt;
      cpustr = '{0: &amp;gt;6}'.format(str(round(psutil.cpu_percent(),1))) + &amp;quot;%&amp;quot;&lt;br /&gt;
      secondline = &amp;quot;CPU:&amp;quot; + tempstr + cpustr&lt;br /&gt;
      thirdline = &amp;quot;MEM: &amp;quot; + memstr + diskstr&lt;br /&gt;
      fourthline = now.strftime(&amp;quot;%d/%m/%Y %H:%M:%S&amp;quot;)&lt;br /&gt;
      disp.clear()&lt;br /&gt;
      draw.text((x, top),       firstline,  font=font, fill=255)&lt;br /&gt;
      draw.text((x, top+8),     secondline, font=font, fill=255)&lt;br /&gt;
      draw.text((x, top+16),    thirdline,  font=font, fill=255)&lt;br /&gt;
      draw.text((x, top+25),    fourthline, font=font, fill=255)&lt;br /&gt;
      disp.image(image1)&lt;br /&gt;
      disp.display()&lt;br /&gt;
      #&lt;br /&gt;
      # &lt;br /&gt;
      button_state = gpio.input(button_off)&lt;br /&gt;
      if( button_state != button_oldstate ):&lt;br /&gt;
        if( button_state ):&lt;br /&gt;
          print(&amp;quot;Button OFF&amp;quot;)&lt;br /&gt;
        else:&lt;br /&gt;
          print(&amp;quot;Button ON -&amp;gt; reboot&amp;quot;)&lt;br /&gt;
          disp.clear()&lt;br /&gt;
          image1 = Image.new('1', (width, height))&lt;br /&gt;
          draw = ImageDraw.Draw(image1)&lt;br /&gt;
          draw.rectangle((0,0,width,height), outline=0, fill=0)&lt;br /&gt;
          draw.text((x, top + 8), &amp;quot;Rebooting...&amp;quot;,  font=font, fill=255)&lt;br /&gt;
          disp.image(image1)&lt;br /&gt;
          disp.display()&lt;br /&gt;
          os.system(&amp;quot;reboot now&amp;quot;)&lt;br /&gt;
          # exit()&lt;br /&gt;
        button_oldstate = button_state&lt;br /&gt;
      # &lt;br /&gt;
      # &lt;br /&gt;
  except Exception as e:&lt;br /&gt;
    print(&amp;quot;LCD Error: %s&amp;quot;  % str(e) )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== BBB ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
&lt;br /&gt;
import time&lt;br /&gt;
import Adafruit_BBIO.SPI as SPI&lt;br /&gt;
import Adafruit_BBIO.GPIO as GPIO&lt;br /&gt;
import Adafruit_SSD1306&lt;br /&gt;
from PIL import Image&lt;br /&gt;
from PIL import ImageDraw&lt;br /&gt;
from PIL import ImageFont&lt;br /&gt;
import subprocess&lt;br /&gt;
import socket&lt;br /&gt;
import psutil&lt;br /&gt;
import os&lt;br /&gt;
&lt;br /&gt;
from gpiozero import CPUTemperature&lt;br /&gt;
from datetime import datetime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
button_off = &amp;quot;P8_8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
  try:&lt;br /&gt;
    GPIO.setup(button_off, GPIO.IN, GPIO.PUD_UP)&lt;br /&gt;
    button_oldstate = GPIO.input(button_off)&lt;br /&gt;
    # BBB&lt;br /&gt;
    RST = 'P9_12'&lt;br /&gt;
    disp = Adafruit_SSD1306.SSD1306_128_32(rst=RST, i2c_bus=2)&lt;br /&gt;
    # Raspi&lt;br /&gt;
    # RST = 0&lt;br /&gt;
    # disp = Adafruit_SSD1306.SSD1306_128_32(rst=None)&lt;br /&gt;
    disp.begin()&lt;br /&gt;
    disp.clear()&lt;br /&gt;
    disp.display()&lt;br /&gt;
    #&lt;br /&gt;
    width = disp.width&lt;br /&gt;
    height = disp.height&lt;br /&gt;
    #&lt;br /&gt;
    image1 = Image.new('1', (width, height))&lt;br /&gt;
    draw = ImageDraw.Draw(image1)&lt;br /&gt;
    draw.rectangle((0,0,width,height), outline=0, fill=0)&lt;br /&gt;
    #&lt;br /&gt;
    padding = -2&lt;br /&gt;
    top = padding&lt;br /&gt;
    bottom = height-padding&lt;br /&gt;
    x = 0&lt;br /&gt;
    font = ImageFont.load_default()&lt;br /&gt;
    #&lt;br /&gt;
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)&lt;br /&gt;
    s.connect((&amp;quot;192.168.1.1&amp;quot;, 80))&lt;br /&gt;
    hostname = socket.gethostname()&lt;br /&gt;
    ip = s.getsockname()[0]&lt;br /&gt;
    firstline = ip + &amp;quot; &amp;quot; + hostname&lt;br /&gt;
    #&lt;br /&gt;
    while True:&lt;br /&gt;
      time.sleep(1)&lt;br /&gt;
      # &lt;br /&gt;
      image1 = Image.new('1', (width, height))&lt;br /&gt;
      draw = ImageDraw.Draw(image1)&lt;br /&gt;
      draw.rectangle((0,0,width,height), outline=0, fill=0)&lt;br /&gt;
      # cputemp = CPUTemperature()&lt;br /&gt;
      memstr = '{0: &amp;gt;5}'.format(str(int(psutil.virtual_memory().percent))) + &amp;quot;%|&amp;quot; &lt;br /&gt;
      statvfs = os.statvfs('/')&lt;br /&gt;
      disktotal = statvfs.f_frsize * statvfs.f_blocks     # Size of filesystem in bytes&lt;br /&gt;
      diskfree = statvfs.f_frsize * statvfs.f_bavail     # Number of free bytes that ordinary users&lt;br /&gt;
      diskpercent = round((disktotal - diskfree) * 100.0 / float(disktotal),0)&lt;br /&gt;
      diskstr = 'SD:' + '{0: &amp;gt;3}'.format(str(int(diskpercent))) + &amp;quot;%&amp;quot; &lt;br /&gt;
      now = datetime.now()&lt;br /&gt;
      # tempstr ='{0: &amp;gt;5}'.format(str(round(cputemp.temperature,))) + u&amp;quot;\u00b0&amp;quot; + &amp;quot;C|&amp;quot;&lt;br /&gt;
      tempstr = &amp;quot;       |&amp;quot;&lt;br /&gt;
      cpustr = '{0: &amp;gt;6}'.format(str(round(psutil.cpu_percent(),1))) + &amp;quot;%&amp;quot;&lt;br /&gt;
      secondline = &amp;quot;CPU:&amp;quot; + tempstr + cpustr&lt;br /&gt;
      thirdline = &amp;quot;MEM: &amp;quot; + memstr + diskstr&lt;br /&gt;
      fourthline = now.strftime(&amp;quot;%d/%m/%Y %H:%M:%S&amp;quot;)&lt;br /&gt;
      disp.clear()&lt;br /&gt;
      draw.text((x, top),       firstline,  font=font, fill=255)&lt;br /&gt;
      draw.text((x, top+8),     secondline, font=font, fill=255)&lt;br /&gt;
      draw.text((x, top+16),    thirdline,  font=font, fill=255)&lt;br /&gt;
      draw.text((x, top+25),    fourthline, font=font, fill=255)&lt;br /&gt;
      disp.image(image1)&lt;br /&gt;
      disp.display()&lt;br /&gt;
      #&lt;br /&gt;
      # &lt;br /&gt;
      button_state = GPIO.input(&amp;quot;P8_8&amp;quot;)&lt;br /&gt;
      if( button_state != button_oldstate ):&lt;br /&gt;
        if( button_state ):&lt;br /&gt;
          print(&amp;quot;Button OFF&amp;quot;)&lt;br /&gt;
        else:&lt;br /&gt;
          print(&amp;quot;Button ON -&amp;gt; reboot&amp;quot;)&lt;br /&gt;
          disp.clear()&lt;br /&gt;
          image1 = Image.new('1', (width, height))&lt;br /&gt;
          draw = ImageDraw.Draw(image1)&lt;br /&gt;
          draw.rectangle((0,0,width,height), outline=0, fill=0)&lt;br /&gt;
          draw.text((x, top + 8), &amp;quot;Rebooting...&amp;quot;,  font=font, fill=255)&lt;br /&gt;
          disp.image(image1)&lt;br /&gt;
          disp.display()&lt;br /&gt;
          os.system(&amp;quot;reboot now&amp;quot;)&lt;br /&gt;
          # exit()&lt;br /&gt;
        button_oldstate = button_state&lt;br /&gt;
      # &lt;br /&gt;
      # &lt;br /&gt;
  except Exception as e:&lt;br /&gt;
    print(&amp;quot;LCD Error: %s&amp;quot;  % str(e) )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>	</entry>

	<entry>
		<id>http://www.hentschel.net/w/index.php?title=3D_Printing</id>
		<title>3D Printing</title>
		<link rel="alternate" type="text/html" href="http://www.hentschel.net/w/index.php?title=3D_Printing"/>
				<updated>2019-11-21T00:01:19Z</updated>
		
		<summary type="html">&lt;p&gt;Thomas: /* PLA settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== PLA settings ===&lt;br /&gt;
with new hot end:&amp;lt;br clear=both&amp;gt;&lt;br /&gt;
[[File:pla-settings-a.png|400px]]&amp;lt;br clear=both&amp;gt;&lt;br /&gt;
[[File:pla-settings-b.png|400px]]&amp;lt;br clear=both&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>	</entry>

	<entry>
		<id>http://www.hentschel.net/w/index.php?title=Flight_Simulator</id>
		<title>Flight Simulator</title>
		<link rel="alternate" type="text/html" href="http://www.hentschel.net/w/index.php?title=Flight_Simulator"/>
				<updated>2019-09-08T06:42:06Z</updated>
		
		<summary type="html">&lt;p&gt;Thomas: /* Avidyne Panel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=== Sim software ===&lt;br /&gt;
* [http://www.c74.net/xplane/_a_cirrus_sr2X.html Cirrus SR2x for X-Plane]&lt;br /&gt;
&lt;br /&gt;
=== Avidyne Panel ===&lt;br /&gt;
* Panels are 10.4&amp;quot;, 800x600 resolution, [https://www.amazon.com/Toguard-Portable-Monitor-1366x768-Raspberry/dp/B01BUZHLBY/ref=pd_lpo_sbs_147_t_1?_encoding=UTF8&amp;amp;refRID=CQBKPWRHQ8NVC009FRH6&amp;amp;th=1 possible candidate]&lt;br /&gt;
* [http://n927sf.com/downloads/files/Avidyne%20600-00142-000%20Rev05%20Entegra%20EXP%205000%20Cirrus%20Pilot's%20Guide.pdf PFD manual]&lt;br /&gt;
* [http://aacit.org/wp-content/uploads/2016/02/MFD.pdf MFD manual]&lt;br /&gt;
&lt;br /&gt;
=== ATC ===&lt;br /&gt;
* [https://www.pilotedge.net/pages/how-it-works PilotEdge]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>	</entry>

	</feed>