NiboRoboLib 3.2 - NIBO burger Library
analog.h-Dateireferenz

Zugriff auf die analogen Eingänge. Die analogen Eingänge werden automatisch gemessen, dazu müssen die globalen Interrupts aktiviert sein! 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 }
 
enum  { ANALOG_UPDATE_ASAP, ANALOG_UPDATE_10MS, ANALOG_UPDATE_MANUAL }
 

Funktionen

void analog_init ()
 
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 ()
 

Ausführliche Beschreibung

Zugriff auf die analogen Eingänge. Die analogen Eingänge werden automatisch gemessen, dazu müssen die globalen Interrupts aktiviert sein!

Autor
Nils Springob (nils..nosp@m.spri.nosp@m.ngob@.nosp@m.nica.nosp@m.i-sys.nosp@m.tems.nosp@m..com)
Datum
2015-02-25

Dokumentation der Aufzählungstypen

anonymous enum
Aufzählungswerte
ANALOG_BL 

Bodensensor Links / Sensor Vorne Links-Aussen.

ANALOG_BC 

Bodensensor Mitte / Sensor Hinten Mitte.

ANALOG_BR 

Bodensensor Rechts / Sensor Vorne Rechts-Aussen.

ANALOG_FL 

Sensor Vorne Links.

ANALOG_FR 

Sensor Vorne Rechts.

ANALOG_FLL 

Sensor Vorne Links aussen.

ANALOG_FRR 

Sensor Vorne Rechts aussen.

ANALOG_BCL 

Bodensensor Links, Licht von Mitte Sensor.

ANALOG_BCR 

Bodensensor Rechts, Licht von Mitte Sensor.

ANALOG_KEY 

Funktionstasten.

ANALOG_VOLT 

Versorgungsspannung.

anonymous enum
Aufzählungswerte
ANALOG_PASSIVE 

passive Messung (LED aus)

ANALOG_ACTIVE 

aktive Messung (LED an)

ANALOG_DIFFERENTIAL 

passive+aktive Messung (Differenz)

anonymous enum
Aufzählungswerte
ANALOG_UPDATE_ASAP 

immer Messen

ANALOG_UPDATE_10MS 

Messdurchlauf alle 10 ms starten.

ANALOG_UPDATE_MANUAL 

Messdurchlauf manuell starten.

Dokumentation der Funktionen

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.

Rückgabe
Random Seed
uint16_t analog_getValue ( uint8_t  idx)

Liefert den Wert eines analogen Eingangs mit dem index

Parameter
idxzurück. Die Interrupts müssen aktiviert sein, damit die Werte gemessen werden!
uint16_t analog_getValueExt ( uint8_t  idx,
uint8_t  mode 
)

Liefert den Wert eines analogen Eingangs mit dem index

Parameter
idxzurück. Der Parameter
modedarf die Werte ANALOG_PASSIVE, ANALOG_ACTIVE oder ANALOG_DIFFERENTIAL annehmen. Die Interrupts müssen aktiviert sein, damit die Werte gemessen werden!
uint8_t analog_has_update ( )

Diese Funktion liefert TRUE wenn es seit dem letzten Aufruf neue analoge Messwerte gibt

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. Die Interrupts müssen aktiviert sein, damit die Sensorwerte gemessen werden!

void analog_irq_hook ( )

Diese Funktion wird nach einem kompletten Durchgang aller Sampling-Kanäle aufgerufen

void analog_setExtToggleMode ( uint8_t  idx,
uint8_t  activate 
)

Aktiviert den automatischen Toggle-Mode (active/passive)

void analog_wait_update ( )

Diese Funktion wartet bis neue analoge Werte gemessen wurden