Dependents: Serialservo_01 nhk_2018_undercarry_test08 nhk_2018_undercarry_test09 nhk_2018_undercarry_test10 ... more
Revision 3:42687d677641, committed 2018-11-24
- Comitter:
- kenken0721
- Date:
- Sat Nov 24 02:27:41 2018 +0000
- Parent:
- 2:da6abd6afe26
- Commit message:
Changed in this revision
| Serialservo.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/Serialservo.cpp Fri Nov 23 08:38:33 2018 +0000
+++ b/Serialservo.cpp Sat Nov 24 02:27:41 2018 +0000
@@ -12,8 +12,8 @@
void Serialservo::init(){
ser.baud(115200);
ser.format(8, Serial::Even, 1);
- ser.attach(NULL, Serial::TxIrq);
- switching = 0;
+ //ser.attach(NULL, Serial::TxIrq);
+ switching = 1;
tx_data[0] = 0;
tx_data[1] = 0;
tx_data[2] = 0;
@@ -21,24 +21,26 @@
//データ送信完了待ち関数
void Serialservo::flush(){
+ //wait_ms(0.1);
ser.attach(NULL, Serial::TxIrq);
switching = 0;//受信モードに切替
}
//データ送信関数
void Serialservo::transmission(){
- switching = 1;
+ switching = 1;//送信モードに切り替え
ser.putc(tx_data[0]);
ser.putc(tx_data[1]);
ser.putc(tx_data[2]);
- ser.attach(flush, Serial::TxIrq);
+ wait(0.005);
+ //ser.attach(this,&Serialservo::flush, Serial::TxIrq);
}
//ポジション設定
void Serialservo::move(char id,int pos){
pos = (int)map((int)pos, 0, 270, 3500, 11500);
- int temp1 = (value & 0x3F80) >> 7;
- int temp2 = value & 0x7f;
+ int temp1 = (pos & 0x3F80) >> 7;
+ int temp2 = pos & 0x7f;
tx_data[0] = ICS_POS_CMD | id;
tx_data[1] = (unsigned char)temp1;
tx_data[2] = (unsigned char)temp2;