NiboRoboLib 3.6 - NIBO burger Library
|
Die Funktionen ermöglichen den Zugriff auf die analogen Eingänge (Sensorbricks, KEY und Versorgungsspannung). Mehr ...
gehe zum Quellcode dieser Datei
Aufzählungen | |
enum | { ANALOG_BL, ANALOG_BC, ANALOG_BR, ANALOG_FL, ANALOG_FR, ANALOG_FLL, ANALOG_FRR, ANALOG_BCL, ANALOG_BCR, ANALOG_KEY, ANALOG_VOLT, ANALOG_CNT } |
enum | { ANALOG_PASSIVE = 0, ANALOG_ACTIVE = 1, ANALOG_DIFFERENTIAL = 2 } |
Funktionen | |
void | analog_init () |
void | analog_disable () |
void | analog_reenable () |
uint16_t | analog_getValue (uint8_t idx) |
uint16_t | analog_getValueExt (uint8_t idx, uint8_t mode) |
uint16_t | analog_getRandomSeed () |
void | analog_setExtToggleMode (uint8_t idx, uint8_t activate) |
void | analog_irq_hook () |
void | analog_wait_update () |
uint8_t | analog_has_update () |
Die Funktionen ermöglichen den Zugriff auf die analogen Eingänge (Sensorbricks, KEY und Versorgungsspannung).
Die analogen Eingänge werden automatisch im Interrupt gemessen. Damit die anlogen Daten gemessen werden können, muss zuerst (zum Beispiel in der setup() Funktion) die Funktion analog_init() aufgerufen werden. Falls nicht die Processing-Umgebung <niboburger/robomain.h> verwendet wird, müssen auch die globalen Interrupts manuell eingeschaltet werden.
Anhaltswerte: Die IR-Sensoren liefern für nahe Objekte Werte >50 und für Freiräume Werte <10.
anonymous enum |
Symbolische Namen für den Parameter idx der Funktionen analog_getValue(), analog_getValueExt() und analog_setExtToggleMode()
anonymous enum |
Symbolische Namen für den Parameter mode der analog_getValueExt() - Funktionen
Aufzählungswerte | |
---|---|
ANALOG_PASSIVE |
= 0: passive Messung (LED aus) |
ANALOG_ACTIVE |
= 1: aktive Messung (LED an) |
ANALOG_DIFFERENTIAL |
= 2: aktive - passive Messung (Differenz) |
void analog_disable | ( | ) |
Analoge Messungen deaktivieren. Durch einen Aufruf der Funktion analog_reenable() werden die Messungen wieder aktiviert.
uint16_t analog_getRandomSeed | ( | ) |
Liefert einen Zufallswert zurück. Der Wert errechnet sich aus der Summe aller gemessenen Analog-Spannungen. Der Wert selbst sollte nur als Seed (Entropiequelle) verwendet werden, da er monoton wachsend ist. Der Wert wird um so zufälliger, je mehr analoge Messungen vorher durchgeführt wurden.
uint16_t analog_getValue | ( | uint8_t | idx | ) |
Liefert den Wert eines analogen Eingangs mit dem index
idx | zurück. |
uint16_t analog_getValueExt | ( | uint8_t | idx, |
uint8_t | mode | ||
) |
Liefert den Wert eines analogen Eingangs mit dem index
idx | zurück. Der Parameter |
mode | bestimmt die Sensor Messwerte Quelle: ANALOG_PASSIVE = bei abgeschalteter Sensor LED, ANALOG_ACTIVE = bei eingeschalteter Sensor LED, ANALOG_DIFFERENTIAL = Differenzwert ANALOG_ACTIVE - ANALOG_PASSIVE. Falls die Differenz negativ wäre, wird eine Null zurückgeliefert! Die Werte für ANALOG_ACTIVE und ANALOG_DIFFERENTIAL gelten nur für die Sensorbricks und sind nur gültig, wenn der Toggle-Modus aktiviert ist! |
uint8_t analog_has_update | ( | ) |
Diese Funktion liefert TRUE wenn seit dem letzten Aufruf ein neuer Satz analoger Werte gemessen wurde.
void analog_init | ( | ) |
Initialisierung des Liniensensors. Der AD-Wandler misst im Interruptmodus automatisch alle Werte, und schaltet auch die IR-LEDs der Bodensensoren bei Bedarf ein und aus, wenn mit analog_setExtToggleMode() der Togglemode für den jeweiligen Eingang aktiviert wurde.
void analog_irq_hook | ( | ) |
Diese Funktion wird nach einem kompletten Durchgang aller Sampling-Kanäle. Als 'weak-linking' Funktion kann sie einfach durch eine eigene Funktion void analog_irq_hook() {} ersetzt werden.
void analog_reenable | ( | ) |
Die Funktion aktiviert die analogen Messungen nach der Deaktivierung durch die Funktion analog_disable().
void analog_setExtToggleMode | ( | uint8_t | idx, |
uint8_t | activate | ||
) |
Aktiviert den automatischen Toggle-Mode (active/passive). Dabei wird die automatisch immer wieder ein und ausgeschaltet. Die Funktion analog_getValueExt() liefert dabei in Abhängigkeit vom Parameter mode die Werte bei eingeschalteter LED, bei ausgeschalteter LED oder auch die Differenz der beiden Werte zurück. ANALOG_BCL und ANALOG_BCR müssens extra aktiviert werden, alle anderen sind nach dem Start bereits automatisch im Toggle-Modus.
void analog_wait_update | ( | ) |
Diese Funktion wartet bis ein neuer Satz analoger Werte gemessen wurde.