Herunterladen Diese Seite drucken

Tastenebene Lesen/Einstellen - B&R PC 300 Implementierungsanleitung

Vorschau ausblenden Andere Handbücher für PC 300:

Werbung

Panel PC 300
Implementierungsanleitung

7.11.7 Tastenebene lesen/einstellen

Die aktuelle Tastenebene kann über das Baseboard KeyState Register des MTCX (siehe Seite 29) ge-
lesen und eingestellt werden.
Die Tasten eines B&R Geräts können in vier verschiedenen Ebenen bedient werden, d.h. eine Taste
kann bis zu vier verschiedene Tastencodes senden. Die Umschaltung der Ebene kann mit speziellen E-
benentasten erfolgen. Diese werden mit dem B&R Key Editor konfiguriert.
Das folgende C Codebeispiel zeigt, wie die aktuelle Tastenebene gelesen werden kann.
// Get key layer.
//
// Parameters
//
KeyLayer
//
[out] Points to a variable that receives the
//
key layer: 0 to 3.
void GetKeyLayer(unsigned char *KeyLayer)
{
MTCX_BASEBOARD_KEYSTATE_REG reg;
*(unsigned long*)&reg = READ_PORT_ULONG(MTCX_BASEBOARD_KEYSTATE_ADDR);
*KeyLayer = reg.Layer;
}
Listing 63: GetKeyLayer – Tastenebene lesen
Das folgende C Codebeispiel zeigt, wie die Tastenebene eingestellt werden kann.
Information:
Die Tastenebene wird nur eingestellt, wenn eine gültige Tastenkonfiguration auf dem Gerät vor-
handen ist (siehe Seite 107) – das Kommando liefert aber keinen Fehler!
// Set key layer.
//
// Parameters
//
KeyLayer
//
[in] Specifies the key layer: 0 to 3.
//
// Return 0 at success and -1 at failure.
//
// Remarks
//
Requires a valid key configuration!
int SetKeyLayer(unsigned char KeyLayer)
{
MTCX_KEY_LAYER_DATA data;
unsigned char ErrorCode;
int retvalue;
if (KeyLayer > 3)
return -1;
memset(&data, 0x00, sizeof(data));
data.Layer = KeyLayer;
retvalue = MtcxWriteCommand(MTCX_CMD_KEY_LAYER, 0, 0, MTCX_DEV_BASEBOARD,
&data, sizeof(data), &ErrorCode);
if (retvalue != MTCX_OKAY)
{
// TODO: add your error handling here
return -1;
}
return 0;
Copyright © B&R - Änderungen vorbehalten
PPC300_Implementierungsanleitung_V1_02.doc
Codebeispiele
02.11.09
109/132

Werbung

loading