User manual

54
Statistični modul os.statvfs() iz knjižnice os nudi različne statistične informacije o
datotečnem sistemu. Te informacije se znotraj neskončne zanke pri vsakem prehodu zanke
na novo zapišejo kot objekt v spremenljivko s.
f = s.f_bsize * s.f_bavail / 1048576
Sedaj metoda s.f_bsize nudi velikost pomnilniškega bloka v bajtih,. s.f_bavail pa
navaja število nezasedenih blokov. Proizvod iz teh dveh vrednosti nato navaja število
nezasedenih bajtov, ki se pri tem deli z 1.048.576, rezultat pa je število nezasedenih
megabajtov. Rezultat se shrani v spremenljivki f.
if f < g1:
x = "100"
Če je nezaseden pomnilniški prostor manjši od prve mejne vrednosti (1 MB), se zaporedje
znakov x, ki navaja vzorec vklopljenih LED, nastavi na "100". Prva, rdeča LED mora svetiti.
Vzorec je enostavna veriga znakov iz številk 0 in 1.
elif f < g2:
x = "110"
elif f < g3:
x = "010"
elif f < g4:
x = "011"
S pomočjo poizvedb elif poizvedujete po nadaljnjih mejnih vrednostih, v skladu s tem pa
se nastavijo LED-vzorci, ko prvo vprašanje ne drži, torej ko je na voljo več kot 1 MB
nezasedenega pomnilniškega prostora.
else:
x = "001"
Če nobena izmed poizvedb ne drži, torej je na voljo več nezasedenega pomnilniškega
prostora, kot navaja najvišja mejna vrednost, se LED-vzorec nastavi na "001". Zadnja,
zelena LED mora svetiti.
for i in range(3):
GPIO.output(LED[i], int(x[i]))
Zanka določa vrednosti na GPIO-izhodih za tri LED. Vse LED zaporedoma dobijo dodeljeno
številsko vrednost posamezne številke iz zaporedja znakov, 0 ali 1. Za deaktivacijo ali
aktivacijo GPIO-izhodov se lahko uporabljajo vrednosti 0 in 1 prav tako kot False in True.
Funkcija int() iz znaka izračuna njegovo številsko vrednost. Zančni števec i prebere znak
iz določenega položaja vzorčne verige znakov.
time.sleep(1.0)
Program čaka 1 sekundo do naslednjega prehoda zanke. Za varčevanje z zmogljivostjo
lahko določite tudi daljše čakalne čase, po poteku katerih se naj izračun nezasedenega
pomnilniškega prostora ponovi.
Na tem mestu se zanka while...True začne od začetka. Če uporabnik vmes pritisne
kombinacijo tipk [Ctrl]+[C], se sproži KeyboardInterrupt in zapusti zanko. Nato se
GPIO-vrata zaprejo, s čimer se LED izklopijo.