Herunterladen Diese Seite drucken

Led Matrix Lesen/Setzen - B&R PC 300 Implementierungsanleitung

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

Werbung

Panel PC 300
Implementierungsanleitung

7.12.2 LED Matrix lesen/setzen

Die Zustände der Matrix-LEDs des Panels können mit dem LED Service Kommando des MTCX (siehe
Seite 23) gelesen und gesetzt werden.
LEDs können wie die Tasten in vier verschiedenen Ebenen bedient werden.
Das folgende C Codebeispiel zeigt, wie die gesamte LED Matrix des Panels gelesen werden kann.
Jede LED wird durch zwei Bits dargestellt: 00b = LED aus, 01b = LED blinkt langsam, 10b = LED blinkt
schnell, 11b = LED ein.
Hinweis: Auf dem PPC300 wird nur die Panelnummer 0 unterstützt.
// Read LED matrix.
//
// Parameters
//
PanelNumber
//
[in] Specifies the panel number: 0 to 15.
//
Note: PPC300 supports only panel number 0.
//
Layer
//
[in] Specifies the layer: 0 to 3.
//
LedMatrix
//
[in] Points to a buffer that receives the
//
states of 128 LED (2 bits per LED).
//
Size
//
[in] Specifies the size of the buffer in bytes: 32.
//
// Return 0 at success and -1 at failure.
int GetLedMatrix(unsigned int PanelNumber, unsigned char Layer, unsigned char *LedMatrix, int
Size)
{
MTCX_LAYER_LED_ADDR LedAddr;
unsigned char ErrorCode;
int retvalue;
if (Layer > 3)
return -1;
if (Size != 32)
return -1;
LedAddr.Reserve = 0;
LedAddr.Offset = 0;
LedAddr.Size = 63;
// Read LEDs 0 to 63.
if ((retvalue = MtcxReadCommand(MTCX_CMD_LED_SERVICE0 + Layer, *(unsigned short*)&LedAddr,
PanelNumber,
MTCX_DEV_PANEL, LedMatrix, 16, &ErrorCode)) != MTCX_OKAY)
{
// TODO: add your error handling here
return -1;
}
LedMatrix += 16;
LedAddr.Offset = 64;
// Read LEDs 64 to 127.
if ((retvalue = MtcxReadCommand(MTCX_CMD_LED_SERVICE0 + Layer, *(unsigned short*)&LedAddr,
PanelNumber,
MTCX_DEV_PANEL, LedMatrix, 16, &ErrorCode)) != MTCX_OKAY)
{
// TODO: add your error handling here
return -1;
}
Copyright © B&R - Änderungen vorbehalten
PPC300_Implementierungsanleitung_V1_02.doc
Codebeispiele
02.11.09
113/132

Werbung

loading