Eingänge und Buttons
Der Baustein „IX“ ist für Eingänge vom Typ BOOL vorgesehen.
also Eingänge mit 1 Bit Datenbreite,
oder anders ausgedrückt: ein Schaltsignal das nur 2 Zustände kennt: 0 (Taster losgelassen) oder 1 (Taster gedrückt)
Eingänge:
INIT Service Initialization
muss beim Programmstart 1x aufgerufen werden. Wird in der Regel mit dem Ausgang „COLD“ des Bausteins „E_RESTART“ verbunden. Siehe auch: https://www.eclipse.org/4diac/en_help.php?helppage=html/4diacIDE/use4diacLocally.html und https://www.eclipse.org/4diac/en_help.php?helppage=html/parameters/parameters.html
REQ Service Request
wird nicht benötigt. Dieser Eingang kommt von alten Zeiten, als man die Eingänge noch pollen musste.
QI Event Input Qualifier
auf true setzen, damit dieser Baustein funktioniert.
PARAMS Service Parameters
leer lassen. (das ist mit dem FORTE-IO das wir benutzen nicht mehr verwendet)
Ausgänge:
INITO Initialization Confirm
wenn INIT aufgerufen wurde, und ausgeführt wurde wird das hier bekanntgegeben.
CNF Confirmation of Requested Service
wird nicht benötigt. Dieser Eingang kommt von alten Zeiten, als man die Eingänge noch pollen musste.
IND Indication from Resource
Dieser Ausgang meldet eine Änderung des Status. Bei einem einfachen Ausgang also sowohl die Änderung 0->1 wie auch 1->0
QO Event Output Qualifier
wird „true“ wenn QI true ist und INIT aufgerufen wurde.
STATUS Service Status
Hier werden Fehlermeldungen ausgegeben. Wenn kein Fehler vorliegt dann wird OK ausgegeben.
IN Input data from resource
Das ist der Zustand des Eingangs, also 0 oder 1
I1 => GPIO_NUM_26
I2 => GPIO_NUM_32
I3 => GPIO_NUM_39
damit ist folgende Applikation machbar:
ein M5 Stack Atom Lite (https://shop.m5stack.com/products/atom-lite-esp32-development-kit) plus ein Dual Button (https://shop.m5stack.com/products/mini-dual-button-unit) ergeben folgende Zuordung:
I1 => der Button „B“ (gelbe Drahtfarbe) roter Knopf
I2 => der Button „A“ (weiße Drahtfarbe) blauer Knopf
I3 => der Button auf dem M5 Atom Lite
AIx
……………………….
damit sind die Werte AI1, AI2, AI3, AI4, AI5, AI6 gemeint, diese bilden folgende Eingänge ab:
Nur der Kanal GPIO_NUM_32 also der weiße draht ist in der Lage Analoge Buttons zu verarbeiten.
Der Schaltplan findet sich hier: https://github.com/Meisterschulen-am-Ostbahnhof-Munchen/ISOBUS_Hardware/tree/feature/ButtonBoards/ButtonBoards/6ButtonTHT
wenn die Eingänge AIx verwendet werden darf der Eingang I2 natürlich nicht gleichzeitig verwendet werden. Die Eingänge I1 und I3 sind davon nicht betroffen.
es können also 6 Buttons mit einem Draht eingelesen werden. Drücken von 2 Tasten gleichzeitig funktionieren dann natürlich nicht.