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
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
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
Liefert die aktuelle Position
- Rückgabe:
- Richtung in Grad [0 ... 180]
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:
-
dir | Richtung in Grad [0 ... 180] |
step | Schrittweite 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:
-
dir | Richtung in Grad [0 ... 180] |
void nds3_move_servo |
( |
uint16_t |
usecs | ) |
|
Rohpulsweite des Servos in Microsekunden setzen
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:
- Parameter:
-
dir | Richtung in Grad [-90 ... 90] |
step | Schrittweite in Grad |
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
Data Direction Register (DDR)
Voltage - Offset für Distanzmessung (* 1 cm)
Voltage - Offset für Distanzmessung (* 5.0/1024 V)
Port Input Register (PIN)
Maximale Pulsweite des Servos in Microsekunden
Minimale Pulsweite des Servos in Microsekunden
Mittlere Pulsweite des Servos in Microsekunden