Introduction
Introduction Statistics Contact Development Disclaimer Help
session.sh - brcon2025-hackathons - Bitreichcon 2025 Hackathons
git clone git://bitreich.org/brcon2025-hackathons git://enlrupgkhuxnvlhsf6lc3fz…
Log
Files
Refs
Tags
---
session.sh (2069B)
---
1 #!/bin/sh
2
3 SEEED_SCRIPTS=/var/tmp/seeed_scripts
4
5 echo "Welcome to the MicroPython Seeed farm!"
6
7 mkdir -p "$SEEED_SCRIPTS"
8
9 num=0
10
11 # Show the errors on the network directly instead of hiding them
12 exec 2>&1
13
14 while true; do
15 echo "What action do you want to run?"
16 for tty in /dev/ttyACM*; do
17 s="$SEEED_SCRIPTS/${tty#/dev/}.py"
18 i=${tty#/dev/ttyACM}
19
20 if [ -f "$s" ]; then
21 echo " [$i] select $tty (running $s)"
22 elif pgrep -fal "picocom --quiet --no-escape .* $tty"; t…
23 echo " [$i] select $tty (busy)"
24 else
25 echo " [$i] select $tty (free)"
26 if [ "$free" = "" ]; then free=$i; fi
27 fi
28 done
29 echo " [a] Auto-select a free board (for automation)"
30 echo " [l] Load a new script instead of the current one (if any…
31 echo " [p] Get a python prompt on the current script"
32 echo " [r] Reset the board and remove the script"
33 echo " [v] View the script"
34 echo " [q] Quit"
35 echo -n "seeedcluster[$num]>>> "
36 read action || exit
37
38 date +"%Y-%m-%d %H:%M:%S action '$action' on /dev/ttyACM$num" >>…
39
40 case $action in
41 ([0-9])
42 num=$action
43 ;;
44 (a)
45 num=$free
46 ;;
47 (l)
48 echo "Paste your script and finish it by a dot character…
49 script=$SEEED_SCRIPTS/ttyACM$num.py
50 sed '/^\.$/ { d; q; }' >$script
51 cp "$script" "$SEEED_SCRIPTS/archive_$(date +%Y_%m%d_%H%…
52
53 # Set the terminal in "paste" mode and load the script
54 mpremote connect "/dev/ttyACM$num" soft-reset run "$scri…
55 ;;
56 (p)
57 # Just connect without resetting
58 tr '\n' '\r' | picocom --imap="lfcrlf" --quiet --baud="1…
59 ;;
60 (e)
61 cat
62 ;;
63 (r)
64 # Just connect without resetting or sending a script to …
65 script=$SEEED_SCRIPTS/ttyACM$num.py
66 reset=$(printf '\x03''import machine; machine.reset()\r')
67 picocom --quiet --baud="115200" --initstring="$reset" --…
68 rm -f "$script"
69 ;;
70 (v)
71 script=$SEEED_SCRIPTS/ttyACM$num.py
72 cat "$script"
73 ;;
74 (q)
75 exit
76 ;;
77 (*)
78 echo "error: unknown command '$action' selected"
79 ;;
80 esac
81 done
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.