Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => Python => Konuyu başlatan: z - 07 Mayıs 2020, 04:32:36

Başlık: Sahte kutuphane yapmak
Gönderen: z - 07 Mayıs 2020, 04:32:36
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("")
Başlık: Ynt: Sahte kutuphane yapmak
Gönderen: z - 07 Mayıs 2020, 05:35:28
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("")
Başlık: Ynt: Sahte kutuphane yapmak
Gönderen: muhittin_kaplan - 08 Mayıs 2020, 00:49:48
https://pypi.org/project/GPIOSimulator/#modal-close

Şöyle birşey var hocam ama kullanmadım.