Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | Letzte Überarbeitung Beide Seiten der Revision | ||
wbus_addr [2017/02/28 14:35] wikiadmin |
wbus_addr [2017/02/28 14:35] wikiadmin |
||
---|---|---|---|
Zeile 7: | Zeile 7: | ||
Die Adresse des Absenders wird im oberen Nibble (Bits 4-7) und die des Empfängers im unteren Nibble (Bits 0-3) hinterlegt. Um nun ein ADDR-Byte zu erzeugen muss die Absenderadresse um 4 Bit nach links geschoben und mit der Empfängeradresse verodert werden. | Die Adresse des Absenders wird im oberen Nibble (Bits 4-7) und die des Empfängers im unteren Nibble (Bits 0-3) hinterlegt. Um nun ein ADDR-Byte zu erzeugen muss die Absenderadresse um 4 Bit nach links geschoben und mit der Empfängeradresse verodert werden. | ||
- | Da die Adresszuordnung im W-Bus Protokoll festvorgegeben ist (jeder Gerätetyp hat seine eigene Adresse), ist es sinnvoll von der Verwendung statischer Zahlenwerte im Code abzusehen und stattdessen lieber mit Platzhaltern zu arbeiten. Daher sollten wir nun auch folgende definieren: | + | Da die Adresszuordnung im W-Bus Protokoll festvorgegeben ist (jeder Gerätetyp hat seine eigene Adresse), ist es sinnvoll von der Verwendung statischer Zahlenwerte im Code abzusehen und stattdessen lieber mit Platzhaltern zu arbeiten. Daher sind hier die beiden wichtigsten gleich mit umgesetzt. |
+ | |||
+ | ===== Umsetzung ===== | ||
<code> | <code> | ||
#define WBUS_ADDR_HEATER 0x4 // W-Bus address of heating device (fixed) | #define WBUS_ADDR_HEATER 0x4 // W-Bus address of heating device (fixed) | ||
#define WBUS_ADDR_DIAG 0xF // Our own W-Bus address (use 0xF to act as diagnose-software) | #define WBUS_ADDR_DIAG 0xF // Our own W-Bus address (use 0xF to act as diagnose-software) | ||
- | </code> | ||
- | ===== Umsetzung ===== | + | ... |
- | <code> | ||
/** | /** | ||
* Return ADDR byte of source/destination addresses given | * Return ADDR byte of source/destination addresses given |