Dependents:   Serialservo_01 nhk_2018_undercarry_test08 nhk_2018_undercarry_test09 nhk_2018_undercarry_test10 ... more

Committer:
kenken0721
Date:
Sun Mar 18 06:38:05 2018 +0000
Revision:
0:2d468b5749f9
Child:
1:4caf52a715c2

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenken0721 0:2d468b5749f9 1 #include "mbed.h"
kenken0721 0:2d468b5749f9 2 #include "Serialservo.h"
kenken0721 0:2d468b5749f9 3
kenken0721 0:2d468b5749f9 4 long Serialservo::map(long x, long in_min, long in_max, long out_min, long out_max){
kenken0721 0:2d468b5749f9 5 return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
kenken0721 0:2d468b5749f9 6 }
kenken0721 0:2d468b5749f9 7
kenken0721 0:2d468b5749f9 8 Serialservo::Serialservo(PinName TX, PinName RX) : ser(TX, RX){
kenken0721 0:2d468b5749f9 9 }
kenken0721 0:2d468b5749f9 10
kenken0721 0:2d468b5749f9 11 void Serialservo::init(char id){
kenken0721 0:2d468b5749f9 12 ser.baud(115200);
kenken0721 0:2d468b5749f9 13 ser.format(8, Serial::Even, 1);
kenken0721 0:2d468b5749f9 14 servoval = id;
kenken0721 0:2d468b5749f9 15 }
kenken0721 0:2d468b5749f9 16
kenken0721 0:2d468b5749f9 17 void Serialservo::move(int value){
kenken0721 0:2d468b5749f9 18 //value += 80;
kenken0721 0:2d468b5749f9 19 value = (int)map((int)value, 270, 0, 3500, 11500);
kenken0721 0:2d468b5749f9 20 unsigned char h,l,head;
kenken0721 0:2d468b5749f9 21 int temp1, temp2;
kenken0721 0:2d468b5749f9 22 temp1 = (value & 0x3F80) >> 7;
kenken0721 0:2d468b5749f9 23 temp2 = value & 0x7f;
kenken0721 0:2d468b5749f9 24 head = 0x80 | servoval;
kenken0721 0:2d468b5749f9 25 h = (unsigned char)temp1;
kenken0721 0:2d468b5749f9 26 l = (unsigned char)temp2;
kenken0721 0:2d468b5749f9 27 ser.putc(head);
kenken0721 0:2d468b5749f9 28 ser.putc(h);
kenken0721 0:2d468b5749f9 29 ser.putc(l);
kenken0721 0:2d468b5749f9 30 }
kenken0721 0:2d468b5749f9 31