Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

wer brauchts? (F/E-CNT lesen) Kategorie: 2W-Bus (von Heiko - 31.10.2003 16:04)


einfügen z.B. in twbs.c2

//-------------------------------------------------------------------
function stempFE (byte adresse) returns int
//-------------------------------------------------------------------
/********************************************************************
Send Temp Data (Command 5)
gültig nur für Sensor F/E-CNT (Sensor Gruppe 2)
Antwort ist int Frequenz
********************************************************************/
{
int i;
byte j;
string s;
// Zusammenstellen des Stringes für Kommando 5 "SEND TEMP DATA"
str.clear(s);
str.putchar(s,0x05);  // 8 ID 0 Kommando 5
str.putchar(s,adresse);// 7 Send 1 Sensoradresse
str.putchar(s,0x20);  // 6 Empf 2 frei wählbare Modemadresse = 0x20
str.putchar(s,0x00);  // 5 FCS1 3 nicht relevant -> definiert auf 0 gesetzt
str.putchar(s,0x00);  // 4 D2  4 Format 0 (Frequenz in HZ gewünscht)
str.putchar(s,0x00);  // 3 D1  5 nicht relevant -> definiert auf 0 gesetzt
str.putchar(s,0x00);  // 2 D0  6 nicht relevant -> definiert auf 0 gesetzt
str.putchar(s,0x00);  // 1 FCS2 7 nicht relevant -> definiert auf 0 gesetzt

twb.io(s); // Ausgabe des Strings s

// Abfrage ob die Ausgabe ohne Fehler beendet und die Antwort empfangen wurde
if (! twb.rxd())
 return -1; // Timeout -1
i = mem.getint(s,0);  // Antwortstring testen
j = i / 256;  // Kommando (oberes Byte)
if j != 0x05
 return -2;  // fehlerhafter Antwortstring -2
j = i % 256;  // Modem adressse (unteres Byte)
if j != 0x20
 return -3;  // falsche Modem Adresse -3
i = mem.getint(s,2);
j = i / 256;  // Sensor Adresse
if j != adresse
 return -4;  // falsche Sensor Adresse -4
j = i % 256;  // FCS1 (0)
if j != 0x00
 return -5;  // falsche FCS1 -5
i = mem.getint(s,5); // Bytes 5 und 6 geben Frequenz an
return i;
}

//*****************************************************************************

falls jemand nen Fehler entdeckt bitte Bescheid sagen

Mfg Heiko


    Antwort schreiben


Antworten: