Hallo,
nun mal mit unserem offizellen Forenaccount.
Ich möchte gerne eine eigene Erweiterung schreiben, die einen Block erzeugt, mit dem ich Pins der 26poligen Steckerleiste prüfen und auf deren Level reagieren kann. Also sowas wie schon jetzt unter Input für die Tasten möglich ist: „Wenn Taste A gedrückt“
Ich würde also gerne einen Block haben: „Wenn Pin C4 auf High“.
Im Prinzip hat @klmi sowas schon in seiner ft Erweiterung gemacht: GitHub - MKleinSB/pxt-fischertechnik-calliope: MakeCode Extension for Calliope Mini Fischertechnikboard
Nur leider verstehe ich noch nicht, wieso der Code seiner Erweiterung bei einer Leveländerung an einem Pin ausgeführt wird. Also warum führt das Event dazu, das sein Code in OnPinReleased bzw. OnPinPressed ausgeführt wird. Wie und wo wird das gesteuert?
Außerdem ist mir nicht ganz klar, was die Nummern in der Enumeration von ftPins bedeuten:
const enum ftPins {
C16 = 9, //C16
C17 = 15, //C17
P1 = 7, //P1
P2 = 8, //P2
P0 = 19, //P0
P3 = 23, //P3
C4 = 10, //C4
C5 = 11, //C5
C6 = 17, //C6
C7 = 20, //C7
C8 = 21, //C8
C9 = 22, //C9
C10 = 16, //C10
C11 = 14, //C11
C12 = 13 //C12
}
Ich habe schon die Schaltpläne und Pinlisten durchgeforstet. Mir ist aber leider nicht klar geworden, was die Zuweisung von z.B. C16 = 9 zu bedeuten hat.
Mir ist schon klar, das sich dieses Problem mit vorhandenen Blöcken lösen lässt, aber ich würde gerne die Hintergründe zu den Events und Pins verstehen.
Kann mir hier bitte jemand weiterhelfen! Oder Links auf eine Doku geben, aus der das hervorgeht.
VG
Martin