#include <USBInterface.h>
Public Member Functions | |
uscSettings () | |
Public Attributes | |
std::list< channelSetting > | channelSettings |
A list of the configurable parameters for each channel, including name, type, home type, home position, range, neutral, min, max. | |
bool | enableCrc |
If true, then you must send a 7-bit CRC byte at the end of every serial command (except the Mini SSC II command). | |
bool | enablePullups |
If true, this setting enables pullups for each channel 18-20 which is configured as an input. This makes the input value be high by default, allowing the user to connect a button or switch without supplying their own pull-up resistor. Thi setting only applies to the Mini Maestro 24-Channel Servo Controller. | |
uint32_t | fixedBaudRate |
The fixed baud rate, in units of bits per second. This gets stored in a different format on the usc.cs, so there will be rounding errors which get bigger at higher baud rates, but they will be less than 1% for baud rates of 120000 or less. | |
uint32_t | miniMaestroServoPeriod |
This setting only applies to the Mini Maestro. For the Micro Maestro, see microMaestroServoPeriod. | |
uint8_t | miniSscOffset |
The offset used to determine which Mini SSC commands this device will respond to. The second byte of the Mini SSC command contains the servo number; the correspondence between servo number and maestro number (0-5) is servo# = miniSSCoffset + channel#. Valid values are 0-254. | |
bool | neverSuspend |
If true, then the Maestro will never go to sleep. This lets you power the processer off of USB even when the computer has gone to sleep and put all of its USB devices in the suspend state. | |
bool | scriptDone |
True if the script should not be started when the device starts up. False if the script should be started. | |
uint8_t | serialDeviceNumber |
The serial device number used to identify this device in Pololu protocol commands. Valid values are 0-127, default is 12. | |
uscSerialMode | serialMode |
Determines how serial bytes flow between the two USB COM ports, the TTL port, and the Maestro's serial command processor. | |
uint16_t | serialTimeout |
The time it takes for a serial timeout error to occur, in units of 10 ms. A value of 0 means no timeout error will occur. All values 0-65535 are valid. | |
uint16_t | servoMultiplier |
This setting only applied to the Mini Maestro. The non-multiplied servos have a period specified by miniMaestroServoPeriod. The multiplied servos have a period specified by miniMaestroServoPeriod*servoMultiplier. | |
uint8_t | servoPeriod |
This setting only applies to the Micro Maestro. For the Mini Maestro, see miniMaestroServoPeriod. | |
uint8_t | servosAvailable |
The number of servo ports available (0-5). This, along with the servoPeriod, determine the "maximum maximum pulse width". |
Definition at line 224 of file USBInterface.h.
uscSettings::uscSettings | ( | ) | [inline] |
Definition at line 226 of file USBInterface.h.
std::list<channelSetting> uscSettings::channelSettings |
A list of the configurable parameters for each channel, including name, type, home type, home position, range, neutral, min, max.
Definition at line 352 of file USBInterface.h.
If true, then you must send a 7-bit CRC byte at the end of every serial command (except the Mini SSC II command).
Definition at line 313 of file USBInterface.h.
If true, this setting enables pullups for each channel 18-20 which is configured as an input. This makes the input value be high by default, allowing the user to connect a button or switch without supplying their own pull-up resistor. Thi setting only applies to the Mini Maestro 24-Channel Servo Controller.
Definition at line 361 of file USBInterface.h.
uint32_t uscSettings::fixedBaudRate |
The fixed baud rate, in units of bits per second. This gets stored in a different format on the usc.cs, so there will be rounding errors which get bigger at higher baud rates, but they will be less than 1% for baud rates of 120000 or less.
This parameter only applies if serial mode is USB UART Fixed Baud.
All values above 184 are valid, but values significantly higher than 250000 are subject to high rounding errors and the usc firmware might not be able to keep up with those higher data rates. If the baud rate is too high and the firmware can't keep up, the Maestro will indicate this to you by generating a serial overrun or buffer full error.
Definition at line 307 of file USBInterface.h.
uint32_t uscSettings::miniMaestroServoPeriod |
This setting only applies to the Mini Maestro. For the Micro Maestro, see microMaestroServoPeriod.
The length of the time period in which the Mini Maestro sends pulses to all the enabled servos, in units of quarter microseconds.
Valid values for this parameter are 0 to 16,777,215. But
Default is 80000, so each servo receives a pulse every 20 ms (50 Hz).
Definition at line 276 of file USBInterface.h.
uint8_t uscSettings::miniSscOffset |
The offset used to determine which Mini SSC commands this device will respond to. The second byte of the Mini SSC command contains the servo number; the correspondence between servo number and maestro number (0-5) is servo# = miniSSCoffset + channel#. Valid values are 0-254.
Definition at line 334 of file USBInterface.h.
If true, then the Maestro will never go to sleep. This lets you power the processer off of USB even when the computer has gone to sleep and put all of its USB devices in the suspend state.
Definition at line 320 of file USBInterface.h.
True if the script should not be started when the device starts up. False if the script should be started.
Definition at line 346 of file USBInterface.h.
uint8_t uscSettings::serialDeviceNumber |
The serial device number used to identify this device in Pololu protocol commands. Valid values are 0-127, default is 12.
Definition at line 326 of file USBInterface.h.
Determines how serial bytes flow between the two USB COM ports, the TTL port, and the Maestro's serial command processor.
Definition at line 291 of file USBInterface.h.
uint16_t uscSettings::serialTimeout |
The time it takes for a serial timeout error to occur, in units of 10 ms. A value of 0 means no timeout error will occur. All values 0-65535 are valid.
Definition at line 340 of file USBInterface.h.
uint16_t uscSettings::servoMultiplier |
This setting only applied to the Mini Maestro. The non-multiplied servos have a period specified by miniMaestroServoPeriod. The multiplied servos have a period specified by miniMaestroServoPeriod*servoMultiplier.
Valid values for this parameter are 1 to 256.
Definition at line 285 of file USBInterface.h.
uint8_t uscSettings::servoPeriod |
This setting only applies to the Micro Maestro. For the Mini Maestro, see miniMaestroServoPeriod.
The total time allotted to each servo channel, in units of 256/12 = 21.33333 us. The unit for this one are unusual, because that is the way it is stored on the device and its unit is not a multiple of 4, so we would have inevitable rounding errors if we tried to represent it in quarter-microseconds.
Default is 156, so with 6 servos available you get ~20ms between pulses on a given channel.
Definition at line 263 of file USBInterface.h.
uint8_t uscSettings::servosAvailable |
The number of servo ports available (0-5). This, along with the servoPeriod, determine the "maximum maximum pulse width".
Definition at line 248 of file USBInterface.h.