Communication for reciever

Dependencies:   Fork_Boss_Communication_Robot

Dependents:   BEAR_Motion BEAR_Motion_Editing4Betago

Fork of BEAR_Protocol by BE@R lab

Committer:
ParinyaT
Date:
Fri Jan 22 19:23:31 2016 +0000
Revision:
14:1c3180c64272
Parent:
13:e7404c675611
Child:
15:fe0cc017c66d
unfinish eeprom (save parameter)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
b0ssiz 5:baf5576a14bd 1 #include "mbed.h"
b0ssiz 5:baf5576a14bd 2 #include "Receiver.h"
b0ssiz 7:a0ea8c127611 3
b0ssiz 5:baf5576a14bd 4
b0ssiz 5:baf5576a14bd 5 DigitalOut rs485_dirc(RS485_DIRC);
b0ssiz 5:baf5576a14bd 6
b0ssiz 5:baf5576a14bd 7 Bear_Receiver::Bear_Receiver(PinName tx,PinName rx,int baudrate)
b0ssiz 5:baf5576a14bd 8 {
b0ssiz 5:baf5576a14bd 9 com = new COMMUNICATION(tx,rx,baudrate);
b0ssiz 5:baf5576a14bd 10 }
b0ssiz 5:baf5576a14bd 11
b0ssiz 8:2d34916ac178 12 uint8_t Bear_Receiver::ReceiveCommand(uint8_t *id,uint8_t *data_array,uint8_t *ins)
b0ssiz 5:baf5576a14bd 13 {
b0ssiz 5:baf5576a14bd 14 ANDANTE_PROTOCOL_PACKET package;
b0ssiz 5:baf5576a14bd 15
b0ssiz 5:baf5576a14bd 16 rs485_dirc=0;
b0ssiz 5:baf5576a14bd 17 wait_us(RS485_DELAY);
b0ssiz 5:baf5576a14bd 18 uint8_t status = com->receiveCommunicatePacket(&package);
b0ssiz 5:baf5576a14bd 19
b0ssiz 5:baf5576a14bd 20 if(status == ANDANTE_ERRBIT_NONE) {
b0ssiz 5:baf5576a14bd 21
b0ssiz 8:2d34916ac178 22 *id = package.robotId;
b0ssiz 6:f6529ad2a70d 23 data_array = package.parameter;
b0ssiz 8:2d34916ac178 24 *ins=package.instructionErrorId;
b0ssiz 5:baf5576a14bd 25
b0ssiz 5:baf5576a14bd 26 }
b0ssiz 5:baf5576a14bd 27 return status;
b0ssiz 5:baf5576a14bd 28 }
b0ssiz 5:baf5576a14bd 29
b0ssiz 5:baf5576a14bd 30
b0ssiz 5:baf5576a14bd 31
b0ssiz 7:a0ea8c127611 32
b0ssiz 7:a0ea8c127611 33
b0ssiz 5:baf5576a14bd 34 void Bear_Receiver::FloatSep(float input_float,uint8_t *int_data_array,uint8_t *float_data_array)
b0ssiz 5:baf5576a14bd 35 {
b0ssiz 5:baf5576a14bd 36 float float_buffer;
b0ssiz 5:baf5576a14bd 37 float int_buffer;
b0ssiz 5:baf5576a14bd 38 int16_t integer;
b0ssiz 5:baf5576a14bd 39 int16_t floating_point;
b0ssiz 5:baf5576a14bd 40
b0ssiz 5:baf5576a14bd 41 float_buffer=modf(input_float,&int_buffer);
b0ssiz 5:baf5576a14bd 42 float_buffer*=FLOAT_CONVERTER;
b0ssiz 5:baf5576a14bd 43 integer=(int16_t)int_buffer;
b0ssiz 5:baf5576a14bd 44 floating_point=(int16_t)float_buffer;
b0ssiz 5:baf5576a14bd 45 Utilities::ConvertInt16ToUInt8Array(integer,int_data_array);
b0ssiz 5:baf5576a14bd 46 Utilities::ConvertInt16ToUInt8Array(floating_point,float_data_array);
b0ssiz 5:baf5576a14bd 47 }
b0ssiz 5:baf5576a14bd 48
b0ssiz 5:baf5576a14bd 49
b0ssiz 5:baf5576a14bd 50
b0ssiz 5:baf5576a14bd 51
b0ssiz 5:baf5576a14bd 52 uint8_t Bear_Receiver::sendMotorPos(uint8_t id,float up_angle,float low_angle)
b0ssiz 5:baf5576a14bd 53 {
b0ssiz 5:baf5576a14bd 54 uint8_t IntUpAngle[2],FloatUpAngle[2];
b0ssiz 5:baf5576a14bd 55 uint8_t IntLowAngle[2],FloatLowAngle[2];
b0ssiz 5:baf5576a14bd 56 FloatSep(up_angle,IntUpAngle,FloatUpAngle);
b0ssiz 5:baf5576a14bd 57 FloatSep(low_angle,IntLowAngle,FloatLowAngle);
b0ssiz 5:baf5576a14bd 58
b0ssiz 5:baf5576a14bd 59 ANDANTE_PROTOCOL_PACKET package;
b0ssiz 5:baf5576a14bd 60
b0ssiz 5:baf5576a14bd 61 package.robotId = id;
b0ssiz 5:baf5576a14bd 62 package.length = 10;
b0ssiz 5:baf5576a14bd 63 package.instructionErrorId = WRITE_DATA;
b0ssiz 5:baf5576a14bd 64 package.parameter[0]=IntUpAngle[0];
b0ssiz 5:baf5576a14bd 65 package.parameter[1]=IntUpAngle[1];
b0ssiz 5:baf5576a14bd 66 package.parameter[2]=FloatUpAngle[0];
b0ssiz 5:baf5576a14bd 67 package.parameter[3]=FloatUpAngle[1];
b0ssiz 5:baf5576a14bd 68 package.parameter[4]=IntLowAngle[0];
b0ssiz 5:baf5576a14bd 69 package.parameter[5]=IntLowAngle[1];
b0ssiz 5:baf5576a14bd 70 package.parameter[6]=FloatLowAngle[0];
b0ssiz 5:baf5576a14bd 71 package.parameter[7]=FloatLowAngle[1];
b0ssiz 5:baf5576a14bd 72
b0ssiz 5:baf5576a14bd 73 rs485_dirc=1;
b0ssiz 5:baf5576a14bd 74 wait_us(RS485_DELAY);
b0ssiz 5:baf5576a14bd 75 return com->sendCommunicatePacket(&package);
b0ssiz 6:f6529ad2a70d 76
b0ssiz 6:f6529ad2a70d 77
b0ssiz 6:f6529ad2a70d 78 }
b0ssiz 6:f6529ad2a70d 79
b0ssiz 6:f6529ad2a70d 80
b0ssiz 6:f6529ad2a70d 81
b0ssiz 6:f6529ad2a70d 82 uint8_t Bear_Receiver::sendUpMotorKpKiKd(uint8_t id,float Kp,float Ki,float Kd)
b0ssiz 6:f6529ad2a70d 83 {
b0ssiz 6:f6529ad2a70d 84 uint8_t IntKp[2],FloatKp[2];
b0ssiz 6:f6529ad2a70d 85 uint8_t IntKi[2],FloatKi[2];
b0ssiz 6:f6529ad2a70d 86 uint8_t IntKd[2],FloatKd[2];
b0ssiz 7:a0ea8c127611 87
b0ssiz 6:f6529ad2a70d 88 FloatSep(Kp,IntKp,FloatKp);
b0ssiz 6:f6529ad2a70d 89 FloatSep(Ki,IntKi,FloatKi);
b0ssiz 6:f6529ad2a70d 90 FloatSep(Kd,IntKd,FloatKd);
b0ssiz 7:a0ea8c127611 91
b0ssiz 7:a0ea8c127611 92
b0ssiz 6:f6529ad2a70d 93 ANDANTE_PROTOCOL_PACKET package;
b0ssiz 6:f6529ad2a70d 94
b0ssiz 6:f6529ad2a70d 95 package.robotId = id;
b0ssiz 6:f6529ad2a70d 96 package.length = 14;
b0ssiz 6:f6529ad2a70d 97 package.instructionErrorId = WRITE_DATA;
b0ssiz 6:f6529ad2a70d 98 package.parameter[0]=IntKp[0];
b0ssiz 6:f6529ad2a70d 99 package.parameter[1]=IntKp[1];
b0ssiz 6:f6529ad2a70d 100 package.parameter[2]=FloatKp[0];
b0ssiz 6:f6529ad2a70d 101 package.parameter[3]=FloatKp[1];
b0ssiz 6:f6529ad2a70d 102 package.parameter[4]=IntKi[0];
b0ssiz 6:f6529ad2a70d 103 package.parameter[5]=IntKi[1];
b0ssiz 6:f6529ad2a70d 104 package.parameter[6]=FloatKi[0];
b0ssiz 6:f6529ad2a70d 105 package.parameter[7]=FloatKi[1];
b0ssiz 6:f6529ad2a70d 106 package.parameter[8]=IntKd[0];
b0ssiz 6:f6529ad2a70d 107 package.parameter[9]=IntKd[1];
b0ssiz 6:f6529ad2a70d 108 package.parameter[10]=FloatKd[0];
b0ssiz 6:f6529ad2a70d 109 package.parameter[11]=FloatKd[1];
b0ssiz 6:f6529ad2a70d 110
b0ssiz 6:f6529ad2a70d 111 rs485_dirc=1;
b0ssiz 6:f6529ad2a70d 112 wait_us(RS485_DELAY);
b0ssiz 6:f6529ad2a70d 113 return com->sendCommunicatePacket(&package);
b0ssiz 6:f6529ad2a70d 114 }
b0ssiz 6:f6529ad2a70d 115
b0ssiz 6:f6529ad2a70d 116
b0ssiz 6:f6529ad2a70d 117
b0ssiz 6:f6529ad2a70d 118
b0ssiz 6:f6529ad2a70d 119 uint8_t Bear_Receiver::sendLowMotorKpKiKd(uint8_t id,float Kp,float Ki,float Kd)
b0ssiz 6:f6529ad2a70d 120 {
b0ssiz 6:f6529ad2a70d 121 uint8_t IntKp[2],FloatKp[2];
b0ssiz 6:f6529ad2a70d 122 uint8_t IntKi[2],FloatKi[2];
b0ssiz 6:f6529ad2a70d 123 uint8_t IntKd[2],FloatKd[2];
b0ssiz 7:a0ea8c127611 124
b0ssiz 6:f6529ad2a70d 125 FloatSep(Kp,IntKp,FloatKp);
b0ssiz 6:f6529ad2a70d 126 FloatSep(Ki,IntKi,FloatKi);
b0ssiz 6:f6529ad2a70d 127 FloatSep(Kd,IntKd,FloatKd);
b0ssiz 7:a0ea8c127611 128
b0ssiz 7:a0ea8c127611 129
b0ssiz 6:f6529ad2a70d 130 ANDANTE_PROTOCOL_PACKET package;
b0ssiz 6:f6529ad2a70d 131
b0ssiz 6:f6529ad2a70d 132 package.robotId = id;
b0ssiz 6:f6529ad2a70d 133 package.length = 14;
b0ssiz 6:f6529ad2a70d 134 package.instructionErrorId = WRITE_DATA;
b0ssiz 6:f6529ad2a70d 135 package.parameter[0]=IntKp[0];
b0ssiz 6:f6529ad2a70d 136 package.parameter[1]=IntKp[1];
b0ssiz 6:f6529ad2a70d 137 package.parameter[2]=FloatKp[0];
b0ssiz 6:f6529ad2a70d 138 package.parameter[3]=FloatKp[1];
b0ssiz 6:f6529ad2a70d 139 package.parameter[4]=IntKi[0];
b0ssiz 6:f6529ad2a70d 140 package.parameter[5]=IntKi[1];
b0ssiz 6:f6529ad2a70d 141 package.parameter[6]=FloatKi[0];
b0ssiz 6:f6529ad2a70d 142 package.parameter[7]=FloatKi[1];
b0ssiz 6:f6529ad2a70d 143 package.parameter[8]=IntKd[0];
b0ssiz 6:f6529ad2a70d 144 package.parameter[9]=IntKd[1];
b0ssiz 6:f6529ad2a70d 145 package.parameter[10]=FloatKd[0];
b0ssiz 6:f6529ad2a70d 146 package.parameter[11]=FloatKd[1];
b0ssiz 6:f6529ad2a70d 147
b0ssiz 6:f6529ad2a70d 148 rs485_dirc=1;
b0ssiz 6:f6529ad2a70d 149 wait_us(RS485_DELAY);
b0ssiz 6:f6529ad2a70d 150 return com->sendCommunicatePacket(&package);
b0ssiz 8:2d34916ac178 151 }
b0ssiz 8:2d34916ac178 152
b0ssiz 8:2d34916ac178 153
b0ssiz 8:2d34916ac178 154
ParinyaT 14:1c3180c64272 155 uint8_t Bear_Receiver::sendUpMargin(uint8_t id,uint8_t *Margin)
b0ssiz 12:be8675c18a58 156 {
b0ssiz 12:be8675c18a58 157 ANDANTE_PROTOCOL_PACKET package;
b0ssiz 12:be8675c18a58 158
b0ssiz 12:be8675c18a58 159 package.robotId = id;
b0ssiz 12:be8675c18a58 160 package.length = 6;
b0ssiz 12:be8675c18a58 161 package.instructionErrorId = WRITE_DATA;
ParinyaT 14:1c3180c64272 162 package.parameter[0]=Margin[0];
ParinyaT 14:1c3180c64272 163 package.parameter[1]=Margin[1];
ParinyaT 14:1c3180c64272 164 package.parameter[2]=Margin[2];
ParinyaT 14:1c3180c64272 165 package.parameter[3]=Margin[3];
b0ssiz 12:be8675c18a58 166
b0ssiz 12:be8675c18a58 167 rs485_dirc=1;
b0ssiz 12:be8675c18a58 168 wait_us(RS485_DELAY);
b0ssiz 12:be8675c18a58 169 return com->sendCommunicatePacket(&package);
b0ssiz 12:be8675c18a58 170
b0ssiz 12:be8675c18a58 171 }
b0ssiz 12:be8675c18a58 172
ParinyaT 14:1c3180c64272 173 uint8_t Bear_Receiver::sendLowMargin(uint8_t id,uint8_t *Margin)
b0ssiz 8:2d34916ac178 174 {
b0ssiz 8:2d34916ac178 175 ANDANTE_PROTOCOL_PACKET package;
b0ssiz 8:2d34916ac178 176
b0ssiz 8:2d34916ac178 177 package.robotId = id;
b0ssiz 8:2d34916ac178 178 package.length = 6;
b0ssiz 8:2d34916ac178 179 package.instructionErrorId = WRITE_DATA;
ParinyaT 14:1c3180c64272 180 package.parameter[0]=Margin[0];
ParinyaT 14:1c3180c64272 181 package.parameter[1]=Margin[1];
ParinyaT 14:1c3180c64272 182 package.parameter[2]=Margin[2];
ParinyaT 14:1c3180c64272 183 package.parameter[3]=Margin[3];
b0ssiz 8:2d34916ac178 184
b0ssiz 8:2d34916ac178 185 rs485_dirc=1;
b0ssiz 8:2d34916ac178 186 wait_us(RS485_DELAY);
b0ssiz 8:2d34916ac178 187 return com->sendCommunicatePacket(&package);
b0ssiz 8:2d34916ac178 188
b0ssiz 8:2d34916ac178 189 }
b0ssiz 8:2d34916ac178 190
ParinyaT 14:1c3180c64272 191 uint8_t Bear_Receiver::sendHeight(uint8_t id,uint8_t *Height)
b0ssiz 8:2d34916ac178 192 {
b0ssiz 8:2d34916ac178 193 ANDANTE_PROTOCOL_PACKET package;
b0ssiz 8:2d34916ac178 194
b0ssiz 8:2d34916ac178 195 package.robotId = id;
b0ssiz 8:2d34916ac178 196 package.length = 6;
b0ssiz 8:2d34916ac178 197 package.instructionErrorId = WRITE_DATA;
ParinyaT 14:1c3180c64272 198 package.parameter[0]=Height[0];
ParinyaT 14:1c3180c64272 199 package.parameter[1]=Height[1];
ParinyaT 14:1c3180c64272 200 package.parameter[2]=Height[2];
ParinyaT 14:1c3180c64272 201 package.parameter[3]=Height[3];
b0ssiz 8:2d34916ac178 202
b0ssiz 8:2d34916ac178 203 rs485_dirc=1;
b0ssiz 8:2d34916ac178 204 wait_us(RS485_DELAY);
b0ssiz 8:2d34916ac178 205 return com->sendCommunicatePacket(&package);
b0ssiz 8:2d34916ac178 206 }
b0ssiz 8:2d34916ac178 207
ParinyaT 14:1c3180c64272 208 uint8_t Bear_Receiver::sendWheelPos(uint8_t id,uint8_t *WheelPos)
b0ssiz 8:2d34916ac178 209 {
b0ssiz 8:2d34916ac178 210 ANDANTE_PROTOCOL_PACKET package;
b0ssiz 8:2d34916ac178 211
b0ssiz 8:2d34916ac178 212 package.robotId = id;
b0ssiz 8:2d34916ac178 213 package.length = 6;
b0ssiz 8:2d34916ac178 214 package.instructionErrorId = WRITE_DATA;
ParinyaT 14:1c3180c64272 215 package.parameter[0]=WheelPos[0];
ParinyaT 14:1c3180c64272 216 package.parameter[1]=WheelPos[1];
ParinyaT 14:1c3180c64272 217 package.parameter[2]=WheelPos[2];
ParinyaT 14:1c3180c64272 218 package.parameter[3]=WheelPos[3];
b0ssiz 8:2d34916ac178 219
b0ssiz 8:2d34916ac178 220 rs485_dirc=1;
b0ssiz 8:2d34916ac178 221 wait_us(RS485_DELAY);
b0ssiz 8:2d34916ac178 222 return com->sendCommunicatePacket(&package);
b0ssiz 8:2d34916ac178 223 }
b0ssiz 8:2d34916ac178 224
ParinyaT 14:1c3180c64272 225 uint8_t Bear_Receiver::sendMagData(uint8_t id,uint8_t *Mag)
b0ssiz 8:2d34916ac178 226 {
b0ssiz 8:2d34916ac178 227 ANDANTE_PROTOCOL_PACKET package;
b0ssiz 8:2d34916ac178 228
b0ssiz 8:2d34916ac178 229 package.robotId = id;
b0ssiz 8:2d34916ac178 230 package.length = 26;
b0ssiz 8:2d34916ac178 231 package.instructionErrorId = WRITE_DATA;
ParinyaT 14:1c3180c64272 232 package.parameter[0]=Mag[0];
ParinyaT 14:1c3180c64272 233 package.parameter[1]=Mag[1];
ParinyaT 14:1c3180c64272 234 package.parameter[2]=Mag[2];
ParinyaT 14:1c3180c64272 235 package.parameter[3]=Mag[3];
ParinyaT 14:1c3180c64272 236 package.parameter[4]=Mag[4];
ParinyaT 14:1c3180c64272 237 package.parameter[5]=Mag[5];
ParinyaT 14:1c3180c64272 238 package.parameter[6]=Mag[6];
ParinyaT 14:1c3180c64272 239 package.parameter[7]=Mag[7];
ParinyaT 14:1c3180c64272 240 package.parameter[8]=Mag[8];
ParinyaT 14:1c3180c64272 241 package.parameter[9]=Mag[9];
ParinyaT 14:1c3180c64272 242 package.parameter[10]=Mag[10];
ParinyaT 14:1c3180c64272 243 package.parameter[11]=Mag[11];
ParinyaT 14:1c3180c64272 244 package.parameter[12]=Mag[12];
ParinyaT 14:1c3180c64272 245 package.parameter[13]=Mag[13];
ParinyaT 14:1c3180c64272 246 package.parameter[14]=Mag[14];
ParinyaT 14:1c3180c64272 247 package.parameter[15]=Mag[15];
ParinyaT 14:1c3180c64272 248 package.parameter[16]=Mag[16];
ParinyaT 14:1c3180c64272 249 package.parameter[17]=Mag[17];
ParinyaT 14:1c3180c64272 250 package.parameter[18]=Mag[18];
ParinyaT 14:1c3180c64272 251 package.parameter[19]=Mag[19];
ParinyaT 14:1c3180c64272 252 package.parameter[20]=Mag[20];
ParinyaT 14:1c3180c64272 253 package.parameter[21]=Mag[21];
ParinyaT 14:1c3180c64272 254 package.parameter[22]=Mag[22];
ParinyaT 14:1c3180c64272 255 package.parameter[23]=Mag[23];
b0ssiz 8:2d34916ac178 256
b0ssiz 8:2d34916ac178 257 rs485_dirc=1;
b0ssiz 8:2d34916ac178 258 wait_us(RS485_DELAY);
b0ssiz 8:2d34916ac178 259 return com->sendCommunicatePacket(&package);
b0ssiz 8:2d34916ac178 260 }
b0ssiz 8:2d34916ac178 261
ParinyaT 14:1c3180c64272 262 uint8_t Bear_Receiver::sendOffset(uint8_t id,uint8_t *Offset)
b0ssiz 8:2d34916ac178 263 {
b0ssiz 8:2d34916ac178 264 ANDANTE_PROTOCOL_PACKET package;
b0ssiz 8:2d34916ac178 265
b0ssiz 8:2d34916ac178 266 package.robotId = id;
b0ssiz 8:2d34916ac178 267 package.length = 10;
b0ssiz 8:2d34916ac178 268 package.instructionErrorId = WRITE_DATA;
ParinyaT 14:1c3180c64272 269 package.parameter[0]=Offset[0];
ParinyaT 14:1c3180c64272 270 package.parameter[1]=Offset[1];
ParinyaT 14:1c3180c64272 271 package.parameter[2]=Offset[2];
ParinyaT 14:1c3180c64272 272 package.parameter[3]=Offset[3];
ParinyaT 14:1c3180c64272 273 package.parameter[4]=Offset[4];
ParinyaT 14:1c3180c64272 274 package.parameter[5]=Offset[5];
ParinyaT 14:1c3180c64272 275 package.parameter[6]=Offset[6];
ParinyaT 14:1c3180c64272 276 package.parameter[7]=Offset[7];
b0ssiz 8:2d34916ac178 277
b0ssiz 8:2d34916ac178 278 rs485_dirc=1;
b0ssiz 8:2d34916ac178 279 wait_us(RS485_DELAY);
b0ssiz 8:2d34916ac178 280 return com->sendCommunicatePacket(&package);
b0ssiz 8:2d34916ac178 281 }
b0ssiz 8:2d34916ac178 282
ParinyaT 14:1c3180c64272 283 uint8_t Bear_Receiver::sendBodyWidth(uint8_t id,uint8_t *BodyWidth)
b0ssiz 8:2d34916ac178 284 {
b0ssiz 8:2d34916ac178 285 ANDANTE_PROTOCOL_PACKET package;
b0ssiz 8:2d34916ac178 286
b0ssiz 8:2d34916ac178 287 package.robotId = id;
b0ssiz 8:2d34916ac178 288 package.length = 6;
b0ssiz 8:2d34916ac178 289 package.instructionErrorId = WRITE_DATA;
ParinyaT 14:1c3180c64272 290 package.parameter[0]=BodyWidth[0];
ParinyaT 14:1c3180c64272 291 package.parameter[1]=BodyWidth[1];
ParinyaT 14:1c3180c64272 292 package.parameter[2]=BodyWidth[2];
ParinyaT 14:1c3180c64272 293 package.parameter[3]=BodyWidth[3];
b0ssiz 8:2d34916ac178 294
b0ssiz 8:2d34916ac178 295 rs485_dirc=1;
b0ssiz 8:2d34916ac178 296 wait_us(RS485_DELAY);
b0ssiz 8:2d34916ac178 297 return com->sendCommunicatePacket(&package);
b0ssiz 8:2d34916ac178 298 }
b0ssiz 8:2d34916ac178 299
ParinyaT 14:1c3180c64272 300 uint8_t Bear_Receiver::sendUpAngleRange(uint8_t id,uint8_t *Angle)
b0ssiz 11:b9337e23782e 301 {
b0ssiz 11:b9337e23782e 302 ANDANTE_PROTOCOL_PACKET package;
b0ssiz 11:b9337e23782e 303
b0ssiz 11:b9337e23782e 304 package.robotId = id;
b0ssiz 11:b9337e23782e 305 package.length = 10;
b0ssiz 11:b9337e23782e 306 package.instructionErrorId = WRITE_DATA;
ParinyaT 14:1c3180c64272 307 package.parameter[0]=Angle[0];
ParinyaT 14:1c3180c64272 308 package.parameter[1]=Angle[1];
ParinyaT 14:1c3180c64272 309 package.parameter[2]=Angle[2];
ParinyaT 14:1c3180c64272 310 package.parameter[3]=Angle[3];
ParinyaT 14:1c3180c64272 311 package.parameter[4]=Angle[4];
ParinyaT 14:1c3180c64272 312 package.parameter[5]=Angle[5];
ParinyaT 14:1c3180c64272 313 package.parameter[6]=Angle[6];
ParinyaT 14:1c3180c64272 314 package.parameter[7]=Angle[7];
b0ssiz 11:b9337e23782e 315
b0ssiz 11:b9337e23782e 316 rs485_dirc=1;
b0ssiz 11:b9337e23782e 317 wait_us(RS485_DELAY);
b0ssiz 11:b9337e23782e 318 return com->sendCommunicatePacket(&package);
b0ssiz 11:b9337e23782e 319 }
b0ssiz 11:b9337e23782e 320
b0ssiz 11:b9337e23782e 321
ParinyaT 14:1c3180c64272 322 uint8_t Bear_Receiver::sendLowAngleRange(uint8_t id,uint8_t *Angle)
b0ssiz 8:2d34916ac178 323 {
b0ssiz 8:2d34916ac178 324 ANDANTE_PROTOCOL_PACKET package;
b0ssiz 8:2d34916ac178 325
b0ssiz 8:2d34916ac178 326 package.robotId = id;
b0ssiz 8:2d34916ac178 327 package.length = 10;
b0ssiz 8:2d34916ac178 328 package.instructionErrorId = WRITE_DATA;
ParinyaT 14:1c3180c64272 329 package.parameter[0]=Angle[0];
ParinyaT 14:1c3180c64272 330 package.parameter[1]=Angle[1];
ParinyaT 14:1c3180c64272 331 package.parameter[2]=Angle[2];
ParinyaT 14:1c3180c64272 332 package.parameter[3]=Angle[3];
ParinyaT 14:1c3180c64272 333 package.parameter[4]=Angle[4];
ParinyaT 14:1c3180c64272 334 package.parameter[5]=Angle[5];
ParinyaT 14:1c3180c64272 335 package.parameter[6]=Angle[6];
ParinyaT 14:1c3180c64272 336 package.parameter[7]=Angle[7];
b0ssiz 8:2d34916ac178 337
b0ssiz 8:2d34916ac178 338 rs485_dirc=1;
b0ssiz 8:2d34916ac178 339 wait_us(RS485_DELAY);
b0ssiz 8:2d34916ac178 340 return com->sendCommunicatePacket(&package);
b0ssiz 6:f6529ad2a70d 341 }