|
Files | |
file | mindensors-servo.h |
Mindsensors NXTServo Sensor Driver. | |
Defines | |
#define | NXTSERVO_I2C_ADDR 0xB0 |
#define | NXTSERVO_CMD 0x41 |
#define | NXTSERVO_POS_CHAN1 0x42 |
#define | NXTSERVO_POS_CHAN2 0x44 |
#define | NXTSERVO_POS_CHAN3 0x46 |
#define | NXTSERVO_POS_CHAN4 0x48 |
#define | NXTSERVO_POS_CHAN5 0x4A |
#define | NXTSERVO_POS_CHAN6 0x4C |
#define | NXTSERVO_POS_CHAN7 0x4E |
#define | NXTSERVO_POS_CHAN8 0x50 |
#define | NXTSERVO_SPEED_CHAN1 0x52 |
#define | NXTSERVO_SPEED_CHAN2 0x53 |
#define | NXTSERVO_SPEED_CHAN3 0x54 |
#define | NXTSERVO_SPEED_CHAN4 0x55 |
#define | NXTSERVO_SPEED_CHAN5 0x56 |
#define | NXTSERVO_SPEED_CHAN6 0x57 |
#define | NXTSERVO_SPEED_CHAN7 0x58 |
#define | NXTSERVO_SPEED_CHAN8 0x59 |
#define | NXTSERVO_QPOS_CHAN1 0x42 |
#define | NXTSERVO_QPOS_CHAN2 0x44 |
#define | NXTSERVO_QPOS_CHAN3 0x46 |
#define | NXTSERVO_QPOS_CHAN4 0x48 |
#define | NXTSERVO_QPOS_CHAN5 0x4A |
#define | NXTSERVO_QPOS_CHAN6 0x4C |
#define | NXTSERVO_QPOS_CHAN7 0x4E |
#define | NXTSERVO_QPOS_CHAN8 0x50 |
#define | NXTSERVO_MIN_POS 500 |
#define | NXTSERVO_MAX_POS 2500 |
#define | NXTSERVO_MID_POS 1500 |
Functions | |
bool | NXTServoSetSpeed (tSensors link, ubyte servochan, ubyte speed, ubyte address) |
bool | NXTServoSetPos (tSensors link, ubyte servochan, int position, ubyte speed, ubyte address=NXTSERVO_I2C_ADDR) |
bool | NXTServoQSetPos (tSensors link, ubyte servochan, ubyte position, byte speed, ubyte address=NXTSERVO_I2C_ADDR) |
int | NXTServoReadVoltage (tSensors link, ubyte address=NXTSERVO_I2C_ADDR) |
Variables | |
tByteArray | NXTSERVO_I2CRequest |
tByteArray | NXTSERVO_I2CReply |
Servo Controller
#define NXTSERVO_CMD 0x41 |
Servo command register
Definition at line 44 of file mindensors-servo.h.
#define NXTSERVO_I2C_ADDR 0xB0 |
NXT Servo I2C device address
Definition at line 41 of file mindensors-servo.h.
#define NXTSERVO_MAX_POS 2500 |
Servo maximum pulse width in uS
Definition at line 78 of file mindensors-servo.h.
#define NXTSERVO_MID_POS 1500 |
Servo centered pulse width in uS
Definition at line 79 of file mindensors-servo.h.
#define NXTSERVO_MIN_POS 500 |
Some other defines. Servo minimum pulse width in uS
Definition at line 77 of file mindensors-servo.h.
#define NXTSERVO_POS_CHAN1 0x42 |
Servo channel 1 position (low byte)
Definition at line 47 of file mindensors-servo.h.
#define NXTSERVO_POS_CHAN2 0x44 |
Servo channel 2 position (low byte)
Definition at line 48 of file mindensors-servo.h.
#define NXTSERVO_POS_CHAN3 0x46 |
Servo channel 3 position (low byte)
Definition at line 49 of file mindensors-servo.h.
#define NXTSERVO_POS_CHAN4 0x48 |
Servo channel 4 position (low byte)
Definition at line 50 of file mindensors-servo.h.
#define NXTSERVO_POS_CHAN5 0x4A |
Servo channel 5 position (low byte)
Definition at line 51 of file mindensors-servo.h.
#define NXTSERVO_POS_CHAN6 0x4C |
Servo channel 6 position (low byte)
Definition at line 52 of file mindensors-servo.h.
#define NXTSERVO_POS_CHAN7 0x4E |
Servo channel 7 position (low byte)
Definition at line 53 of file mindensors-servo.h.
#define NXTSERVO_POS_CHAN8 0x50 |
Servo channel 8 position (low byte)
Definition at line 54 of file mindensors-servo.h.
#define NXTSERVO_QPOS_CHAN1 0x42 |
Servo channel 1 quick position
Definition at line 67 of file mindensors-servo.h.
#define NXTSERVO_QPOS_CHAN2 0x44 |
Servo channel 2 quick position
Definition at line 68 of file mindensors-servo.h.
#define NXTSERVO_QPOS_CHAN3 0x46 |
Servo channel 3 quick position
Definition at line 69 of file mindensors-servo.h.
#define NXTSERVO_QPOS_CHAN4 0x48 |
Servo channel 4 quick position
Definition at line 70 of file mindensors-servo.h.
#define NXTSERVO_QPOS_CHAN5 0x4A |
Servo channel 5 quick position
Definition at line 71 of file mindensors-servo.h.
#define NXTSERVO_QPOS_CHAN6 0x4C |
Servo channel 6 quick position
Definition at line 72 of file mindensors-servo.h.
#define NXTSERVO_QPOS_CHAN7 0x4E |
Servo channel 7 quick position
Definition at line 73 of file mindensors-servo.h.
#define NXTSERVO_QPOS_CHAN8 0x50 |
Servo channel 8 quick position
Definition at line 74 of file mindensors-servo.h.
#define NXTSERVO_SPEED_CHAN1 0x52 |
Servo channel 1 speed
Definition at line 57 of file mindensors-servo.h.
#define NXTSERVO_SPEED_CHAN2 0x53 |
Servo channel 2 speed
Definition at line 58 of file mindensors-servo.h.
#define NXTSERVO_SPEED_CHAN3 0x54 |
Servo channel 3 speed
Definition at line 59 of file mindensors-servo.h.
#define NXTSERVO_SPEED_CHAN4 0x55 |
Servo channel 4 speed
Definition at line 60 of file mindensors-servo.h.
#define NXTSERVO_SPEED_CHAN5 0x56 |
Servo channel 5 speed
Definition at line 61 of file mindensors-servo.h.
#define NXTSERVO_SPEED_CHAN6 0x57 |
Servo channel 6 speed
Definition at line 62 of file mindensors-servo.h.
#define NXTSERVO_SPEED_CHAN7 0x58 |
Servo channel 7 speed
Definition at line 63 of file mindensors-servo.h.
#define NXTSERVO_SPEED_CHAN8 0x59 |
Servo channel 8 speed
Definition at line 64 of file mindensors-servo.h.
bool NXTServoQSetPos | ( | tSensors | link, |
ubyte | servochan, | ||
ubyte | position, | ||
byte | speed, | ||
ubyte | address | ||
) |
Tell the servo to move to the specified position using the specified speed. This uses the Quick Position register which is less accurate. It only accepts values from 50 to 250
link | the NXTServo port number |
servochan | the servo channel to use |
position | the position to move the servo to |
speed | the amount to increase the position by every 24ms |
address | the I2C address to use, optional, defaults to 0xB0 |
Definition at line 155 of file mindensors-servo.h.
int NXTServoReadVoltage | ( | tSensors | link, |
ubyte | address | ||
) |
Get the voltage level of the battery pack.
link | the NXTServo port number |
address | the I2C address to use, optional, defaults to 0xB0 |
Definition at line 180 of file mindensors-servo.h.
bool NXTServoSetPos | ( | tSensors | link, |
ubyte | servochan, | ||
int | position, | ||
ubyte | speed, | ||
ubyte | address | ||
) |
Tell the servo to move to the specified position using the specified speed.
link | the NXTServo port number |
servochan | the servo channel to use |
position | the position to move the servo to |
speed | the amount to increase the position by every 24ms |
address | the I2C address to use, optional, defaults to 0xB0 |
Definition at line 124 of file mindensors-servo.h.
bool NXTServoSetSpeed | ( | tSensors | link, |
ubyte | servochan, | ||
ubyte | speed, | ||
ubyte | address | ||
) |
Set the speed register for the specified servo. This is the amount to increase the current position by every 24ms when the servo position is changed.
Note: this is an internal function and should not be called directly.
link | the NXTServo port number |
servochan | the servo channel to use |
speed | the amount to increase the position by every 24ms |
address | the I2C address to use, optional, defaults to 0xB0 |
Definition at line 104 of file mindensors-servo.h.
Array to hold I2C reply data
Definition at line 90 of file mindensors-servo.h.
Array to hold I2C command data
Definition at line 89 of file mindensors-servo.h.