Dependents: Serialservo_01 nhk_2018_undercarry_test08 nhk_2018_undercarry_test09 nhk_2018_undercarry_test10 ... more
Serialservo.cpp@0:2d468b5749f9, 2018-03-18 (annotated)
- Committer:
- kenken0721
- Date:
- Sun Mar 18 06:38:05 2018 +0000
- Revision:
- 0:2d468b5749f9
- Child:
- 1:4caf52a715c2
Who changed what in which revision?
User | Revision | Line number | New 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 |