Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
revoxhere
GitHub Repository: revoxhere/duino-coin
Path: blob/master/Tools/upload-sketch.py
925 views
1
import sys
2
import subprocess
3
from configparser import ConfigParser
4
5
MINER_VER = '3.0' # Version number
6
RESOURCES_DIR = 'AVRMiner_' + str(MINER_VER) + '_resources'
7
8
config = ConfigParser()
9
10
print('Checking for arduino-cli…')
11
try:
12
subprocess.call(['arduino-cli'])
13
except Exception as e:
14
print('arduino-cli is not installed. Please follow this tutorial https://siytek.com/arduino-cli-raspberry-pi/ and then try the script again.')
15
sys.exit()
16
17
print('arduino-cli is installed…')
18
19
try:
20
print('Fetching config…')
21
config.read(RESOURCES_DIR + '/Miner_config.cfg')
22
avrport = config['arduminer']['avrport']
23
except Exception as e:
24
print(f'Cannot get config: {e}')
25
sys.exit()
26
27
try:
28
subprocess.call('arduino-cli compile --fqbn arduino:avr:uno Arduino_Code/Arduino_Code.ino'.split(' '))
29
except Exception as e:
30
print(f'Cannot compile: {e}')
31
sys.exit()
32
33
ports = avrport.split(',')
34
for port in ports:
35
print(f'Uploading to {port}')
36
try:
37
subprocess.call(f'arduino-cli upload -p {port} --fqbn arduino:avr:uno Arduino_Code/Arduino_Code.ino'.split(' '))
38
except Exception as e:
39
print(f'Error uploading to {port}: {e}')
40
sys.exit()
41
42