1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/liuliu9520-tinycom

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
tinycom_sf.py 2.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
liuyajun Отправлено 18.03.2020 09:03 17fe44d
#!/usr/bin/python
#
# tinycom_sf.py
#
# CMD: python tinycom_sf.py "send_file_path" on/off(1: start rx thread)
# --powered by liuyajun(20200316)
#################################################################
import os,sys
import serial
import threading
import serial
import linecache
from tqdm import tqdm
from pathlib import Path
curpath = sys.path[0];
print("Tinycom-sf>: ###########################################################");
print("Tinycom-sf>: # Tinycom-sf");
print("Tinycom-sf>: #");
print("Tinycom-sf>: # ctrl+c / -ec / -exit: terminate downloading");
print("Tinycom-sf>: ###########################################################");
###
devstr = linecache.getline(curpath + '/tinycomcfg', 1);
devstr = devstr.strip("\n");
dev = Path(devstr);
if not(dev.exists()):
print("\033[0;37;41m\nplz connect the SCI...");
print devstr;
print('\033[0m');
exit();
###
spdstr = linecache.getline(curpath + '/tinycomcfg', 2);
spdstr = spdstr.strip("\n");
SERIAL_COM = serial.Serial(devstr, spdstr, timeout=0.2);
###
#sfstr = linecache.getline(curpath + '/tinycom_sendfile_tmp', 1);
#sfstr = sfstr.strip("\n");
sfstr = Path(sys.argv[1]);
sf = Path(sfstr)
if not(sf.is_file()):
print("\033[0;37;41m\nthe file does not exist!");
print sfstr;
print('\033[0m');
exit();
###
def com_rx():
while True:
rcvstr = SERIAL_COM.readline();
rcvstr = rcvstr.strip("\n");
if len(rcvstr):
print "Tinycom-sf-RX>: ",rcvstr;
###
if sys.argv[2] == "on":
rxthread=threading.Thread(target=com_rx);
rxthread.start();
###
if __name__ == '__main__':
try:
# tinycom_sendfile_tmp
print "Tinycom-sf>: ",devstr,spdstr,sfstr;
frs = open(str(sfstr));
rls = frs.readlines();
print("\033[4;30;47mdownloading...");
pbar = tqdm(total=len(rls));
for i in rls:
SERIAL_COM.write(i);
pbar.update( 1 );
frs.close();
print("\nok!");
print('\033[0m');
if sys.argv[2] == "on":
while True:
cmdstr = raw_input("Tinycom-sf-TX>: ");
cmdstr = cmdstr.strip("\n");
if cmdstr == "-ec":
rxthread._Thread__stop();
break;
if cmdstr == "-exit":
rxthread._Thread__stop();
break;
SERIAL_COM.write(cmdstr);
except:
print('\033[0m');
if sys.argv[2] == "on":
rxthread._Thread__stop();
print "# END-tinycom-sf"
exit();

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/liuliu9520-tinycom.git
git@api.gitlife.ru:oschina-mirror/liuliu9520-tinycom.git
oschina-mirror
liuliu9520-tinycom
liuliu9520-tinycom
master