Konfigurationsübersicht (Ram)

Mem
Config
Beschreibung
0
chan0 Helligkeitswert des jeweiligen Kanal.
Bit 0..6 : Helligkeit
Bit 7: Ein/Aus (Bei Werten < 128 bleibt der Kanal komplett aus)
1
chan1
2
chan2
3
chan3
4
setup Bit 0..3: Taster 0..3 steuert Kanal 0..3
Bit 4..7: Taster 0..3 darf Kanal NICHT dimmen
5
fallback Bei fehlerhafter Kommunikation wird die Fallback-Config anstatt setup verwendet.
6
grundoffset Offset im PWM Betrieb
7
tastdown Bit 0..3: Taster 0..3 gedrückt
Bit 4..7: Taster 0..3 lang gedrückt
8
dim_to0 Helligkeitswert zu dem hingedimmt werden soll, oder der Pulswert
9
dim_to1
10
dim_to2
11
dim_to3
12
dim_time0 Zeit in ms die vergehen muss zwischen 2 Helligkeitswerten beim hindimmen
13
dim_time1
14
dim_time2
15
dim_time3

Konfigurationsübersicht (Compiler-Direktiven)

#define
default
Beschreibung
CFG_TXHF
16
Halbe Periodendauer in Takten der Sendefrequenz
CFG_CHAN0
127
Inithelligkeit Kanal 0
CFG_CHAN1
127
Inithelligkeit Kanal 1
CFG_CHAN2
127
Inithelligkeit Kanal 2
CFG_CHAN3
127
Inithelligkeit Kanal 3
CFG_THRESHOLD
20
Empfangsempfindlichkeit
CFG_SETUP
0x0F
Init-Setup
CFG_FALLBACK
0x0F
Init-Fallback
CFG_PWM
0
(0/2) Phasenannschnittsteuerung/PWM-Mode
CFG_OFFSET
75
Init-Grundoffset im PWM-Betrieb
CFG_KEYXOR
0
Tasten werden invertiert (und Pullups abgeschaltet!)
NEG_HW
defined
Die Ausgänge werden mit negativer Logik angesteuert
INT1_TXCTL
undef
Interrupt 1 zum Modulieren des Senders anstatt Nullspannungsdetektor
DEV_ID
[0..127]
Eindeutige Device ID

Protokollübersicht

#
Byte
7
6
5
4
3
2
1
0
Beschreibung
Länge CRC
0
R
0
1
0
1
0
0
1
0
Sync-Byte   CRC=0
 
                       
1
C
C
C
C
L
L
L
L
Länge L=Byte[1] & 0x0F CRC=Byte[1]
                Repeat-Counter    
 
2
ACK
ID
ID
ID
ID
ID
ID
ID
Destination ID L-- ^CRC
                Ack-Flag    
                       
3
0
ID
ID
ID
ID
ID
ID
ID
Source ID L-- ^CRC
     
4
S
S
S
S
S
S
S
S
Sequenznummer L--  
     
Data
Payload L-=0..12  
     
>=5
CRC
CRC
CRC
CRC
CRC
CRC
CRC
CRC
Checksumme L == 0? ^CRC, CRC == 0?

Befehlsübersicht:

Datenpaket Antwortpaket (hat gesetztes Ack-Flag)
CMD
Data1
Data2
Data3
Data4
Respond
set <mem> <val>    
!
 
 

Setzt in die Speicherzelle mem [0..15] der Konfiguration auf den Wert val [0..255]

toggle <chan>      
!
 
 

Toggled den Kanal chan [0..3], der letzte Dimwert bleibt erhalten

high <chan>      
!
 
 
Setzt den Kanal chan [0..3] auf high, der letzte Dimwert bleibt erhalten

low <chan>      
!
 
 
Setzt den Kanal chan [0..3] auf low, der letzte Dimwert bleibt erhalten

dimto <chan> <val> <delay>  
!
 
 
Dimmt den Kanal chan [0..3] auf die Helligkeit val [127..255] mit einem Schrittabstand von delay [0..255] ms
Wenn fertig wird das EVENT_DIMFINISH ausgelöst

pulse <chan> <ms>    
!
 
 
Setzt den Kanal chan [0..3] für die Dauer von 100 * ms [0..255]

query <mem>      
=
<val>
 
Fragt die Speicherstelle mem [0..15] ab, awortet mit dem Wert val [0..255]

burst <ch0> <ch1> <ch2> <ch3>
!
 
 
Setzt die Helligkeit der Kanäle 0..4 auf den jeweiligen Wert [0..255] gleichzeitig

config        
:

12* <Data>

 
Gibt die ersten 12 Bytes des Config-Array zurück

raw <raw> <raw> ...  
!
 
 
Raw-Commands zum Variieren der Sendefrequenz und Empfangsempfindlichkeit
(gefährlich, Modul evtl nicht mehr ansprechbar bis zum nächsten Reset)

event <event>      
!
 
 
Der Eventhandler (nur im Master) reagiert auf die entsprechenden Events und führt die zugehörigen Skripte aus
Der Eventtyp steht im high-nibble [0..15], ein eventueller Parameter im low-nibble [0..15]
sonstige        
?
 
  Auf ungültige Befehle wird mit "?" geantwortet

Eventübersicht:

Ein Event wird als Byte mit high-nibble <eventID> und low-nibble <param> übertragen

ID
Event
Beschreibung
1
EVENT_DIMFINISH Der Dimto-Befehl hat fertig gedimmt
2
EVENT_PRESS Es wurde die Taste param gedrückt
3
EVENT_PRESSLONG Es wurde die Taste param lange gedrückt
4
EVENT_RELEASE Es wurde die Taste param losgelassen
5
EVENT_RELEASELONG Es wurde die Taste param zuerst lange gedrückt und jetzt losgelassen
6
EVENT_POWERON Das Modul wurde neu gestartet