KRS ICSサーボモータ用ライブラリ
初期化 KRS name(tx,rx);
位置指定 void SetPosition(id, position); [position : 0 3500 ~ 11500]
速度設定 void SetSpeed(id, speed); [speed : 0 ~ 127]
ストレッチ設定 void SetStretch(id, stretch); [stretch : 0 ~ 127]
電流制限設定 void SetCurrent(id, rotate, value : 0 ~ 127); [rotate : KRS::F KRS::R KRS::COM, current : 0 ~ 64]
ID書き込み void WriteAddress(id);
id : 0x00 ~ 0x1F
KRS.cpp@0:7bf595a76895, 2022-07-02 (annotated)
- Committer:
- koki_konishi
- Date:
- Sat Jul 02 03:12:15 2022 +0000
- Revision:
- 0:7bf595a76895
- Child:
- 1:50d0eb774b0d
kondo-servo
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
koki_konishi | 0:7bf595a76895 | 1 | #include "KRS.h" |
koki_konishi | 0:7bf595a76895 | 2 | #include "mbed.h" |
koki_konishi | 0:7bf595a76895 | 3 | |
koki_konishi | 0:7bf595a76895 | 4 | KRS::KRS(PinName tx,PinName rx) : _serial(tx,rx){ |
koki_konishi | 0:7bf595a76895 | 5 | _serial.baud(115200); |
koki_konishi | 0:7bf595a76895 | 6 | _serial.format(8,Serial::Even,1); |
koki_konishi | 0:7bf595a76895 | 7 | } |
koki_konishi | 0:7bf595a76895 | 8 | |
koki_konishi | 0:7bf595a76895 | 9 | void KRS::SetPosition(uint8_t address, uint16_t value){ |
koki_konishi | 0:7bf595a76895 | 10 | ins = 0b10000000; |
koki_konishi | 0:7bf595a76895 | 11 | if(address <= 0x1F){ |
koki_konishi | 0:7bf595a76895 | 12 | ins |= address; |
koki_konishi | 0:7bf595a76895 | 13 | }else{ |
koki_konishi | 0:7bf595a76895 | 14 | ins |= 0x1F; |
koki_konishi | 0:7bf595a76895 | 15 | } |
koki_konishi | 0:7bf595a76895 | 16 | |
koki_konishi | 0:7bf595a76895 | 17 | if(value == 0){ |
koki_konishi | 0:7bf595a76895 | 18 | value = 0; |
koki_konishi | 0:7bf595a76895 | 19 | }else if(value < 3500){ |
koki_konishi | 0:7bf595a76895 | 20 | value = 3500; |
koki_konishi | 0:7bf595a76895 | 21 | }else if(value > 11500){ |
koki_konishi | 0:7bf595a76895 | 22 | value = 11500; |
koki_konishi | 0:7bf595a76895 | 23 | } |
koki_konishi | 0:7bf595a76895 | 24 | byteH = value >> 7; |
koki_konishi | 0:7bf595a76895 | 25 | byteL = value; |
koki_konishi | 0:7bf595a76895 | 26 | byteL &= (0 << 8); |
koki_konishi | 0:7bf595a76895 | 27 | |
koki_konishi | 0:7bf595a76895 | 28 | _serial.putc(ins); |
koki_konishi | 0:7bf595a76895 | 29 | _serial.putc(byteH); |
koki_konishi | 0:7bf595a76895 | 30 | _serial.putc(byteL); |
koki_konishi | 0:7bf595a76895 | 31 | } |