Skip to content

Commit a0e57f3

Browse files
committed
Better Firmware version detection. Detect LAN mode while proxying. Get device_id from a better location
1 parent 8c03282 commit a0e57f3

File tree

5 files changed

+33
-9
lines changed

5 files changed

+33
-9
lines changed

files/4-rinkhals/chroot-start.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ mkdir -p /userdata/app/gk/printer_data
4545
umount /userdata/app/gk/printer_data 2> /dev/null
4646
mount --bind /home/rinkhals/printer_data /userdata/app/gk/printer_data
4747

48+
mkdir -p /userdata/app/gk/printer_data/gcodes
49+
umount /userdata/app/gk/printer_data/gcodes 2> /dev/null
50+
mount --bind /useremain/app/gk/gcodes /userdata/app/gk/printer_data/gcodes
51+
4852
kill_by_name moonraker.py
4953
HOME=/userdata/app/gk /usr/bin/python /usr/share/moonraker/moonraker/moonraker.py >> /moonraker.log &
5054
check_by_name moonraker.py

files/4-rinkhals/start.sh

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ echo " ██░░░░░░░░░░░░░░░░░░███
6161
echo " ██████████████████ ██ "
6262
echo
6363

64-
export KOBRA_VERSION=`cat /userdata/app/gk/version_log.txt | grep version | awk '{print $2}'`
64+
export KOBRA_VERSION=`cat /useremain/dev/version`
6565
export RINKHALS_VERSION=`cat .version`
6666
export RINKHALS_ROOT=`pwd`
6767

@@ -72,11 +72,17 @@ log "| Rinkhals root: $RINKHALS_ROOT"
7272
log " --------------------------------------------------"
7373
echo
7474

75-
if [[ "$KOBRA_VERSION" != "2.3.5.3" ]]; then
76-
log This Rinkhals version is only compatible with Kobra firmware 2.3.5.3, stopping startup
75+
if [ "$KOBRA_VERSION" != "2.3.5.3" ]; then
76+
log "This Rinkhals version is only compatible with Kobra firmware 2.3.5.3, stopping startup"
7777
exit 1
7878
fi
7979

80+
REMOTE_MODE=`cat /useremain/dev/remote_ctrl_mode`
81+
if [ "$REMOTE_MODE" != "lan" ]; then
82+
log "LAN mode is disabled, some functions might not work properly"
83+
fi
84+
85+
8086
export INTERPRETER=$RINKHALS_ROOT/lib/ld-linux-armhf.so.3
8187
touch /useremain/rinkhals/.disable-rinkhals
8288

@@ -182,6 +188,10 @@ mkdir -p /userdata/app/gk/printer_data
182188
umount /userdata/app/gk/printer_data 2> /dev/null
183189
mount --bind ./home/rinkhals/printer_data /userdata/app/gk/printer_data
184190

191+
mkdir -p /userdata/app/gk/printer_data/gcodes
192+
umount /userdata/app/gk/printer_data/gcodes 2> /dev/null
193+
mount --bind /useremain/app/gk/gcodes /userdata/app/gk/printer_data/gcodes
194+
185195
chmod +x chroot-start.sh
186196
chroot $(pwd) /bin/ash chroot-start.sh
187197

files/4-rinkhals/stop.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ function kill_by_name() {
1111

1212
if echo "$CMDLINE" | grep -q "${*}"; then
1313
log "Killing $PID ($CMDLINE)"
14-
kill $PID
14+
kill -9 $PID
1515
fi
1616
done
1717
}
@@ -32,6 +32,8 @@ kill_by_name moonraker-proxy.py
3232
kill_by_name nginx
3333
kill_by_name mjpg_streamer
3434

35+
sleep 5
36+
3537

3638
################
3739
log "> Cleaning chroot..."

files/4-rinkhals/usr/share/scripts/moonraker-proxy.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
PRINTER_ID = os.getenv('MOONRAKER_PROXY_PRINTER_ID')
2222
MQTT_USERNAME = os.getenv('MOONRAKER_PROXY_MQTT_USERNAME')
2323
MQTT_PASSWORD = os.getenv('MOONRAKER_PROXY_MQTT_PASSWORD')
24+
REMOTE_MODE = 'lan'
2425

2526
# Constants
2627
CORS_HEADERS = {
@@ -63,7 +64,7 @@ async def client_loop():
6364
if "method" in data:
6465
#print(data["method"])
6566

66-
if data["method"] == "printer.print.start":
67+
if data["method"] == "printer.print.start" and REMOTE_MODE == 'lan':
6768

6869
payload = """{{
6970
"type": "print",
@@ -118,20 +119,27 @@ async def start_server():
118119

119120
if __name__ == "__main__":
120121

122+
# We should use internal MQTT only if LAN mode is enabled
123+
with open('/useremain/dev/remote_ctrl_mode', 'r') as f:
124+
REMOTE_MODE = f.read().strip()
125+
121126
# Retrieve printer information
122-
if not PRINTER_ID or not MQTT_USERNAME or not MQTT_PASSWORD:
127+
if not MQTT_USERNAME or not MQTT_PASSWORD:
123128

124129
with open('/userdata/app/gk/config/device_account.json', 'r') as f:
125130
json_data = f.read()
126131
data = json.loads(json_data)
127132

128-
if not PRINTER_ID:
129-
PRINTER_ID = data['deviceId']
130133
if not MQTT_USERNAME:
131134
MQTT_USERNAME = data['username']
132135
if not MQTT_PASSWORD:
133136
MQTT_PASSWORD = data['password']
134137

138+
if not PRINTER_ID:
139+
140+
with open('/useremain/dev/device_id', 'r') as f:
141+
PRINTER_ID = f.read().strip()
142+
135143
# Start asynchonous server
136144
loop = asyncio.get_event_loop()
137145
loop.run_until_complete(start_server())

files/update.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ progress 0
6464

6565

6666
# Make sure we install on the right compatible version
67-
KOBRA_VERSION=`cat /userdata/app/gk/version_log.txt | grep version | awk '{print $2}'`
67+
KOBRA_VERSION=`cat /useremain/dev/version`
6868

6969
if [[ "$KOBRA_VERSION" != "2.3.5.3" ]]; then
7070
log "This Rinkhals version is only compatible with Kobra firmware 2.3.5.3, stopping installation"

0 commit comments

Comments
 (0)