NIBO Library  2.11
nibo/nds3.h-Dateireferenz

Routinen zur Kommunikation mit dem NDS3 Modul. Da die Kommunikation über die I²C Schnittstelle abgewickelt wird, muss vor der Benutzung der Funktionen i2c_init() aufgerufen werden. Mehr ...

#include <stdint.h>

gehe zum Quellcode dieser Datei

Funktionen

void nds3_init ()
void nds3_reset ()
void nds3_move (uint8_t dir)
void nds3_measure (uint8_t dir, int8_t step)
void nds3_read (uint8_t dir, uint8_t step)
uint8_t nds3_get_pos ()
uint8_t nds3_get_dist ()
uint8_t nds3_get_busy ()
void nds3_ddr_commit ()
void nds3_port_commit ()
void nds3_pin_update ()
uint16_t nds3_get_analog (uint8_t idx)
void nds3_move_servo (uint16_t usecs)
void nds3_servocalib_update ()
void nds3_servocalib_commit ()
void nds3_distcalib_update ()
void nds3_distcalib_commit ()

Variablen

uint8_t nds3_distances [181]
uint8_t nds3_ddr
uint8_t nds3_port
uint8_t nds3_pin
uint16_t nds3_servocalib_hi
uint16_t nds3_servocalib_mid
uint16_t nds3_servocalib_lo
uint16_t nds3_distcalib_v0
uint16_t nds3_distcalib_d0
uint16_t nds3_distcalib_alpha

Ausführliche Beschreibung

Routinen zur Kommunikation mit dem NDS3 Modul. Da die Kommunikation über die I²C Schnittstelle abgewickelt wird, muss vor der Benutzung der Funktionen i2c_init() aufgerufen werden.

Autor:
Nils Springob (nils@nicai-systems.de)
Datum:
2009-07-02

Dokumentation der Funktionen

void nds3_ddr_commit ( )

Akualisiere Data Direction Register (DDR) des NDS3

void nds3_distcalib_commit ( )

Übertrage Distanz-Kalibrierwerte aus den Variablen zum NDS3

void nds3_distcalib_update ( )

Übertrage Distanz-Kalibrierwerte vom NDS3 in die Variablen. Die Werte werden im EEPROM gespeichert. Die Formel lautet: d = alpha/(v-v0) - d d: Distanz (*cm) v: Spannung (*5.0/1024 V)

uint16_t nds3_get_analog ( uint8_t  idx)

Liefert den Wert des Analog-Eingangs Idx zurück

uint8_t nds3_get_busy ( )

Prüfen, ob das NDS3 Modul ein (Bewegungs-)Kommando bearbeitet.

Rückgabe:
0: untätig
uint8_t nds3_get_dist ( )

Liefert die aktuell gemessene Distanz

Rückgabe:
Distanz in cm
uint8_t nds3_get_pos ( )

Liefert die aktuelle Position

Rückgabe:
Richtung in Grad [0 ... 180]
void nds3_init ( )

Initialisierung des NDS3

void nds3_measure ( uint8_t  dir,
int8_t  step 
)

Startet einen Scan. Der Sensor wird von der aktuellen Richtung mit der Schritweite Step zur angegebenen Richtung gedreht. Die Messung ist abgeschlossen, sobald nds3_get_busy() 0 zurück gibt.

Parameter:
dirRichtung in Grad [0 ... 180]
stepSchrittweite in Grad
void nds3_move ( uint8_t  dir)

Startet eine Drehung in die angegeben Richtung. Die Drehung ist abgeschlossen, sobald nds3_get_busy() 0 zurück gibt.

Parameter:
dirRichtung in Grad [0 ... 180]
void nds3_move_servo ( uint16_t  usecs)

Rohpulsweite des Servos in Microsekunden setzen

void nds3_pin_update ( )

Aktualisiere lokales Port Input Register (PIN)

void nds3_port_commit ( )

Akualisiere Ausgabe Register (PORT) des NDS3

void nds3_read ( uint8_t  dir,
uint8_t  step 
)

Liefert die Ergebnisse des letzten Scans zurück. Dir ist die Startrichtung, step die Schrittweite. Beispiel:

   // Scan von 0 bis 180 Grad in 5 Grad Schritten
   nds3_move(0);
   while(nds3_get_busy());
   nds3_measure(180, 5);
   while(nds3_get_busy());
   nds3_read(0, 5);
Parameter:
dirRichtung in Grad [-90 ... 90]
stepSchrittweite in Grad
void nds3_reset ( )

Setzt das aktuelle Kommando zurück, nds3_get_busy() wird anschliessend 0 zurück geben.

void nds3_servocalib_commit ( )

Übertrage Servo-Kalibrierwerte aus den Variablen zum NDS3

void nds3_servocalib_update ( )

Übertrage Servo-Kalibrierwerte vom NDS3 in die Variablen


Variablen-Dokumentation

uint8_t nds3_ddr

Data Direction Register (DDR)

Voltage - Faktor

Voltage - Offset für Distanzmessung (* 1 cm)

Voltage - Offset für Distanzmessung (* 5.0/1024 V)

uint8_t nds3_pin

Port Input Register (PIN)

uint8_t nds3_port

Ausgabe Register (PORT)

Maximale Pulsweite des Servos in Microsekunden

Minimale Pulsweite des Servos in Microsekunden

Mittlere Pulsweite des Servos in Microsekunden


Erzeugt am Fre Jun 3 2011 15:48:39 für NIBO Library von doxygen 1.7.4-20110426