Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Python Thread + Raspberry Pi

[es] :: Python :: Python Thread + Raspberry Pi

[ Pregleda: 5580 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Sajben
Sajben Darko
Padina

Član broj: 196164
Poruke: 41
*.ukf.sk.



+1 Profil

icon Python Thread + Raspberry Pi20.06.2014. u 11:44 - pre 119 meseci
Imam Raspberry Pi + PiFace Digital. Pravio sam neke jednostavne animacije sa LED diodama i kasnije došao na ideju da pokrenem dve animacije u isto vreme.

Code:

#!/usr/bin/python
import pifacedigitalio as p
import thread
import time
p.init()
pio=p.PiFaceDigital()

def led(a,b,c,d,delay):
  while True:
    p.digital_write(a,1)
    time.sleep(delay)
    p.digital_write(d,0)
    time.sleep(delay)
    p.digital_write(b,1)
    time.sleep(delay)
    p.digital_write(a,0)
    time.sleep(delay)
    p.digital_write(c,1)
    time.sleep(delay)
    p.digital_write(b,0)
    time.sleep(delay)
    p.digital_write(d,1)
    time.sleep(delay)
    p.digital_write(c,0)
    time.sleep(delay)

# Create two threads as follows
try:
    thread.start_new_thread( led, (0,1,2,3,0.1, ) )
    thread.start_new_thread( led, (7,6,5,4,0.1, ) )

except:
    print "Error: unable to start thread"

while 1:
        pass



Nakon pokretanja skripte desetak sekundi sve radi normalno a nakon toga nastaje problem, neke diode ostanu upaljene pa kasnie se iskljuce uglavnom ne radi kako treba.

Hvala unapred na pomoci.

Sajben
 
Odgovor na temu

HeYoo

Član broj: 72595
Poruke: 491



+1017 Profil

icon Re: Python Thread + Raspberry Pi20.06.2014. u 12:27 - pre 119 meseci
Da li si probao da povecas ili stavis razlicit delay?

Jsi li probao da lockujes thread kada ukljucujes/iskljucujes LED?
http://linuxgazette.net/107/pai.html
 
Odgovor na temu

Sajben
Sajben Darko
Padina

Član broj: 196164
Poruke: 41
*.ukf.sk.



+1 Profil

icon Re: Python Thread + Raspberry Pi20.06.2014. u 15:33 - pre 119 meseci
Hvala za savete.
Upravo sam ubacio zakljucavanje i radi ok s tim da se prvo izvrsava jedna nit (thread) a tek onda druga.

Jel moze da se namesti da se izvrsavaju (barem prividno) u isto vreme?
Sajben
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: Python Thread + Raspberry Pi20.06.2014. u 15:53 - pre 119 meseci
zaključavaj samo oko digital_write, ne oko celog bloka.
 
Odgovor na temu

Sajben
Sajben Darko
Padina

Član broj: 196164
Poruke: 41
*.ukf.sk.



+1 Profil

icon Re: Python Thread + Raspberry Pi20.06.2014. u 16:31 - pre 119 meseci
Ima puno koda ali radi ono što treba.

Hvala na pomoći.
Sajben
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: Python Thread + Raspberry Pi20.06.2014. u 20:38 - pre 119 meseci
Citat:
Sajben: Ima puno koda


Jebaga, izvuci taj blok (lock - digital_write - unlock - sleep) u posebnu funkciju pa neće biti puno koda.
 
Odgovor na temu

[es] :: Python :: Python Thread + Raspberry Pi

[ Pregleda: 5580 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.