9: 2011-03-30 (水) 22:52:50 takaboo |
10: 2011-04-02 (土) 18:23:45 takaboo |
| TITLE:ユニバーサルドライバ3マニュアル | | TITLE:ユニバーサルドライバ3マニュアル |
- | #norelated | + | f#norelated |
| #contents | | #contents |
| [[ショップページへ>http://www.besttechnology.co.jp/modules/onlineshop/index.php?fct=photo&p=110]]~ | | [[ショップページへ>http://www.besttechnology.co.jp/modules/onlineshop/index.php?fct=photo&p=110]]~ |
| **仕様 [#r881cac5] | | **仕様 [#r881cac5] |
| ***同梱内容 [#m79dd66b] | | ***同梱内容 [#m79dd66b] |
- | |型式 |数量 |備考 | | + | | 型式 | 数量 | 備考 | |
- | |ユニバーサルドライバ3本体 |1 |E093B or E093C | | + | |ユニバーサルドライバ3本体 | 1|E093B or E093C | |
- | |USBケーブル |1 |150cm | | + | |USBケーブル | 1|150cm | |
- | |コネクタキット |1 |Dynamixel I/F(MPU・センサ電源)用 ([[50-37-5043>http://www.molex.com/molex/products/datasheet.jsp?part=active/0050375043_CRIMP_HOUSINGS.xml&channel=Products&Lang=ja-jp]]x1, [[08-70-1040>http://www.molex.com/molex/products/datasheet.jsp?part=active/0008701040_CRIMP_TERMINALS.xml&channel=Products&Lang=ja-jp]]x5)&br;モータ電源用 ([[No.05023>http://kopropo.co.jp/wp/?cat=40&paged=5]]x1)&br;モータ用 ([[No.05001>http://kopropo.co.jp/wp/?cat=40&paged=5]]x2) | | + | |コネクタキット | 1|Dynamixel I/F(MPU・センサ電源)用 ([[50-37-5043>http://www.molex.com/molex/products/datasheet.jsp?part=active/0050375043_CRIMP_HOUSINGS.xml&channel=Products&Lang=ja-jp]]x1, [[08-70-1040>http://www.molex.com/molex/products/datasheet.jsp?part=active/0008701040_CRIMP_TERMINALS.xml&channel=Products&Lang=ja-jp]]x5)&br;モータ電源用 ([[No.05023>http://kopropo.co.jp/wp/?cat=40&paged=5]]x1)&br;モータ用 ([[No.05001>http://kopropo.co.jp/wp/?cat=40&paged=5]]x2) | |
| | | |
| ***基本仕様 [#pb0bf34c] | | ***基本仕様 [#pb0bf34c] |
| ユーザは任意のタスクを最大4つまで作成可能で、自動的にマルチタスクで動作する設定になっています。システムで予約されたタスク(TASK5)は自動的に登録されますが、意図的に停止させてしまうと全APIが正常に動作しなくなりますので絶対に停止させないでください。 | | ユーザは任意のタスクを最大4つまで作成可能で、自動的にマルチタスクで動作する設定になっています。システムで予約されたタスク(TASK5)は自動的に登録されますが、意図的に停止させてしまうと全APIが正常に動作しなくなりますので絶対に停止させないでください。 |
| | | |
- | ****UD3_INITIALIZE [#bd0f80b9] | + | ****UD3_INITIALIZE (obsolete)[#bd0f80b9] |
- | 一般的なC言語のプログラムで言えばmain関数に相当し、一番最初に実行される初期化関数。タスクの起動やGPIOの初期化等はこの関数内で記述する。 | + | ****main (new) [#v3c21b98] |
- | void UD3_INITIALIZE(void); | + | メインタスクに相当し、一番最初に実行される初期化関数。タスクの起動やGPIOの初期化等はこの関数内で記述する。~ |
| + | なお本タスクは優先度が最上位にあるため、並列で他のタスクを実行する際はUD3_WAIT等を挿入して意図的にタスクスイッチを促すべきである。 |
| + | void main (void); |
| -パラメータ | | -パラメータ |
| ~なし | | ~なし |
| #include <ud3.h> | | #include <ud3.h> |
| | | |
- | UD3_INITIALIZE () | + | void main (void) |
| { | | { |
| // 動作環境設定 | | // 動作環境設定 |
| } | | } |
| | | |
- | UD3_INITIALIZE () { | + | void main (void) { |
| UD3_ACTIVE_TASK (1); // タスク1をアクティブ化 | | UD3_ACTIVE_TASK (1); // タスク1をアクティブ化 |
| } | | } |
| } | | } |
| | | |
- | UD3_INITIALIZE () { | + | void main (void) { |
| UD3_ACTIVE_TASK (2); // タスク2をアクティブ化 | | UD3_ACTIVE_TASK (2); // タスク2をアクティブ化 |
| } | | } |
| } | | } |
| | | |
- | UD3_INITIALIZE () { | + | void main (void) { |
| UD3_ACTIVE_TASK (3); // タスク3をアクティブ化 | | UD3_ACTIVE_TASK (3); // タスク3をアクティブ化 |
| } | | } |
| } | | } |
| | | |
- | UD3_INITIALIZE () { | + | void main (void) { |
| UD3_ACTIVE_TASK (4); // タスク4をアクティブ化 | | UD3_ACTIVE_TASK (4); // タスク4をアクティブ化 |
| } | | } |
| } | | } |
| | | |
- | UD3_INITIALIZE () { | + | void main (void) { |
| UD3_ACTIVE_TASK (1); // タスク1をアクティブ化 | | UD3_ACTIVE_TASK (1); // タスク1をアクティブ化 |
| } | | } |
| } | | } |
| | | |
- | UD3_INITIALIZE () { | + | void main (void) { |
| UD3_ACTIVE_TASK (1); // タスク1をアクティブ化 | | UD3_ACTIVE_TASK (1); // タスク1をアクティブ化 |
| } | | } |
| } | | } |
| | | |
- | UD3_INITIALIZE () { | + | void main (void) { |
| UD3_ACTIVE_TASK (1); // タスク1をアクティブ化 | | UD3_ACTIVE_TASK (1); // タスク1をアクティブ化 |
| } | | } |
| } | | } |
| | | |
- | UD3_INITIALIZE () { | + | void main (void) { |
| UD3_ACTIVE_TASK (1); | | UD3_ACTIVE_TASK (1); |
| } | | } |
| uint32_t tm = UD3_GET_ELAPSEDTIME (); | | uint32_t tm = UD3_GET_ELAPSEDTIME (); |
| | | |
- | ****UD3_SET_DXPACKETENABLE [#pd1e307a] | + | ****UD3_SET_DXPACKETMODE (new) [#y7012ac0] |
| + | USB・Bluetooth・RS485のシリアルポートの機能を設定する。~ |
| + | Bluetoothに関してはブートローダにて設定されるモードが優先される。 |
| + | void UD3_SET_DXPACKETMODE (TDxPacketMode mode); |
| + | -パラメータ |
| + | --TDxPacketMode '''mode''' |
| + | ~dxNon: 全ポートをユーザ定義のシリアル通信機能として使用し、Dynamixelパケット処理は行わない~ |
| + | dxClient: UD3をスレーブとした全ポートからのDyanmixelパケットに応答する~ |
| + | dxHost: RS485ポートのみユーザ定義のUD3をホストとしたDynamixelパケット処理を行い、それ以外のポートはdxNonと同様 |
| + | ~デフォルトはdxNon |
| + | -戻り値 |
| + | ~なし |
| + | |
| + | ****UD3_SET_DXPACKETENABLE (obsolete) [#pd1e307a] |
| Dynamixelパケット通信機能を開始・停止する。デフォルトで開始されるが、Bluetooth・USB・RS485経由の通信をDynamixelパケットで占有されずにユーザ自らのコンソールとして使用する場合は停止させておく必要がある。 | | Dynamixelパケット通信機能を開始・停止する。デフォルトで開始されるが、Bluetooth・USB・RS485経由の通信をDynamixelパケットで占有されずにユーザ自らのコンソールとして使用する場合は停止させておく必要がある。 |
| void UD3_SET_DXPACKETENABLE (bool mode); | | void UD3_SET_DXPACKETENABLE (bool mode); |
| --TGPIOMode '''conf''' | | --TGPIOMode '''conf''' |
| ~以下のリストから一つだけ選択出来る。 | | ~以下のリストから一つだけ選択出来る。 |
- | ~GPIO_IN_PULLUP_OFF (0:入力かつ内蔵プルアップOFF)~ | + | ~0: GPIO_IN_PULLUP_OFF (入力かつ内蔵プルアップOFF)~ |
- | GPIO_IN_PULLUP_ON (1:入力かつ内蔵プルアップON)~ | + | 1: GPIO_IN_PULLUP_ON (入力かつ内蔵プルアップON)~ |
- | GPIO_ADC (2:アナログ入力)~ | + | 2: GPIO_ADC (アナログ入力)~ |
- | GPIO_OUT_OPENDRAIN (3:オープンドレイン出力)~ | + | 3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ |
- | GPIO_OUT_PUSHPULL (4:プッシュプル出力) | + | 4: GPIO_OUT_PUSHPULL (プッシュプル出力) |
| ~デフォルトはGPIO_IN_PULLUP_OFF。 | | ~デフォルトはGPIO_IN_PULLUP_OFF。 |
| -戻り値 | | -戻り値 |
| #include <ud3.h> | | #include <ud3.h> |
| | | |
- | UD3_INITIALIZE () | + | void main (void) { |
| { | | { |
| // ADC | | // ADC |
| --TGPIOMode '''conf''' | | --TGPIOMode '''conf''' |
| ~以下のリストから一つだけ選択出来る。 | | ~以下のリストから一つだけ選択出来る。 |
- | ~GPIO_IN_PULLUP_OFF (0:入力かつ内蔵プルアップOFF)~ | + | ~0: GPIO_IN_PULLUP_OFF (入力かつ内蔵プルアップOFF)~ |
- | GPIO_IN_PULLUP_ON (1:入力かつ内蔵プルアップON)~ | + | 1: GPIO_IN_PULLUP_ON (入力かつ内蔵プルアップON)~ |
- | GPIO_ADC (2:アナログ入力)~ | + | 2: GPIO_ADC (アナログ入力)~ |
- | GPIO_OUT_OPENDRAIN (3:オープンドレイン出力)~ | + | 3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ |
- | GPIO_OUT_PUSHPULL (4:プッシュプル出力) | + | 4: GPIO_OUT_PUSHPULL (プッシュプル出力) |
| ~デフォルトはGPIO_IN_PULLUP_OFF。 | | ~デフォルトはGPIO_IN_PULLUP_OFF。 |
| -戻り値 | | -戻り値 |
| #include <ud3.h> | | #include <ud3.h> |
| | | |
- | UD3_INITIALIZE () | + | void main (void) { |
| { | | { |
| // ADC | | // ADC |
| --TGPIOMode '''conf''' | | --TGPIOMode '''conf''' |
| ~以下のリストから一つだけ選択出来る。 | | ~以下のリストから一つだけ選択出来る。 |
- | ~GPIO_IN_PULLUP_OFF (0:入力かつ内蔵プルアップOFF)~ | + | ~0: GPIO_IN_PULLUP_OFF (入力かつ内蔵プルアップOFF)~ |
- | GPIO_IN_PULLUP_ON (1:入力かつ内蔵プルアップON)~ | + | 1: GPIO_IN_PULLUP_ON (入力かつ内蔵プルアップON)~ |
- | GPIO_ADC (2:アナログ入力)~ | + | 2: GPIO_ADC (アナログ入力)~ |
- | GPIO_OUT_OPENDRAIN (3:オープンドレイン出力)~ | + | 3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ |
- | GPIO_OUT_PUSHPULL (4:プッシュプル出力) | + | 4: GPIO_OUT_PUSHPULL (プッシュプル出力) |
| ~デフォルトはGPIO_IN_PULLUP_OFF。 | | ~デフォルトはGPIO_IN_PULLUP_OFF。 |
| -戻り値 | | -戻り値 |
| #include <ud3.h> | | #include <ud3.h> |
| | | |
- | UD3_INITIALIZE () | + | void main (void) { |
| { | | { |
| // ADC | | // ADC |
| --TGPIOMode '''conf''' | | --TGPIOMode '''conf''' |
| ~以下のリストから一つだけ選択出来る。 | | ~以下のリストから一つだけ選択出来る。 |
- | ~GPIO_IN_PULLUP_OFF (0:入力かつ内蔵プルアップOFF)~ | + | ~0: GPIO_IN_PULLUP_OFF (入力かつ内蔵プルアップOFF)~ |
- | GPIO_IN_PULLUP_ON (1:入力かつ内蔵プルアップON)~ | + | 1: GPIO_IN_PULLUP_ON (入力かつ内蔵プルアップON)~ |
- | GPIO_ADC (2:アナログ入力)~ | + | 2: GPIO_ADC (アナログ入力)~ |
- | GPIO_OUT_OPENDRAIN (3:オープンドレイン出力)~ | + | 3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ |
- | GPIO_OUT_PUSHPULL (4:プッシュプル出力) | + | 4: GPIO_OUT_PUSHPULL (プッシュプル出力) |
| ~デフォルトはGPIO_IN_PULLUP_OFF。 | | ~デフォルトはGPIO_IN_PULLUP_OFF。 |
| -戻り値 | | -戻り値 |
| #include <ud3.h> | | #include <ud3.h> |
| | | |
- | UD3_INITIALIZE () | + | void main (void) { |
| { | | { |
| // ADC | | // ADC |
| --TGPIOMode '''conf''' | | --TGPIOMode '''conf''' |
| ~以下のリストから一つだけ選択出来る。 | | ~以下のリストから一つだけ選択出来る。 |
- | ~GPIO_IN_PULLUP_OFF (0:入力かつ内蔵プルアップOFF)~ | + | ~0: GPIO_IN_PULLUP_OFF (入力かつ内蔵プルアップOFF)~ |
- | GPIO_IN_PULLUP_ON (1:入力かつ内蔵プルアップON)~ | + | 1: GPIO_IN_PULLUP_ON (入力かつ内蔵プルアップON)~ |
- | GPIO_ADC (2:アナログ入力)~ | + | 2: GPIO_ADC (アナログ入力)~ |
- | GPIO_OUT_OPENDRAIN (3:オープンドレイン出力)~ | + | 3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ |
- | GPIO_OUT_PUSHPULL (4:プッシュプル出力) | + | 4: GPIO_OUT_PUSHPULL (プッシュプル出力) |
| ~デフォルトはGPIO_IN_PULLUP_OFF。 | | ~デフォルトはGPIO_IN_PULLUP_OFF。 |
| -戻り値 | | -戻り値 |
| #include <ud3.h> | | #include <ud3.h> |
| | | |
- | UD3_INITIALIZE () | + | void main (void) { |
| { | | { |
| // ADC | | // ADC |
| --TGPIOMode '''conf''' | | --TGPIOMode '''conf''' |
| ~以下のリストから一つだけ選択出来る。 | | ~以下のリストから一つだけ選択出来る。 |
- | ~GPIO_IN_PULLUP_OFF (0:入力かつ内蔵プルアップOFF)~ | + | ~0: GPIO_IN_PULLUP_OFF (入力かつ内蔵プルアップOFF)~ |
- | GPIO_IN_PULLUP_ON (1:入力かつ内蔵プルアップON)~ | + | 1: GPIO_IN_PULLUP_ON (入力かつ内蔵プルアップON)~ |
- | GPIO_ADC (2:アナログ入力)~ | + | 2: GPIO_ADC (アナログ入力)~ |
- | GPIO_OUT_OPENDRAIN (3:オープンドレイン出力)~ | + | 3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ |
- | GPIO_OUT_PUSHPULL (4:プッシュプル出力) | + | 4: GPIO_OUT_PUSHPULL (プッシュプル出力) |
| ~デフォルトはGPIO_IN_PULLUP_OFF。 | | ~デフォルトはGPIO_IN_PULLUP_OFF。 |
| -戻り値 | | -戻り値 |
| #include <ud3.h> | | #include <ud3.h> |
| | | |
- | UD3_INITIALIZE () | + | void main (void) { |
| { | | { |
| // ADC | | // ADC |
| --TGPIOMode '''conf''' | | --TGPIOMode '''conf''' |
| ~以下のリストから一つだけ選択出来る。 | | ~以下のリストから一つだけ選択出来る。 |
- | ~GPIO_IN_PULLUP_OFF (0:入力かつ内蔵プルアップOFF)~ | + | ~0: GPIO_IN_PULLUP_OFF (入力かつ内蔵プルアップOFF)~ |
- | GPIO_IN_PULLUP_ON (1:入力かつ内蔵プルアップON)~ | + | 1: GPIO_IN_PULLUP_ON (入力かつ内蔵プルアップON)~ |
- | GPIO_ADC (2:アナログ入力)~ | + | 2: GPIO_ADC (アナログ入力)~ |
- | GPIO_OUT_OPENDRAIN (3:オープンドレイン出力)~ | + | 3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ |
- | GPIO_OUT_PUSHPULL (4:プッシュプル出力) | + | 4: GPIO_OUT_PUSHPULL (プッシュプル出力) |
| ~デフォルトはGPIO_IN_PULLUP_OFF。 | | ~デフォルトはGPIO_IN_PULLUP_OFF。 |
| -戻り値 | | -戻り値 |
| #include <ud3.h> | | #include <ud3.h> |
| | | |
- | UD3_INITIALIZE () | + | void main (void) { |
| { | | { |
| // ADC | | // ADC |
| --TGPIOMode '''conf''' | | --TGPIOMode '''conf''' |
| ~以下のリストから一つだけ選択出来る。 | | ~以下のリストから一つだけ選択出来る。 |
- | ~GPIO_IN_PULLUP_OFF (0:入力かつ内蔵プルアップOFF)~ | + | ~0: GPIO_IN_PULLUP_OFF (入力かつ内蔵プルアップOFF)~ |
- | GPIO_IN_PULLUP_ON (1:入力かつ内蔵プルアップON)~ | + | 1: GPIO_IN_PULLUP_ON (入力かつ内蔵プルアップON)~ |
- | GPIO_ADC (2:アナログ入力)~ | + | 2: GPIO_ADC (アナログ入力)~ |
- | GPIO_OUT_OPENDRAIN (3:オープンドレイン出力)~ | + | 3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ |
- | GPIO_OUT_PUSHPULL (4:プッシュプル出力) | + | 4: GPIO_OUT_PUSHPULL (プッシュプル出力) |
| ~デフォルトはGPIO_IN_PULLUP_OFF。 | | ~デフォルトはGPIO_IN_PULLUP_OFF。 |
| -戻り値 | | -戻り値 |
| #include <ud3.h> | | #include <ud3.h> |
| | | |
- | UD3_INITIALIZE () | + | void main (void) { |
| { | | { |
| // ADC | | // ADC |
| --TGPIOMode '''conf''' | | --TGPIOMode '''conf''' |
| ~GPIO端子の動作内容を設定。以下のリストから一つだけ選択出来る。なお、GPIO_ADC(2:アナログ入力)は設定出来ない。 | | ~GPIO端子の動作内容を設定。以下のリストから一つだけ選択出来る。なお、GPIO_ADC(2:アナログ入力)は設定出来ない。 |
- | ~GPIO_IN_PULLUP_OFF (0:入力かつ内蔵プルアップOFF)~ | + | ~0: GPIO_IN_PULLUP_OFF (入力かつ内蔵プルアップOFF)~ |
- | GPIO_IN_PULLUP_ON (1:入力かつ内蔵プルアップON)~ | + | 1: GPIO_IN_PULLUP_ON (入力かつ内蔵プルアップON)~ |
- | GPIO_OUT_OPENDRAIN (3:オープンドレイン出力)~ | + | 2: 指定不可~ |
- | GPIO_OUT_PUSHPULL (4:プッシュプル出力)~ | + | 3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ |
- | GPIO_PWM_CAP (5:パルス幅計測用入力かつプルアップON)~ | + | 4: GPIO_OUT_PUSHPULL (プッシュプル出力)~ |
- | GPIO_PWM (6:PWM出力) | + | 5: GPIO_PWM_CAP (パルス幅計測用入力かつプルアップON)~ |
| + | 6: GPIO_PWM (PWM出力) |
| ~デフォルトはGPIO_IN_PULLUP_OFF。 | | ~デフォルトはGPIO_IN_PULLUP_OFF。 |
| -戻り値 | | -戻り値 |
| #include <ud3.h> | | #include <ud3.h> |
| | | |
- | UD3_INITIALIZE () | + | void main (void) { |
| { | | { |
| // PWMキャプチャモードに設定 | | // PWMキャプチャモードに設定 |
| --TGPIOMode '''conf''' | | --TGPIOMode '''conf''' |
| ~GPIO端子の動作内容を設定。以下のリストから一つだけ選択出来る。なお、GPIO_ADC(2:アナログ入力)は設定出来ない。 | | ~GPIO端子の動作内容を設定。以下のリストから一つだけ選択出来る。なお、GPIO_ADC(2:アナログ入力)は設定出来ない。 |
- | ~GPIO_IN_PULLUP_OFF (0:入力かつ内蔵プルアップOFF)~ | + | ~0: GPIO_IN_PULLUP_OFF (入力かつ内蔵プルアップOFF)~ |
- | GPIO_IN_PULLUP_ON (1:入力かつ内蔵プルアップON)~ | + | 1: GPIO_IN_PULLUP_ON (入力かつ内蔵プルアップON)~ |
- | GPIO_OUT_OPENDRAIN (3:オープンドレイン出力)~ | + | 2: 指定不可~ |
- | GPIO_OUT_PUSHPULL (4:プッシュプル出力)~ | + | 3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ |
- | GPIO_PWM_CAP (5:パルス幅計測用入力かつプルアップON)~ | + | 4: GPIO_OUT_PUSHPULL (プッシュプル出力)~ |
- | GPIO_PWM (6:PWM出力) | + | 5: GPIO_PWM_CAP (パルス幅計測用入力かつプルアップON)~ |
| + | 6: GPIO_PWM (PWM出力) |
| ~デフォルトはGPIO_IN_PULLUP_OFF。 | | ~デフォルトはGPIO_IN_PULLUP_OFF。 |
| -戻り値 | | -戻り値 |
| #include <ud3.h> | | #include <ud3.h> |
| | | |
- | UD3_INITIALIZE () | + | void main (void) { |
| { | | { |
| // パルス幅計測モードに設定 | | // パルス幅計測モードに設定 |
| --TGPIOMode '''conf''' | | --TGPIOMode '''conf''' |
| ~GPIO端子の動作内容を設定。以下のリストから一つだけ選択出来る。なお、GPIO_ADC(2:アナログ入力)は設定出来ない。 | | ~GPIO端子の動作内容を設定。以下のリストから一つだけ選択出来る。なお、GPIO_ADC(2:アナログ入力)は設定出来ない。 |
- | ~GPIO_IN_PULLUP_OFF (0:入力かつ内蔵プルアップOFF)~ | + | ~0: GPIO_IN_PULLUP_OFF (入力かつ内蔵プルアップOFF)~ |
- | GPIO_IN_PULLUP_ON (1:入力かつ内蔵プルアップON)~ | + | 1: GPIO_IN_PULLUP_ON (入力かつ内蔵プルアップON)~ |
- | GPIO_OUT_OPENDRAIN (3:オープンドレイン出力)~ | + | 2: 指定不可~ |
- | GPIO_OUT_PUSHPULL (4:プッシュプル出力)~ | + | 3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ |
- | GPIO_PWM_CAP (5:パルス幅計測用入力かつプルアップON)~ | + | 4: GPIO_OUT_PUSHPULL (プッシュプル出力)~ |
- | GPIO_PWM (6:PWM出力) | + | 5: GPIO_PWM_CAP (パルス幅計測用入力かつプルアップON)~ |
| + | 6: GPIO_PWM (PWM出力) |
| ~デフォルトはGPIO_IN_PULLUP_OFF。 | | ~デフォルトはGPIO_IN_PULLUP_OFF。 |
| -戻り値 | | -戻り値 |
| #include <ud3.h> | | #include <ud3.h> |
| | | |
- | UD3_INITIALIZE () | + | void main (void) { |
| { | | { |
| // パルス幅計測モードに設定 | | // パルス幅計測モードに設定 |
| -パラメータ | | -パラメータ |
| --uint8_t '''on''' | | --uint8_t '''on''' |
- | ~0で消灯、1で点灯する。 | + | ~0: 消灯~ |
| + | 1: 点灯 |
| -戻り値 | | -戻り値 |
| ~成功すると0 、パラメータエラーがあった場合は-1が返される。 | | ~成功すると0 、パラメータエラーがあった場合は-1が返される。 |
| -パラメータ | | -パラメータ |
| --uint8_t '''mode''' | | --uint8_t '''mode''' |
- | ~_UD_MOTOR_BRAKE (0:ブレーキモード)~ | + | ~0: _UD_MOTOR_BRAKE (ブレーキモード)~ |
- | _UD_MOTOR_DRIVE (1:ドライブモード) | + | 1: _UD_MOTOR_DRIVE (ドライブモード) |
| ~デフォルトは_UD_MOTOR_BRAKE。 | | ~デフォルトは_UD_MOTOR_BRAKE。 |
| -戻り値 | | -戻り値 |
| // M1を20%のDUTYで動作させます。 | | // M1を20%のDUTYで動作させます。 |
| UD3_SET_M1PWMDUTY (200); | | UD3_SET_M1PWMDUTY (200); |
| + | |
| + | ****UD3_GET_M1PWMDUTY (new)[#q5687f5b] |
| + | M1の設定済みPWMデューティー比を取得する。~ |
| + | int16_t UD3_GET_M1PWMDUTY (void); |
| + | -パラメータ |
| + | ~なし |
| + | -戻り値 |
| + | ~-1000~0~1000[‰]。 |
| | | |
| ****UD3_SET_M2FREQUENCY [#jf15fafa] | | ****UD3_SET_M2FREQUENCY [#jf15fafa] |
| -パラメータ | | -パラメータ |
| --uint8_t '''mode''' | | --uint8_t '''mode''' |
- | ~_UD_MOTOR_BRAKE (0:ブレーキモード)~ | + | ~0: _UD_MOTOR_BRAKE (ブレーキモード)~ |
- | _UD_MOTOR_DRIVE (1:ドライブモード) | + | 1: _UD_MOTOR_DRIVE (ドライブモード) |
| ~デフォルトは_UD_MOTOR_BRAKE。 | | ~デフォルトは_UD_MOTOR_BRAKE。 |
| -戻り値 | | -戻り値 |
| // M2を20%のDUTYで動作させます。 | | // M2を20%のDUTYで動作させます。 |
| UD3_SET_M2PWMDUTY (200); | | UD3_SET_M2PWMDUTY (200); |
| + | |
| + | ****UD3_GET_M2PWMDUTY (new) [#hed95d65] |
| + | M2の設定済みPWMデューティー比を取得する。~ |
| + | int16_t UD3_GET_M2PWMDUTY (void); |
| + | -パラメータ |
| + | ~なし |
| + | -戻り値 |
| + | ~-1000~0~1000[‰]。 |
| | | |
| ****UD3_SET_MOTORREVRSE [#m604c98d] | | ****UD3_SET_MOTORREVRSE [#m604c98d] |
| ****UD3_SET_PWM8CLOCK [#g666594c] | | ****UD3_SET_PWM8CLOCK [#g666594c] |
| PWM8のPWM出力及びPWM幅計測用ベースクロックを設定する。PWMは本クロックを基準に16bitカウンタとして機能する。~ | | PWM8のPWM出力及びPWM幅計測用ベースクロックを設定する。PWMは本クロックを基準に16bitカウンタとして機能する。~ |
- | GPIO8を[[UD3_CFG_GPIO8>#u201f4af]]でGPIO_PWMに設定する必要がある。 | + | GPIO8を[[UD3_CFG_GPIO8>#u201f4af]]でGPIO_PWMないしGPIO_PWM_CAPに設定する必要がある。 |
| int UD3_SET_PWM8CLOCK (uint8_t clock); | | int UD3_SET_PWM8CLOCK (uint8_t clock); |
| -パラメータ | | -パラメータ |
| --uint8_t '''clock''' | | --uint8_t '''clock''' |
| ~ベースクロックを0~4で選択。 | | ~ベースクロックを0~4で選択。 |
- | ~_UD_PWM_CLOCK_24M (0:24MHz)~ | + | ~0: _UD_PWM_CLOCK_24M (24MHz)~ |
- | _UD_PWM_CLOCK_6M (1:6MHz)~ | + | 1: _UD_PWM_CLOCK_6M (6MHz)~ |
- | _UD_PWM_CLOCK_1500K (2:1.5MHz)~ | + | 2: _UD_PWM_CLOCK_1500K (1.5MHz)~ |
- | _UD_PWM_CLOCK_375K (3:375kHz)~ | + | 3: _UD_PWM_CLOCK_375K (375kHz)~ |
- | _UD_PWM_CLOCK_46K (4:46.875kHz) | + | 4: _UD_PWM_CLOCK_46K (46.875kHz) |
| -戻り値 | | -戻り値 |
| ~成功すると0 、パラメータエラーがあった場合は-1が返される。 | | ~成功すると0 、パラメータエラーがあった場合は-1が返される。 |
| ****UD3_SET_PWM9CLOCK [#ae26f679] | | ****UD3_SET_PWM9CLOCK [#ae26f679] |
| PWM9のPWM出力及びPWM幅計測用ベースクロックを設定する。PWMは本クロックを基準に16bitカウンタとして機能する。~ | | PWM9のPWM出力及びPWM幅計測用ベースクロックを設定する。PWMは本クロックを基準に16bitカウンタとして機能する。~ |
- | GPIO9を[[UD3_CFG_GPIO9>#u201f4af]]でGPIO_PWMに設定する必要がある。 | + | GPIO9を[[UD3_CFG_GPIO9>#u201f4af]]でGPIO_PWMないしGPIO_PWM_CAPに設定する必要がある。 |
| int UD3_SET_PWM9CLOCK (uint8_t clock); | | int UD3_SET_PWM9CLOCK (uint8_t clock); |
| -パラメータ | | -パラメータ |
| --uint8_t '''clock''' | | --uint8_t '''clock''' |
| ~ベースクロックを0~4で選択。 | | ~ベースクロックを0~4で選択。 |
- | ~_UD_PWM_CLOCK_24M (0:24MHz)~ | + | ~0: _UD_PWM_CLOCK_24M (24MHz)~ |
- | _UD_PWM_CLOCK_6M (1:6MHz)~ | + | 1: _UD_PWM_CLOCK_6M (6MHz)~ |
- | _UD_PWM_CLOCK_1500K (2:1.5MHz)~ | + | 2: _UD_PWM_CLOCK_1500K (1.5MHz)~ |
- | _UD_PWM_CLOCK_375K (3:375kHz)~ | + | 3: _UD_PWM_CLOCK_375K (375kHz)~ |
- | _UD_PWM_CLOCK_46K (4:46.875kHz) | + | 4: _UD_PWM_CLOCK_46K (46.875kHz) |
| -戻り値 | | -戻り値 |
| ~成功すると0 、パラメータエラーがあった場合は-1が返される。 | | ~成功すると0 、パラメータエラーがあった場合は-1が返される。 |
| ****UD3_SET_PWM10CLOCK [#cd6005d8] | | ****UD3_SET_PWM10CLOCK [#cd6005d8] |
| PWM10のPWM出力及びPWM幅計測用ベースクロックを設定する。PWMは本クロックを基準に16bitカウンタとして機能する。~ | | PWM10のPWM出力及びPWM幅計測用ベースクロックを設定する。PWMは本クロックを基準に16bitカウンタとして機能する。~ |
- | GPIO10を[[UD3_CFG_GPIO10>#d2dd2f39]]でGPIO_PWMに設定する必要がある。 | + | GPIO10を[[UD3_CFG_GPIO10>#d2dd2f39]]でGPIO_PWMないしGPIO_PWM_CAPに設定する必要がある。 |
| int UD3_SET_PWM10CLOCK (uint8_t clock); | | int UD3_SET_PWM10CLOCK (uint8_t clock); |
| -パラメータ | | -パラメータ |
| --uint8_t '''clock''' | | --uint8_t '''clock''' |
| ~ベースクロックを0~4で選択。 | | ~ベースクロックを0~4で選択。 |
- | ~_UD_PWM_CLOCK_24M (0:24MHz)~ | + | ~0: _UD_PWM_CLOCK_24M (24MHz)~ |
- | _UD_PWM_CLOCK_6M (1:6MHz)~ | + | 1: _UD_PWM_CLOCK_6M (6MHz)~ |
- | _UD_PWM_CLOCK_1500K (2:1.5MHz)~ | + | 2: _UD_PWM_CLOCK_1500K (1.5MHz)~ |
- | _UD_PWM_CLOCK_375K (3:375kHz)~ | + | 3: _UD_PWM_CLOCK_375K (375kHz)~ |
- | _UD_PWM_CLOCK_46K (4:46.875kHz) | + | 4: _UD_PWM_CLOCK_46K (46.875kHz) |
| -戻り値 | | -戻り値 |
| ~成功すると0 、パラメータエラーがあった場合は-1が返される。 | | ~成功すると0 、パラメータエラーがあった場合は-1が返される。 |
| include <ud3.h> | | include <ud3.h> |
| | | |
- | UD3_INITIALIZE () { | + | void main (void) { |
| // GPIO8,9をパルス幅計測モードに | | // GPIO8,9をパルス幅計測モードに |
| UD3_CFG_GPIO8 (GPIO_PWM_CAP); | | UD3_CFG_GPIO8 (GPIO_PWM_CAP); |
| include <ud3.h> | | include <ud3.h> |
| | | |
- | UD3_INITIALIZE () { | + | void main (void) { |
| // GPIO8,9をパルス幅計測モードに | | // GPIO8,9をパルス幅計測モードに |
| UD3_CFG_GPIO8 (GPIO_PWM_CAP); | | UD3_CFG_GPIO8 (GPIO_PWM_CAP); |
| uint8_t r2 = UD3_GET_PSR2 (); | | uint8_t r2 = UD3_GET_PSR2 (); |
| | | |
- | ****UD3_GET_GX [#wa4f160b] | + | ****UD3_GET_GX (obsolute)[#wa4f160b] |
| + | ****UD3_GET_PSGX (new) [#hccd1b38] |
| SIXAXISのX軸加速度を取得する。 | | SIXAXISのX軸加速度を取得する。 |
- | uint16_t UD3_GET_GX(void); | + | uint16_t UD3_GET_PSGX(void); |
| -パラメータ | | -パラメータ |
| ~なし | | ~なし |
| ~uint16_t 0~1023の範囲でX軸の加速度を返す。 | | ~uint16_t 0~1023の範囲でX軸の加速度を返す。 |
| -使用例 | | -使用例 |
- | uint16_t gx = UD3_GET_GX (); | + | uint16_t gx = UD3_GET_PSGX (); |
| | | |
- | ****UD3_GET_GY [#m9f9751e] | + | ****UD3_GET_GY (obsolute)[#m9f9751e] |
| + | ****UD3_GET_PSGY (new) [#rd271105] |
| SIXAXISのY軸加速度を取得する。 | | SIXAXISのY軸加速度を取得する。 |
- | uint16_t UD3_GET_GX(void); | + | uint16_t UD3_GET_PSGY(void); |
| -パラメータ | | -パラメータ |
| ~なし | | ~なし |
| ~uint16_t 0~1023の範囲でY軸の加速度を返す。 | | ~uint16_t 0~1023の範囲でY軸の加速度を返す。 |
| -使用例 | | -使用例 |
- | uint16_t gy = UD3_GET_GY (); | + | uint16_t gy = UD3_GET_PSGY (); |
| | | |
- | ****UD3_GET_GZ [#i5505dd1] | + | ****UD3_GET_GZ (obsolute)[#i5505dd1] |
| + | ****UD3_GET_PSGZ (new) [#ibd2e0bc] |
| SIXAXISのZ軸加速度を取得する。 | | SIXAXISのZ軸加速度を取得する。 |
- | uint16_t UD3_GET_GZ(void); | + | uint16_t UD3_GET_PSGZ(void); |
| -パラメータ | | -パラメータ |
| ~なし | | ~なし |
| ~uint16_t 0~1023の範囲でZ軸の加速度を返す。 | | ~uint16_t 0~1023の範囲でZ軸の加速度を返す。 |
| -使用例 | | -使用例 |
- | uint16_t gz = UD3_GET_GZ (); | + | uint16_t gz = UD3_GET_PSGZ (); |
| | | |
- | ****UD3_GET_GYRO [#pcb0b72f] | + | ****UD3_GET_GYRO (obsolute)[#pcb0b72f] |
| + | ****UD3_GET_PSGYRO (new) [#cd05b422] |
| SIXAXISの角加速度を取得する。 | | SIXAXISの角加速度を取得する。 |
- | uint16_t UD3_GET_GYRO(void); | + | uint16_t UD3_GET_PSGYRO(void); |
| -パラメータ | | -パラメータ |
| ~なし | | ~なし |
| ~uint16_t 0~1023の範囲で角加速度を返す。 | | ~uint16_t 0~1023の範囲で角加速度を返す。 |
| -使用例 | | -使用例 |
- | uint16_t gyro = UD3_GET_GYRO (); | + | uint16_t gyro = UD3_GET_PSGYRO (); |
| | | |
| ***コンソール関連 [#d0d4a9b4] | | ***コンソール関連 [#d0d4a9b4] |
- | コンソールとして使用出来るUSB・Bluetooth・RS485のいずれかを介したシリアル通信を行います。デフォルトのコンソールはUSBとなっていますが、いすれかのI/Fからの受信が発生する事でデフォルトコンソールが切り替わります。~ | + | コンソールとして使用出来るUSB・Bluetooth・RS485のいずれかを介したシリアル通信を行います。デフォルトの送信先コンソールは全ポートBとなっていますが、いすれかのI/Fからの受信が発生する事でデフォルトコンソールが切り替わります。~ |
- | なお、USB・Bluetooth・RS485のI/FはDynamixelパケットによる通信に使用されるため、コンソールとしてのみ使用するには[[UD3_SET_DXPACKETENABLE>#pd1e307a]]でDynamixelパケット処理を停止しておく必要があります。その場合はDynamixelパケット処理が行われなくなります。~ | + | なお、USB・Bluetooth・RS485のI/FはDynamixelパケットによる通信に使用されるため、コンソールとしてのみ使用するには[[UD3_SET_DXPACKETMODE>#y7012ac0]]でDynamixelパケット処理を停止しておく必要があります。その場合はDynamixelパケット処理が行われなくなります。~ |
| また、コンソールへの送信にはシリアル通信の都合からそれ相応の時間を要します。高速で動作させているタスクの中で高い頻度で送信を行うと処理時間が長くなります。 | | また、コンソールへの送信にはシリアル通信の都合からそれ相応の時間を要します。高速で動作させているタスクの中で高い頻度で送信を行うと処理時間が長くなります。 |
| | | |
| -使用例 | | -使用例 |
| while (UD3_RXBUFF()) UD3_PUTC(UD3_GETC()); | | while (UD3_RXBUFF()) UD3_PUTC(UD3_GETC()); |
| + | |
| + | ****UD3_GETS (new) [#lc54c38f] |
| + | コンソールからエンター(CRかLF)ないしエスケープ(ESC)コードを受信するまで文字列を取得する。 |
| + | int UD3_GETS (char *s, int len); |
| + | -パラメータ |
| + | --char *s |
| + | ~受信文字列を保存するバッファのポインタを指定 |
| + | --int len |
| + | ~受信文字列の最大バッファサイズを指定 |
| + | -戻り値 |
| + | ~int 受信文字数 |
| + | -使用例 |
| + | char buf[30]; |
| + | if (UD3_GETS(buf, sizeof(buf))) UD3_PUTS(buf); |
| | | |
| ****UD3_PUTS [#qc95c51a] | | ****UD3_PUTS [#qc95c51a] |
| int i ; | | int i ; |
| while UD3_PRINTF("HELLO! %d\n", i++); | | while UD3_PRINTF("HELLO! %d\n", i++); |
| + | |
| + | ****UD3_SCANF (new) [#l1b83762] |
| + | コンソールから書式化文字列を受信する。 |
| + | int UD3_SCANF (const char *type, void *val); |
| + | -パラメータ |
| + | --const char '''*type''' |
| + | ~書式文字列 |
| + | --void '''*val''' |
| + | ~格納先変数 |
| + | -戻り値 |
| + | ~int 入力データの個数。 |
| + | -使用例 |
| + | int i ; |
| + | if (UD3_PRINTF("%d", &i)) UD3_PRINTF("i=%d", i); |
| | | |
| **サンプルプログラム [#kf8170aa] | | **サンプルプログラム [#kf8170aa] |