- gs2d_driver.h
- gs2d_type.h
- gs2d_command.h
- gs2d_util_crc16.h
- gs2d_util_serial_base.h
- gs2d_b3m.h
- gs2d_futaba.h
- gs2d_krs.h
- gs2d_robotis.h
- gs2d.h
以上の10ファイルをライブラリに含める。
gs2d_util_serial_base.h
の形式に合わせたクラスを用意。
#include <iostream.h>
#include "gs2d.h"
#include "TemplateSerial.h"
using namespace gs2d;
int main(void)
{
Driver *servo = new RobotisP20<TemplateSerial>();
// ID1のトルクをON
servo->writeTorqueEnable(id, 1);
// ID1を90度の位置に移動
servo->writeTargetPosition(1, 90.0);
// ID1を-90度の位置に移動
servo->writeTargetPosition(1, -90.0);
}
#include <iostream.h>
#include "gs2d.h"
#include "TemplateSerial.h"
using namespace gs2d;
int main(void)
{
Driver *servo = new RobotisP20<TemplateSerial>();
// ID1のサーボの温度を読み込み
int temperature = servo->readTemperature(1);
std::cout << temperature << std::endl;
}
#include <iostream.h>
#include "gs2d.h"
#include "TemplateSerial.h"
using namespace gs2d;
void TemperatureCallback(CallbackEventArgs e)
{
std::cout << (int32_t)e.data << std::endl;
}
int main(void)
{
Driver *servo = new RobotisP20<TemplateSerial>();
// ID1のサーボの温度を読み込み
servo->readTemperature(1, TemperatureCallback);
// 受信待機
while(1) servo->listener();
}
コールバック関数の引数に使われる構造体です。 全てのコールバック関数がこの型で統一されています。
class CallbackEventArgs
{
uint8_t id;
uint8_t status;
EventDataType data;
};
- メンバ変数
- data : イベントの固有データ。代入先によってuint32_t型かfloat型どちらかで返される。
- id : イベント発生元サーボのID
- status : イベント発生時のエラー状態
Generic Serial-bus Servo Driver library uses Apache License 2.0.