threaded callback -ből a fő szál kilövése

Sziasztok!

RPi.GPIO modul felhasználásával szeretnék írni egy python szkriptet.
(http://sourceforge.net/p/raspberry-gpio-python/wiki/Inputs/)
Menne is szépen a dolog. Lehet, hogy tervezési hiba van a szkriptben, de az a helyzet állt elő, hogy egy ilyen "threaded callback" funkcióból ki kellene lőnöm a fő szálat és csak ennek a másodiknak kellene tovább futnia.
Ez kb úgy képzelhető el, mint egy szkripten belüli reset gomb, amit bármikor megnyomhatsz. Az eredeti szálat meg kell szakítani, alaphelyzetbe állítani pár dolgot, majd újraindítani egy belső funkciót.

Leegyszerűsített példa valahogy így:

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)

def start()
 GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
 GPIO.add_event_detect(17, GPIO.RISING, callback=reset_func, bouncetime=1500)
 while True:
  i=i+1
  print i

def reset_func()
 KILL_MAIN_THREAD
 i=0
 start

start

Hogyan tudom ezt megtenni?

Hozzászólások