Compare commits
No commits in common. "6bdda947ef2de8d6199fb27b0f09c4f392f38fd4" and "6046e76a85fb2dff4ce2909611d80f458114acd3" have entirely different histories.
6bdda947ef
...
6046e76a85
@ -16,7 +16,7 @@
|
|||||||
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
||||||
// "forwardPorts": [],
|
// "forwardPorts": [],
|
||||||
// Use 'postCreateCommand' to run commands after the container is created.
|
// Use 'postCreateCommand' to run commands after the container is created.
|
||||||
"postCreateCommand": "sudo apt-get update; sudo apt-get -y install python3-tk; pip3 install --user -r requirements.txt",
|
"postCreateCommand": "pip3 install --user -r requirements.txt",
|
||||||
// Configure tool-specific properties.
|
// Configure tool-specific properties.
|
||||||
// "customizations": {},
|
// "customizations": {},
|
||||||
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
|
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
|
||||||
|
1
requirements.txt
Normal file → Executable file
1
requirements.txt
Normal file → Executable file
@ -0,0 +1 @@
|
|||||||
|
tkinter
|
@ -7,11 +7,9 @@ import time
|
|||||||
is_pi = True
|
is_pi = True
|
||||||
try:
|
try:
|
||||||
import RPi.GPIO as GPIO
|
import RPi.GPIO as GPIO
|
||||||
os.environ["DISPLAY"] = ":0"
|
|
||||||
print("Detected Raspberry Pi!")
|
print("Detected Raspberry Pi!")
|
||||||
except (ModuleNotFoundError, TypeError, RuntimeError):
|
except RuntimeError:
|
||||||
print("Detected not a Raspberry Pi!")
|
print("Detected not a Raspberry Pi!")
|
||||||
os.environ["DISPLAY"] = "192.168.1.133:0"
|
|
||||||
is_pi = False
|
is_pi = False
|
||||||
|
|
||||||
|
|
||||||
@ -87,7 +85,7 @@ class PistonApp:
|
|||||||
self.manual_mode_var = tk.BooleanVar()
|
self.manual_mode_var = tk.BooleanVar()
|
||||||
self.manual_mode_var.set(False)
|
self.manual_mode_var.set(False)
|
||||||
self.manual_mode_checkbox = tk.Checkbutton(
|
self.manual_mode_checkbox = tk.Checkbutton(
|
||||||
self.root, text="Manual Mode", font=("Arial", 30), variable=self.manual_mode_var, command=self.toggle_manual_mode)
|
self.root, text="Minecraft Mode", font=("Arial", 30), variable=self.manual_mode_var, command=self.toggle_manual_mode)
|
||||||
self.manual_mode_checkbox.pack()
|
self.manual_mode_checkbox.pack()
|
||||||
|
|
||||||
self.next_button = tk.Button(
|
self.next_button = tk.Button(
|
||||||
@ -139,7 +137,6 @@ class PistonApp:
|
|||||||
self.canvas.coords(self.connecting_rod, px, py, px2, py2)
|
self.canvas.coords(self.connecting_rod, px, py, px2, py2)
|
||||||
|
|
||||||
def animate_downstroke(self):
|
def animate_downstroke(self):
|
||||||
|
|
||||||
self.canvas.move(self.piston, 0, self.stroke_length)
|
self.canvas.move(self.piston, 0, self.stroke_length)
|
||||||
if self.stroke == 1:
|
if self.stroke == 1:
|
||||||
self.canvas.itemconfig(self.piston, fill='blue')
|
self.canvas.itemconfig(self.piston, fill='blue')
|
||||||
@ -152,7 +149,6 @@ class PistonApp:
|
|||||||
self.stroke += 1
|
self.stroke += 1
|
||||||
self.rotate_crankshaft()
|
self.rotate_crankshaft()
|
||||||
self.last_stroke = 'down'
|
self.last_stroke = 'down'
|
||||||
|
|
||||||
if self.manual_mode:
|
if self.manual_mode:
|
||||||
self.next_button.config(state='normal')
|
self.next_button.config(state='normal')
|
||||||
self.canvas.update()
|
self.canvas.update()
|
||||||
@ -180,8 +176,6 @@ class PistonApp:
|
|||||||
self.next_button.config(state='normal')
|
self.next_button.config(state='normal')
|
||||||
self.canvas.update()
|
self.canvas.update()
|
||||||
perform_movement_operation()
|
perform_movement_operation()
|
||||||
time.sleep(self.delay/1000)
|
|
||||||
|
|
||||||
self.canvas.update()
|
self.canvas.update()
|
||||||
self.stroke_label.update()
|
self.stroke_label.update()
|
||||||
|
|
||||||
|
@ -1,76 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
### BEGIN INIT INFO
|
|
||||||
# Provides: exampledaemon
|
|
||||||
# Required-Start: $local_fs $network $syslog
|
|
||||||
# Required-Stop: $local_fs $network $syslog
|
|
||||||
# Default-Start: 2 3 4 5
|
|
||||||
# Default-Stop: 0 1 6
|
|
||||||
# Short-Description: Example
|
|
||||||
# Description: Example start-stop-daemon - Debian
|
|
||||||
### END INIT INFO
|
|
||||||
|
|
||||||
NAME="Piston Service"
|
|
||||||
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
|
|
||||||
APPDIR="/root"
|
|
||||||
APPBIN="/root/S99piston"
|
|
||||||
APPARGS=""
|
|
||||||
USER="root"
|
|
||||||
GROUP="root"
|
|
||||||
|
|
||||||
# Include functions
|
|
||||||
set -e
|
|
||||||
. /lib/lsb/init-functions
|
|
||||||
|
|
||||||
start() {
|
|
||||||
printf "Starting '$NAME'... "
|
|
||||||
start-stop-daemon --start --chuid "$USER:$GROUP" --background --make-pidfile --pidfile /var/run/$NAME.pid --chdir "$APPDIR" --exec "$APPBIN" -- $APPARGS || true
|
|
||||||
printf "done\n"
|
|
||||||
}
|
|
||||||
|
|
||||||
#We need this function to ensure the whole process tree will be killed
|
|
||||||
killtree() {
|
|
||||||
local _pid=$1
|
|
||||||
local _sig=${2-TERM}
|
|
||||||
for _child in $(ps -o pid --no-headers --ppid ${_pid}); do
|
|
||||||
killtree ${_child} ${_sig}
|
|
||||||
done
|
|
||||||
kill -${_sig} ${_pid}
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
printf "Stopping '$NAME'... "
|
|
||||||
[ -z `cat /var/run/$NAME.pid 2>/dev/null` ] || \
|
|
||||||
while test -d /proc/$(cat /var/run/$NAME.pid); do
|
|
||||||
killtree $(cat /var/run/$NAME.pid) 15
|
|
||||||
sleep 0.5
|
|
||||||
done
|
|
||||||
[ -z `cat /var/run/$NAME.pid 2>/dev/null` ] || rm /var/run/$NAME.pid
|
|
||||||
printf "done\n"
|
|
||||||
}
|
|
||||||
|
|
||||||
status() {
|
|
||||||
status_of_proc -p /var/run/$NAME.pid "" $NAME && exit 0 || exit $?
|
|
||||||
}
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
start)
|
|
||||||
start
|
|
||||||
;;
|
|
||||||
stop)
|
|
||||||
stop
|
|
||||||
;;
|
|
||||||
restart)
|
|
||||||
stop
|
|
||||||
start
|
|
||||||
;;
|
|
||||||
status)
|
|
||||||
status
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: $NAME {start|stop|restart|status}" >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit 0
|
|
Loading…
x
Reference in New Issue
Block a user