v1

Fork of Fork_Boss_Communication_Robot by BE@R lab

Committer:
palmdotax
Date:
Mon Mar 21 20:20:42 2016 +0000
Revision:
11:3c11a0355a3e
007

Who changed what in which revision?

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