5 #ifndef SPIDAR_CONTROLLER_FTD2XX_HPP 6 #define SPIDAR_CONTROLLER_FTD2XX_HPP 33 bool enabled(
void)
const {
return enabled_; }
34 uint32_t
deviceID(
void)
const {
return deviceID_; }
49 uint8_t
gpioValue(
void)
const {
return gpioValue_; }
60 bool writePulseWidth(
const uint16_t(&pulseWidth)[MOTOR_COUNT],
const int16_t(&springK)[MOTOR_COUNT],
const uint16_t ratioKB);
61 bool writeDutyCycle(
const double(&dutyCycle)[MOTOR_COUNT],
const int16_t(&springK)[MOTOR_COUNT],
const uint16_t ratioKB);
87 void lastError(std::string& message)
const { message = lastError_; }
90 void setLastError(std::string message);
95 uint32_t serialNumber_;
96 uint32_t firmwareVersion_;
98 uint16_t maxPulseWidth_;
99 uint32_t controlFrequency_;
100 uint32_t pwmFrequency_;
101 uint32_t cascadeFrequency_;
102 uint32_t qeiFrequency_;
105 uint16_t velocityFilterGain_;
106 uint16_t forceFilterGain_;
112 std::string lastError_;
114 std::string logFilename_;
123 #endif // SPIDAR_CONTROLLER_FTD2XX_HPP uint8_t gpioValue(void) const
GPIOの値を取得します.
bool writeQeiFrequency(uint32_t frequency)
エンコーダカウンタの周波数をコントローラ基板へ書き込みます.
ControllerFtd2xx(void)
コンストラクタ.
bool writeDutyCycle(const double(&dutyCycle)[MOTOR_COUNT])
PWMのパルス幅をデューティー比を用いて設定します.
static const size_t MOTOR_COUNT
モータの数
bool readMaxPulseWidth(void)
パルス幅の最大値をコントローラ基板から読み込みます.
uint32_t controlFrequency(void) const
メジャーループの制御周波数を取得します.
bool enableMotorControl(void)
コントローラの動作を開始します.
uint16_t maxPulseWidth(void) const
パルス幅の最大値を取得します.
bool initialized(void) const
初期化済確認フラグを取得します.
bool readEncoderCount(int32_t(&count)[MOTOR_COUNT])
エンコーダ値を読み込みます.
bool writeVelocityFilterGain(uint16_t gain)
速度補償用フィルタゲインをコントローラ基板へ書き込みます.
bool readFirmwareVersion(void)
ファームウェアバージョンをコントローラ基板から取得します.
bool blink(void)
コントローラ基板上のLEDを点滅します.
bool writePulseWidth(const uint16_t(&pulseWidth)[MOTOR_COUNT])
PWMのパルス幅を設定します.
bool writeVelocityGain(int16_t(&gain)[MOTOR_COUNT])
速度補償ゲインをコントローラ基板へ書き込みます.
bool writePulseWidthLimit(const uint16_t(&pulseWidth)[MOTOR_COUNT])
パルス幅の制限値をコントローラ基板へ書き込みます.
uint16_t forceFilterGain(void) const
力覚補間用フィルタゲインを取得します.
uint32_t qeiFrequency(void) const
エンコーダカウンタ周波数を取得します.
uint32_t firmwareVersion(void) const
ファームウェアバージョンを取得します.
bool disableMotorControl(void)
コントローラの動作を停止します.
bool clearEncoderCount(void)
エンコーダ値をクリアします.
bool readVelocityFilterGain(void)
速度補償用フィルタゲインをコントローラ基板から読み込みます.
bool readPulseWidthLimit(void)
パルス幅の制限値をコントローラ基板から読み込みます.
uint32_t cascadeFrequency(void) const
マイナーループの制御周波数を取得します.
int16_t velocityGain(size_t i) const
速度補償ゲインを取得します.
bool writeForceFilterGain(uint16_t gain)
力覚補間用フィルタゲインをコントローラ基板へ書き込みます.
bool readPwmFrequency(void)
PWM周波数をコントローラ基板から読み込みます.
~ControllerFtd2xx(void)
デストラクタ.
void lastError(std::string &message) const
直近のエラーメッセージを取得します.
uint32_t deviceID(void) const
デバイスID(VIDPID)を取得します.
uint32_t serialNumber(void) const
シリアルナンバーを取得します.
uint16_t velocityFilterGain(void) const
速度補償用フィルタゲインを取得します.
bool enabled(void) const
動作中確認フラグを取得します.
uint16_t pulseWidthLimit(size_t i) const
パルス幅の制限値を取得します.
bool readQeiFrequency(void)
エンコーダカウンタ周波数をコントローラ基板から読み込みます.
bool readVelocityGain(void)
速度補償ゲインをコントローラ基板から読み込みます.
bool readCascadeFrequency(void)
マイナーループ制御周波数をコントローラ基板から読み込みます.
bool writeCascadeFrequency(uint32_t frequency)
マイナーループの制御周波数をコントローラ基板へ書き込みます.
bool terminate(void)
コントローラの終了処理を行います.
bool initialize(uint32_t serialNumber)
コントローラの初期化を行います.
bool readForceFilterGain(void)
力覚補間用フィルタゲインをコントローラ基板から読み込みます.
uint32_t pwmFrequency(void) const
PWM周波数を取得します.
bool writePwmFrequency(uint32_t frequency)
PWM周波数をコントローラ基板へ書き込みます.