GPIO adinda Raspi kutuphanelesi var ve donanimla baglantili.
Windows ortaminda raspi icin kod yazarken bu kuphane olmadigi icin ilerleyemiyorum (kod yazamiyorum)
Bende sahte bir GPIO kutuphanesi yazmaya karar verdim. Boylece en azindan algoritmik kodlamalarima devam edebilecegim.
Asagidaki kutuphaneyi olusturdum her sey cok iyi gidiyordu fakat ana programda asagidaki satira
GPIO.setup(13, GPIO.IN, pull_up_down=GPIO.PUD_UP)
TypeError: setup() got an unexpected keyword argument 'pull_up_down' hatasi aliyorum.
Ana programda
GPIO.setup(11, GPIO.OUT)
GPIO.setup(13, GPIO.IN, pull_up_down=GPIO.PUD_UP)
setup fonksiyonu ust satirda 2 parametre ile alttaki satirda ise 3 parametre ile cagrilmis.
ustelik pull_up_down=GPIO.PUD_UP diye de bir esitlik yapilmis.
Sahte kutuphanede bu sorunu nasil asacagim.
Ana programdaki kodlarda hic bir sey degistirmeyecegim. Ne yapacaksam sahte kutuphanede yapmam lazim.
Amacim: Program kodlarimi sahte kutuphane olmadan raspberrye tasidigimda sorunsuz calisacak.
Windowsda ise kodlarimi algoritmik anlamda gelistirebilecegim, duzgun calismayacak fakat hata da vermeyecek.
class GPIO:
def BOARD(param):
return(1)
def setwarnings(param):
return()
def setup(self,p1,p2):
return
def OUT(self, p1, p2):
return
def IN(self, p1, p2):
return
def PUD_UP(self, p1, p2):
return
def setmode(param):
print("")
def setup(channel, state, initial=-1, pull_up_down=-1):
return
Boyle cozuldu.
Internette benim gibi ayni amacla yola cikanlar varmis.
https://stackoverflow.com/questions/5122465/can-i-fake-a-package-or-at-least-a-module-in-python-for-testing-purposes
Asagidaki kodlari GPIO.py icine kaydedip
Ana programda da
from GPIO import *
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(11,GPIO.OUT)
GPIO.setup(13,GPIO.IN, pull_up_down=GPIO.PUD_UP)
gibi satirlar kullansaniz da en azindan kodunuz calisiyor ve hata vermiyor.
Tabiki GPIO satirlari anlamsiz isler yapacak. Fakat GPIO fonksiyonlarinda return degerlerini kendiniz tanimlayarak kodlarinizi da test edebilirsiniz.
class GPIO:
def BOARD():
return(1)
def setwarnings(param):
return()
#def setup(self,p1):
# global pull_up_down
# return
def setup(channel, state, initial=-1, pull_up_down=-1):
return
def add_event_detect(channel, state, initial=-1, callback=-1):
return
def OUT(self, p1):
return 1,2
def IN(self, p1, p2):
global callback
callback=p2
return
def PUD_UP(self, p1, p2):
return
def setmode(param):
print("")
def RISING(param):
print("")
https://pypi.org/project/GPIOSimulator/#modal-close
Şöyle birşey var hocam ama kullanmadım.