////////////////////////////////////////////////////////////////////////////////////////// // // // Cy4-Dienstekarte A00306 V1.3 // // ____________________________ // // // ////////////////////////////////////////////////////////////////////////////////////////// [Zu tun:] Dienstekarte in HTML/Markdown darstellen Liste der Dienste: 700700h:10:RW : GpioConfiguration 700710h:10:RW : AccessGPIO 700720h: 2:RO : ReadAnalogInput 700730h: 3:RW : AccessLeds 700740h: 2:RO : ReadKeys 700750h:12:RW : AccessPushMessages 700800h: 2:RW : I2CReadAccess 700810h:20:RW : I2CReadBuffer 700890h: 1:WO : I2CReadExecute 700900h: 2:RW : I2CWriteAccess 700910h:20:RW : I2CWriteBuffer 700990h: 1:WO : I2CWriteExecute FFFF00h:61:RW : DeviceLabel FFFF40h: 1:WO : FactorySettings FFFF50h: 1:RW : SystemLedSignal FFFF52h: 1:RW : ToneMute FFFFF0h: 7:RO : CallTypePlate FFFFF8h: 1:WO : EnterApplication FFFFFAh: 1:WO : EnterProgramLoader FFFFFCh: 2:WO : ChangeDeviceAddress Beschreibung: ////////////////////////////////////////////////////////////////////////////////////////// // // // Dienst: GpioConfiguration (read write) // // // // Beschreibung: Konfiguriert GPIOs. Jeder GPIO-Pin ist einem Byte zugeordnet und // // kann mit folgenden Werten konfiguriert werden. // // // // 'T' = 84 = 54h : Eingabe, Tristate // // 'P' = 80 = 50h : Eingabe, Pullup // // 'H' = 72 = 48h : Ausgabe, High // // 'L' = 76 = 4Ch : Ausgabe, Low // // 'X' = 88 = 58h : Unverändert // // // // Voreingestellt für GPIOs ist 'P'. // // // // 0 1 2 3 4 5 6 7 8 9 // // +---+---+---+---+---+---+---+---+---+---+ // // Belegung: |GA0|GA1|GA2|GA3|GB0|GB4|GC7|GD2|GD3|GD4| // // +---+---+---+---+---+---+---+---+---+---+ // // // // [GA0] Configuration A0_GPIO: 'T', 'P', 'H', 'L', 'X' // // [GA1] Configuration A1_GPIO: 'T', 'P', 'H', 'L', 'X' // // [GA2] Configuration A2_GPIO: 'T', 'P', 'H', 'L', 'X' // // [GA3] Configuration A3_GPIO: 'T', 'P', 'H', 'L', 'X' // // [GB0] Configuration B0_GPIO: 'T', 'P', 'H', 'L', 'X' // // [GB4] Configuration B4_GPIO: 'T', 'P', 'H', 'L', 'X' // // [GC7] Configuration C7_GPIO: 'T', 'P', 'H', 'L', 'X' // // [GD2] Configuration D2_GPIO: 'T', 'P', 'H', 'L', 'X' // // [GD3] Configuration D3_GPIO: 'T', 'P', 'H', 'L', 'X' // // [GD4] Configuration D4_GPIO: 'T', 'P', 'H', 'L', 'X' // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Dienst: AccessGPIO (read write) // // // // Beschreibung: Zugriff auf die GPIOs. // // // // 0 1 2 3 4 5 6 7 8 9 // // +---+---+---+---+---+---+---+---+---+---+ // // Belegung: |GA0|GA1|GA2|GA3|GB0|GB4|GC7|GD2|GD3|GD4| // // +---+---+---+---+---+---+---+---+---+---+ // // // // [GA0] A0_GPIO: 1 = High, 0 = Low, 255 = Unverändert // // [GA1] A1_GPIO: 1 = High, 0 = Low, 255 = Unverändert // // [GA2] A2_GPIO: 1 = High, 0 = Low, 255 = Unverändert // // [GA3] A3_GPIO: 1 = High, 0 = Low, 255 = Unverändert // // [GB0] B0_GPIO: 1 = High, 0 = Low, 255 = Unverändert // // [GB4] B4_GPIO: 1 = High, 0 = Low, 255 = Unverändert // // [GC7] C7_GPIO: 1 = High, 0 = Low, 255 = Unverändert // // [GD2] D2_GPIO: 1 = High, 0 = Low, 255 = Unverändert // // [GD3] D3_GPIO: 1 = High, 0 = Low, 255 = Unverändert // // [GD4] D4_GPIO: 1 = High, 0 = Low, 255 = Unverändert // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Dienst: ReadAnalogInput (read only) // // // // Beschreibung: Liest den ADC-Wert aus. // // // // 0 1 // // +---+---+ // // Belegung: |ADH|ADL| // // +---+---+ // // // // [ADx] Wert des AD-Konversters: 0 .. 1023. // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Dienst: AccessLeds (read write) // // // // Beschreibung: Zugriff auf die LEDs. // // // // 0 1 3 // // +---+---+---+ // // Belegung: |LD1|LD2|LD3| // // +---+---+---+ // // // // [LD1] PWM-Wert LED 1: 0 .. 255 [#] // // [LD2] Zustand LED 2: 0 = Aus, 1 = Ein // // [LD2] Zustand LED 3: 0 = Aus, 1 = Ein // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Dienst: ReadKeys (read only) // // // // Beschreibung: Liest den Zustand der Taasten aus. // // // // 0 1 // // +---+---+ // // Belegung: |TA1|TA2| // // +---+---+ // // // // [TA1] Zustand Taste 1: 0 = geöffnet, 1 = geschlossen // // [TA2] Zustand Taste 2: 0 = geöffnet, 1 = geschlossen // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Dienst: AccessPushMessages (read write) // // // // Info: Zugriff auf die "Push-Nachricht"-Ziele. // // // // 0 1 2 3 4 5 // // +---+---+---+---+---+---+ 6 7 8 9 10 11 // // Belegung: |NA1|DA1|L12|L11|L10|PA1|+---+---+---+---+---+---+ // // +---+---+---+---+---+---+|NA2|DA2|L22|L21|L20|PA2| // // +---+---+---+---+---+---+ // // // // // // [NA1] Push-Nachricht Ziel Taste 1, Netzadresse : 0 .. 255 // // [DA1] Push-Nachricht Ziel Taste 1, Geräteadresse : 0 .. 255 // // [L1x] Push-Nachricht Ziel Taste 1, Dienstort : 0 .. FFFFFEh // // [PA1] Push-Nachricht Ziel Taste 1, Parameter-Byte: 0 .. 255 // // [NA2] Push-Nachricht Ziel Taste 2, Netzadresse : 0 .. 255 // // [DA2] Push-Nachricht Ziel Taste 2, Geräteadresse : 0 .. 255 // // [L2x] Push-Nachricht Ziel Taste 2, Dienstort : 0 .. FFFFFEh // // [PA2] Push-Nachricht Ziel Taste 2, Parameter-Byte: 0 .. 255 // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Dienst: I2CReadAccess (read write) // // // // Beschreibung: I²C-Lesevorgang: Hier wird die I²C-Adresse und die Anzahl zu lesender // // Datenbytes angegeben. Der eigentliche Vorgang wird mittels 'I2CReadExecute' ausge- // // löst. Das Ergebnis kann mittels 'ReadI2CBuffer' abgefragt werden. // // // // 0 1 // // +---+---+ // // Belegung: |ADR|CNT| // // +---+---+ // // // // [ADR] I²C-Adresse des Gerätes: 0 .. 127. // // [CNT] Anzahl zu lesender Datenbytes: 0 .. 20. // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Dienst: I2CReadBuffer (read write) // // // // Beschreibung: I²C-Lesevorgang: Zugriff auf die gelesenen Datenbytes. Ungenutzte // // Datenbytes haben den Wert 0. // // // // 0 1 2 ... 19 // // +---+---+---+- -+---+ // // Belegung: |D00|D01|D02| ... |N19| // // +---+---+---+- -+---+ // // // // [Nxx] Empfangenes I²C-Datenbyte: 0 .. 255. // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Dienst: I2CReadExecute (write only) // // // // Beschreibung: Löst den I²C-Lesevorgang aus. Grundlage ist die mittels 'I2CRead- // // Access' angegebene Adresse und Anzahl zu lesenden Datenbytes. Das Ergebnis kann // // mittels 'I2CReadBuffer' abgefragt werden. // // // // 0 // // +---+ // // Belegung: |FST| // // +---+ // // // // [FST] Auslöser für einen I²C-Lesevorgang: 5Eh ('^') . // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Dienst: I2CWriteAccess (read write) // // // // Beschreibung: I²C-Schreibvorgang: Hier wird die I²C-Adresse und die Anzahl zu // // schreibender Datenbytes angegeben. Die Datenbytes müssen durch 'WriteI2CBuffer' // // im Datenpuffer abgelegt sein, der eigentliche Vorgang wird mittels 'I2CWrite- // // Execute' ausgelöst. // // // // 0 1 // // +---+---+ // // Belegung: |ADR|CNT| // // +---+---+ // // // // [ADR] I²C-Adresse des Gerätes: 0 .. 127. // // [CNT] Anzahl zu schreibender Datenbytes: 0 .. 20. // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Dienst: I2CWriteBuffer (read write) // // // // Beschreibung: I²C-Schreibvorgang: Zugriff auf die zu schreibenden Datenbytes. // // // // 0 1 2 ... 19 // // +---+---+---+- -+---+ // // Belegung: |D00|D01|D02| ... |N19| // // +---+---+---+- -+---+ // // // // [Nxx] Zu schreibendes I²C-Datenbyte: 0 .. 255. // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Dienst: I2CWriteExecute (write only) // // // // Beschreibung: Löst den I²C-Schreibvorgang aus. Grundlage ist die mittels 'I2CWrite- // // Access' angegebene Adresse und Anzahl zu schreibender Datenbytes. Die Datenbytes // // müssen zuvor durch 'I2CWriteBuffer' bereitgestellt werden. // // // // 0 // // +---+ // // Belegung: |FST| // // +---+ // // // // [FST] Auslöser für einen I²C-Schreibvorgang: 5Eh ('^') . // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Dienst: DeviceLabel (read write) // // // // Beschreibung: Benutzerdefinierte Gerätebezeichnung. // // // // 0 1 2 ... 59 60 // // +---+---+---+- -+---+---+ // // Belegung: |N00|N01|N02| ... |N59| 0 | // // +---+---+---+- -+---+---+ // // // // [Nxx] Zeichen der allgemeinen Gerätebezeichnung: 0 .. 255 (ASCII/UTF-8) // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Dienst: FactorySettings (write only) // // // // Beschreibung: Zurückstellen aller Einstellungen auf den Ursprungszustand. // // // // 0 // // +---+ // // Belegung: |FST| // // +---+ // // // // [FST] Auslöser zur Wiederherstellung der Werksvoreinstellungen: 5Eh ('^'). // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Dienst: SystemLedSignal (read write) // // // // Beschreibung: Zugriff auf die Signalisierung der System-LED. // // // // 0 // // +---+ // // Belegung: |SYS| // // +---+ // // // // [SYS] Signale der System-LED: 0 = Aus, 1 = Ein, 2 = Herzschlag. // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Dienst: ToneMute (read write) // // // // Beschreibung: Stummschaltung der Tonausgabe. // // // // 0 // // +---+ // // Belegung: |TON| // // +---+ // // // // [TON] Ton Stumm: 0 = Aus, 1 = Ein. // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Pflichtdienst: CallTypePlate (read only) // // // // Beschreibung: Geräte-Typenschild erfragen. // // // // 0 1 2 3 4 5 6 // // +---+---+---+---+---+---+---+ // // Belegung: |AT2|AT1|AT0|AVE|BT2|BT1|BT0| // // +---+---+---+---+---+---+---+ // // // // [ATx] Anwendungstypennummer: Axxxxxh, xxxxx in BCD: 00000 .. 99999 // // [AVE] Anwendungsversion: 01 .. 99, Haupt/Unternummer in BCD (Bsp: 12h = V1.2) // // [BTx] Boardtypennummer: Bxxxxxh, xxxxx in BCD: 00000 .. 99999 // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Pflichtdienst: EnterApplication (write only) // // // // Beschreibung: Startet die Anwendung neu. // // // // 0 // // +---+ // // Belegung: |EAP| // // +---+ // // // // [EAP] Auslöser zum (Neu-)Start der Applikation (Reset): 5Eh ('^') . // // // ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// // // // Pflichtdienst: EnterProgramLoader (write only) // // // // Beschreibung: Startet das System neu und kehrt im Programmlader-Modul zurück. // // // // 0 // // +---+ // // Belegung: |EPL| // // +---+ // // // // [EPL] Auslöser zum Eintritt in den Programmlader: 5Eh ('^') . // // // //////////////////////////////////////////////////////////////////////////////////////////