Arexx RP6 V2 Build your own robot kit RP6 V2 Manual Do Utilizador

Códigos do produto
RP6 V2
Página de 141
RP6 ROBOT SYSTEM -  4. Programmierung des RP6
Der Event Handler muss folgende Signatur haben:
void receiveRC5Data(RC5data_t rc5data)
Wie die Funktion heisst, ist natürlich auch hier fast egal! 
void IRCOMM_setRC5DataReadyHandler(void (*rc5Handler)(RC5data_t))
Mit dieser Funktion kann man den zuvor definierten Event Handler registrieren. 
z.B. so:
IRCOMM_setRC5DataReadyHandler(receiveRC5Data);
Danach wird immer diese Funktion aufgerufen sobald ein gültiger RC5 Code empfan-
gen worden ist. 
RC5data_t  ist ein eigens definierter Datentyp, der RC5 Adressbits (Device Address), 
Togglebit und Keycode (bzw. die Daten) enthält. Diese sind dann ähnlich wie normale 
Variablen verwendbar und haben folgende Bezeichnungen:
rc5data.device, rc5data.toggle_bit, rc5data.key_code
Auf der CD finden Sie ein größeres Beispielprogramm dazu.
Achtung:  schalten Sie  niemals  den Pin des IRCOMM dauerhaft an! 
Die IR LEDs und die Steuerschaltung sind für Impulsbetrieb ausge-
legt und dürfen nur eine Millisekunde am Stück eingeschaltet blei-
ben! Die Stromaufnahme ist sonst bei voll aufgeladenen Akkus zu 
hoch. Ändern Sie die IRCOMM Funktionen nicht selbst ab, wenn Sie 
nicht genau wissen was Sie tun. Vor allem die Interrupt Routine die 
zur Ansteuerung verwendet wird, sollte nicht verändert werden! 
4.6.8. Stromsparfunktionen
Weiter oben haben wir powerON() verwendet, ohne näher darauf einzugehen. Man 
kann beim RP6 das ACS, die Encoder, die Motorstromsensoren und die Power ON LED 
abschalten   um   Energie   zu   sparen   (sind   immerhin   etwa   10mA   wenn   man   diese 
Sensoren gerade nicht braucht). 
Dazu gibt es die Makros:
powerON()
um die genannten Dinge einzuschalten und
powerOFF()
um das alles abzuschalten. Diese beiden Makros tun nichts weiter, als einen I/O Pin 
auf high oder low zu schalten.
Bevor man ACS, IRCOMM und Motorregelung verwenden kann, muss 
man in jedem Fall das Makro powerON() aufrufen! Sonst haben die 
entsprechenden   Sensoren   keine   Energie.   Die   Motorregelung   kann 
z.B. nur korrekt arbeiten, wenn ein Signal von den Drehgebern und 
Stromsensoren kommt.
Wenn Sie mal vergessen powerON() aufzurufen, werden die Motoren  
nach einem kurzen Startversuch sofort wieder abgeschaltet und die  
vier roten Status LEDs fangen an zu blinken.
- 98 -