test
Dependencies: mbed BufferedSerial LS7366LIB2 FastPWM
pc_serial.h@0:e12eb40b9fef, 2020-04-23 (annotated)
- Committer:
- lsh2205
- Date:
- Thu Apr 23 00:38:16 2020 +0000
- Revision:
- 0:e12eb40b9fef
test;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lsh2205 | 0:e12eb40b9fef | 1 | #ifndef _PC_SERIAL_H_ |
lsh2205 | 0:e12eb40b9fef | 2 | #define _PC_SERIAL_H_ |
lsh2205 | 0:e12eb40b9fef | 3 | |
lsh2205 | 0:e12eb40b9fef | 4 | #define debug1 0 |
lsh2205 | 0:e12eb40b9fef | 5 | #define debug2 0 |
lsh2205 | 0:e12eb40b9fef | 6 | #define Start_com 1 |
lsh2205 | 0:e12eb40b9fef | 7 | |
lsh2205 | 0:e12eb40b9fef | 8 | Serial pc(USBTX, USBRX); |
lsh2205 | 0:e12eb40b9fef | 9 | |
lsh2205 | 0:e12eb40b9fef | 10 | char check_pitch[6]; |
lsh2205 | 0:e12eb40b9fef | 11 | char rx_buffer[100]={0,}; |
lsh2205 | 0:e12eb40b9fef | 12 | char command[100]={0,}; |
lsh2205 | 0:e12eb40b9fef | 13 | char tx_buffer[100]="txdat32768,32768,32768,32768,32768,32768\n"; |
lsh2205 | 0:e12eb40b9fef | 14 | int tx_index = 0; |
lsh2205 | 0:e12eb40b9fef | 15 | int rx_index = 0; |
lsh2205 | 0:e12eb40b9fef | 16 | bool rx_flag = false; |
lsh2205 | 0:e12eb40b9fef | 17 | |
lsh2205 | 0:e12eb40b9fef | 18 | long data_recive=0; |
lsh2205 | 0:e12eb40b9fef | 19 | |
lsh2205 | 0:e12eb40b9fef | 20 | long bool_cnt=0; |
lsh2205 | 0:e12eb40b9fef | 21 | |
lsh2205 | 0:e12eb40b9fef | 22 | double set_data[100] = {0x00, }; |
lsh2205 | 0:e12eb40b9fef | 23 | |
lsh2205 | 0:e12eb40b9fef | 24 | unsigned int cmd_roll, cmd_pitch, cmd_heave, cmd_sway, cmd_surge, cmd_yaw; |
lsh2205 | 0:e12eb40b9fef | 25 | |
lsh2205 | 0:e12eb40b9fef | 26 | void Start_Command(); |
lsh2205 | 0:e12eb40b9fef | 27 | void Set_Arrangement(); |
lsh2205 | 0:e12eb40b9fef | 28 | |
lsh2205 | 0:e12eb40b9fef | 29 | bool data_error_check(); |
lsh2205 | 0:e12eb40b9fef | 30 | void char_save_arr(char c); |
lsh2205 | 0:e12eb40b9fef | 31 | //void Rx_Interrupt(); |
lsh2205 | 0:e12eb40b9fef | 32 | void READ_and_SAVE(); |
lsh2205 | 0:e12eb40b9fef | 33 | void Serial_Init(); |
lsh2205 | 0:e12eb40b9fef | 34 | void Rx_Buffer_Clear(); |
lsh2205 | 0:e12eb40b9fef | 35 | |
lsh2205 | 0:e12eb40b9fef | 36 | |
lsh2205 | 0:e12eb40b9fef | 37 | |
lsh2205 | 0:e12eb40b9fef | 38 | void comunication() |
lsh2205 | 0:e12eb40b9fef | 39 | { |
lsh2205 | 0:e12eb40b9fef | 40 | |
lsh2205 | 0:e12eb40b9fef | 41 | |
lsh2205 | 0:e12eb40b9fef | 42 | for(int i=0;i<6;i++) |
lsh2205 | 0:e12eb40b9fef | 43 | { |
lsh2205 | 0:e12eb40b9fef | 44 | Speed_Pgain[i]=set_data[(i+1)*10+0]; |
lsh2205 | 0:e12eb40b9fef | 45 | Speed_Igain[i]=set_data[(i+1)*10+1]; |
lsh2205 | 0:e12eb40b9fef | 46 | position_Pgain[i]=set_data[(i+1)*10+2]; |
lsh2205 | 0:e12eb40b9fef | 47 | Position_input_filter[i]=set_data[(i+1)*10+3]; |
lsh2205 | 0:e12eb40b9fef | 48 | Speed_I_input_filter[i]=set_data[(i+1)*10+4]; |
lsh2205 | 0:e12eb40b9fef | 49 | offset[i]=set_data[(i+1)*10+5]; |
lsh2205 | 0:e12eb40b9fef | 50 | } |
lsh2205 | 0:e12eb40b9fef | 51 | |
lsh2205 | 0:e12eb40b9fef | 52 | |
lsh2205 | 0:e12eb40b9fef | 53 | READ_and_SAVE(); |
lsh2205 | 0:e12eb40b9fef | 54 | //pc.printf("%s,",command); |
lsh2205 | 0:e12eb40b9fef | 55 | Set_Arrangement(); |
lsh2205 | 0:e12eb40b9fef | 56 | Start_Command(); |
lsh2205 | 0:e12eb40b9fef | 57 | |
lsh2205 | 0:e12eb40b9fef | 58 | } |
lsh2205 | 0:e12eb40b9fef | 59 | |
lsh2205 | 0:e12eb40b9fef | 60 | void Start_Command() |
lsh2205 | 0:e12eb40b9fef | 61 | { |
lsh2205 | 0:e12eb40b9fef | 62 | bool com_error=false; |
lsh2205 | 0:e12eb40b9fef | 63 | |
lsh2205 | 0:e12eb40b9fef | 64 | unsigned int temp=0; |
lsh2205 | 0:e12eb40b9fef | 65 | |
lsh2205 | 0:e12eb40b9fef | 66 | unsigned int data1=32768; |
lsh2205 | 0:e12eb40b9fef | 67 | unsigned int data2=32768; |
lsh2205 | 0:e12eb40b9fef | 68 | unsigned int data3=32768; |
lsh2205 | 0:e12eb40b9fef | 69 | unsigned int data4=32768; |
lsh2205 | 0:e12eb40b9fef | 70 | unsigned int data5=32768; |
lsh2205 | 0:e12eb40b9fef | 71 | unsigned int data6=32768; |
lsh2205 | 0:e12eb40b9fef | 72 | |
lsh2205 | 0:e12eb40b9fef | 73 | com_error=data_error_check(); |
lsh2205 | 0:e12eb40b9fef | 74 | |
lsh2205 | 0:e12eb40b9fef | 75 | if(com_error==false) |
lsh2205 | 0:e12eb40b9fef | 76 | if((command[0] == 'S') && (command[1] == 't') && (command[2] == 'a') && (command[3] == 'r') && (command[4] == 't')) |
lsh2205 | 0:e12eb40b9fef | 77 | { |
lsh2205 | 0:e12eb40b9fef | 78 | |
lsh2205 | 0:e12eb40b9fef | 79 | int num=0; |
lsh2205 | 0:e12eb40b9fef | 80 | for(int i=5; i<100;i++) |
lsh2205 | 0:e12eb40b9fef | 81 | { |
lsh2205 | 0:e12eb40b9fef | 82 | |
lsh2205 | 0:e12eb40b9fef | 83 | if(command[i]==',') |
lsh2205 | 0:e12eb40b9fef | 84 | { |
lsh2205 | 0:e12eb40b9fef | 85 | if(num==0) |
lsh2205 | 0:e12eb40b9fef | 86 | data1=temp; |
lsh2205 | 0:e12eb40b9fef | 87 | if(num==1) |
lsh2205 | 0:e12eb40b9fef | 88 | data2=temp; |
lsh2205 | 0:e12eb40b9fef | 89 | if(num==2) |
lsh2205 | 0:e12eb40b9fef | 90 | data3=temp; |
lsh2205 | 0:e12eb40b9fef | 91 | if(num==3) |
lsh2205 | 0:e12eb40b9fef | 92 | data4=temp; |
lsh2205 | 0:e12eb40b9fef | 93 | if(num==4) |
lsh2205 | 0:e12eb40b9fef | 94 | data5=temp; |
lsh2205 | 0:e12eb40b9fef | 95 | |
lsh2205 | 0:e12eb40b9fef | 96 | temp=0; |
lsh2205 | 0:e12eb40b9fef | 97 | num++; |
lsh2205 | 0:e12eb40b9fef | 98 | } |
lsh2205 | 0:e12eb40b9fef | 99 | else if(command[i]=='\n') |
lsh2205 | 0:e12eb40b9fef | 100 | { |
lsh2205 | 0:e12eb40b9fef | 101 | if(num==5) |
lsh2205 | 0:e12eb40b9fef | 102 | data6=temp; |
lsh2205 | 0:e12eb40b9fef | 103 | }else |
lsh2205 | 0:e12eb40b9fef | 104 | temp=temp*10+command[i]-0x30; |
lsh2205 | 0:e12eb40b9fef | 105 | } |
lsh2205 | 0:e12eb40b9fef | 106 | |
lsh2205 | 0:e12eb40b9fef | 107 | cmd_roll = data1; |
lsh2205 | 0:e12eb40b9fef | 108 | cmd_pitch = data2; |
lsh2205 | 0:e12eb40b9fef | 109 | cmd_heave = data3; |
lsh2205 | 0:e12eb40b9fef | 110 | cmd_sway = data4; |
lsh2205 | 0:e12eb40b9fef | 111 | cmd_surge = data5; |
lsh2205 | 0:e12eb40b9fef | 112 | cmd_yaw = data6; |
lsh2205 | 0:e12eb40b9fef | 113 | |
lsh2205 | 0:e12eb40b9fef | 114 | /* |
lsh2205 | 0:e12eb40b9fef | 115 | pc.printf("%d,",cmd_roll); |
lsh2205 | 0:e12eb40b9fef | 116 | pc.printf("%d,",cmd_pitch); |
lsh2205 | 0:e12eb40b9fef | 117 | pc.printf("%d,",cmd_heave); |
lsh2205 | 0:e12eb40b9fef | 118 | pc.printf("%d,",cmd_sway); |
lsh2205 | 0:e12eb40b9fef | 119 | pc.printf("%d,",cmd_surge); |
lsh2205 | 0:e12eb40b9fef | 120 | pc.printf("%d,",cmd_yaw); |
lsh2205 | 0:e12eb40b9fef | 121 | pc.printf("\n"); |
lsh2205 | 0:e12eb40b9fef | 122 | */ |
lsh2205 | 0:e12eb40b9fef | 123 | } |
lsh2205 | 0:e12eb40b9fef | 124 | |
lsh2205 | 0:e12eb40b9fef | 125 | } |
lsh2205 | 0:e12eb40b9fef | 126 | |
lsh2205 | 0:e12eb40b9fef | 127 | bool data_error_check() // ,아스키코드 44 숫자 아스키코드 0x30, 0x39 |
lsh2205 | 0:e12eb40b9fef | 128 | { |
lsh2205 | 0:e12eb40b9fef | 129 | bool error=false; |
lsh2205 | 0:e12eb40b9fef | 130 | |
lsh2205 | 0:e12eb40b9fef | 131 | |
lsh2205 | 0:e12eb40b9fef | 132 | if(!((command[0] == 'S') && (command[1] == 't') && (command[2] == 'a') && (command[3] == 'r') && (command[4] == 't'))) |
lsh2205 | 0:e12eb40b9fef | 133 | error=true; |
lsh2205 | 0:e12eb40b9fef | 134 | |
lsh2205 | 0:e12eb40b9fef | 135 | for(int i=5; i<41;i++) |
lsh2205 | 0:e12eb40b9fef | 136 | { |
lsh2205 | 0:e12eb40b9fef | 137 | if( command[i]>0x39 || command[i]<0x30 ) |
lsh2205 | 0:e12eb40b9fef | 138 | { |
lsh2205 | 0:e12eb40b9fef | 139 | if((command[i]=='\n')) |
lsh2205 | 0:e12eb40b9fef | 140 | break; |
lsh2205 | 0:e12eb40b9fef | 141 | |
lsh2205 | 0:e12eb40b9fef | 142 | if(!(command[i]==0x2C)) |
lsh2205 | 0:e12eb40b9fef | 143 | { |
lsh2205 | 0:e12eb40b9fef | 144 | error=true; |
lsh2205 | 0:e12eb40b9fef | 145 | break; |
lsh2205 | 0:e12eb40b9fef | 146 | } |
lsh2205 | 0:e12eb40b9fef | 147 | } |
lsh2205 | 0:e12eb40b9fef | 148 | } |
lsh2205 | 0:e12eb40b9fef | 149 | |
lsh2205 | 0:e12eb40b9fef | 150 | for(int i=41;i<100;i++) |
lsh2205 | 0:e12eb40b9fef | 151 | { |
lsh2205 | 0:e12eb40b9fef | 152 | if(command[i]!=0) |
lsh2205 | 0:e12eb40b9fef | 153 | error=true; |
lsh2205 | 0:e12eb40b9fef | 154 | break; |
lsh2205 | 0:e12eb40b9fef | 155 | } |
lsh2205 | 0:e12eb40b9fef | 156 | |
lsh2205 | 0:e12eb40b9fef | 157 | for(int i=0;i<17;i++) |
lsh2205 | 0:e12eb40b9fef | 158 | { |
lsh2205 | 0:e12eb40b9fef | 159 | if(command[i]==0) |
lsh2205 | 0:e12eb40b9fef | 160 | error=true; |
lsh2205 | 0:e12eb40b9fef | 161 | break; |
lsh2205 | 0:e12eb40b9fef | 162 | } |
lsh2205 | 0:e12eb40b9fef | 163 | |
lsh2205 | 0:e12eb40b9fef | 164 | return error; |
lsh2205 | 0:e12eb40b9fef | 165 | } |
lsh2205 | 0:e12eb40b9fef | 166 | |
lsh2205 | 0:e12eb40b9fef | 167 | |
lsh2205 | 0:e12eb40b9fef | 168 | // Set arrangement function |
lsh2205 | 0:e12eb40b9fef | 169 | void Set_Arrangement() |
lsh2205 | 0:e12eb40b9fef | 170 | { |
lsh2205 | 0:e12eb40b9fef | 171 | bool set_error = false; |
lsh2205 | 0:e12eb40b9fef | 172 | bool set_point = false; |
lsh2205 | 0:e12eb40b9fef | 173 | int set_index = 0; |
lsh2205 | 0:e12eb40b9fef | 174 | double set_num = 0; |
lsh2205 | 0:e12eb40b9fef | 175 | double square_root = 0.1; |
lsh2205 | 0:e12eb40b9fef | 176 | |
lsh2205 | 0:e12eb40b9fef | 177 | if((command[0] == 'S') && (command[1] == 'E') && (command[2] == 'T') && (command[5] == '=')) |
lsh2205 | 0:e12eb40b9fef | 178 | { |
lsh2205 | 0:e12eb40b9fef | 179 | for(int i = 3; i < 5; i++) |
lsh2205 | 0:e12eb40b9fef | 180 | { |
lsh2205 | 0:e12eb40b9fef | 181 | if(command[i] < '0' || command[i] > '9') |
lsh2205 | 0:e12eb40b9fef | 182 | { |
lsh2205 | 0:e12eb40b9fef | 183 | set_error = true; |
lsh2205 | 0:e12eb40b9fef | 184 | break; |
lsh2205 | 0:e12eb40b9fef | 185 | } |
lsh2205 | 0:e12eb40b9fef | 186 | } |
lsh2205 | 0:e12eb40b9fef | 187 | if(set_error == false) |
lsh2205 | 0:e12eb40b9fef | 188 | { |
lsh2205 | 0:e12eb40b9fef | 189 | set_index = ((command[3] - 0x30) * 10) + (command[4] - 0x30); |
lsh2205 | 0:e12eb40b9fef | 190 | |
lsh2205 | 0:e12eb40b9fef | 191 | for(int i = 6; i < 100; i++) |
lsh2205 | 0:e12eb40b9fef | 192 | { |
lsh2205 | 0:e12eb40b9fef | 193 | // Error check |
lsh2205 | 0:e12eb40b9fef | 194 | if(command[i] != '.' && (command[i] < '0' || command[i] > '9')) |
lsh2205 | 0:e12eb40b9fef | 195 | { |
lsh2205 | 0:e12eb40b9fef | 196 | if(command[i] != '\n') |
lsh2205 | 0:e12eb40b9fef | 197 | { |
lsh2205 | 0:e12eb40b9fef | 198 | set_error = true; |
lsh2205 | 0:e12eb40b9fef | 199 | } |
lsh2205 | 0:e12eb40b9fef | 200 | break; |
lsh2205 | 0:e12eb40b9fef | 201 | } |
lsh2205 | 0:e12eb40b9fef | 202 | |
lsh2205 | 0:e12eb40b9fef | 203 | // Operation source |
lsh2205 | 0:e12eb40b9fef | 204 | else if(command[i] == '.' && set_point == false) |
lsh2205 | 0:e12eb40b9fef | 205 | { |
lsh2205 | 0:e12eb40b9fef | 206 | set_point = true; |
lsh2205 | 0:e12eb40b9fef | 207 | } |
lsh2205 | 0:e12eb40b9fef | 208 | else if(set_point == false) |
lsh2205 | 0:e12eb40b9fef | 209 | { |
lsh2205 | 0:e12eb40b9fef | 210 | set_num = (set_num * 10) + (command[i] - 0x30); |
lsh2205 | 0:e12eb40b9fef | 211 | } |
lsh2205 | 0:e12eb40b9fef | 212 | else if(set_point == true) |
lsh2205 | 0:e12eb40b9fef | 213 | { |
lsh2205 | 0:e12eb40b9fef | 214 | set_num = set_num + ((command[i] - 0x30) * square_root); |
lsh2205 | 0:e12eb40b9fef | 215 | square_root = square_root * 0.1; |
lsh2205 | 0:e12eb40b9fef | 216 | } |
lsh2205 | 0:e12eb40b9fef | 217 | } |
lsh2205 | 0:e12eb40b9fef | 218 | } |
lsh2205 | 0:e12eb40b9fef | 219 | if((set_error == false) && (set_data[set_index] != set_num)) |
lsh2205 | 0:e12eb40b9fef | 220 | { |
lsh2205 | 0:e12eb40b9fef | 221 | set_data[set_index] = set_num; |
lsh2205 | 0:e12eb40b9fef | 222 | Erase_Flash(); |
lsh2205 | 0:e12eb40b9fef | 223 | Write_Flash('F'); |
lsh2205 | 0:e12eb40b9fef | 224 | Write_Flash('L'); |
lsh2205 | 0:e12eb40b9fef | 225 | Write_Flash('A'); |
lsh2205 | 0:e12eb40b9fef | 226 | Write_Flash('S'); |
lsh2205 | 0:e12eb40b9fef | 227 | Write_Flash('H'); |
lsh2205 | 0:e12eb40b9fef | 228 | for(int i = 0; i < 100; i++) |
lsh2205 | 0:e12eb40b9fef | 229 | { |
lsh2205 | 0:e12eb40b9fef | 230 | Write_Flash((uint32_t)set_data[i]); |
lsh2205 | 0:e12eb40b9fef | 231 | } |
lsh2205 | 0:e12eb40b9fef | 232 | pc.printf("SET%02d=%10.5f\n",set_index,set_data[set_index]); |
lsh2205 | 0:e12eb40b9fef | 233 | } |
lsh2205 | 0:e12eb40b9fef | 234 | } |
lsh2205 | 0:e12eb40b9fef | 235 | |
lsh2205 | 0:e12eb40b9fef | 236 | } |
lsh2205 | 0:e12eb40b9fef | 237 | |
lsh2205 | 0:e12eb40b9fef | 238 | |
lsh2205 | 0:e12eb40b9fef | 239 | bool tx_done=false; |
lsh2205 | 0:e12eb40b9fef | 240 | void READ_and_SAVE() |
lsh2205 | 0:e12eb40b9fef | 241 | { |
lsh2205 | 0:e12eb40b9fef | 242 | |
lsh2205 | 0:e12eb40b9fef | 243 | at_spi_cs = 1; |
lsh2205 | 0:e12eb40b9fef | 244 | char c; |
lsh2205 | 0:e12eb40b9fef | 245 | tx_done=false; |
lsh2205 | 0:e12eb40b9fef | 246 | for(int i=0; i<64; i++) |
lsh2205 | 0:e12eb40b9fef | 247 | { |
lsh2205 | 0:e12eb40b9fef | 248 | wait_us(20); |
lsh2205 | 0:e12eb40b9fef | 249 | c = spi1.write(255); |
lsh2205 | 0:e12eb40b9fef | 250 | |
lsh2205 | 0:e12eb40b9fef | 251 | if(c==255) |
lsh2205 | 0:e12eb40b9fef | 252 | { |
lsh2205 | 0:e12eb40b9fef | 253 | break; |
lsh2205 | 0:e12eb40b9fef | 254 | } |
lsh2205 | 0:e12eb40b9fef | 255 | else |
lsh2205 | 0:e12eb40b9fef | 256 | { |
lsh2205 | 0:e12eb40b9fef | 257 | //pc.printf("%d\r\n",c); |
lsh2205 | 0:e12eb40b9fef | 258 | char_save_arr(c); |
lsh2205 | 0:e12eb40b9fef | 259 | } |
lsh2205 | 0:e12eb40b9fef | 260 | } |
lsh2205 | 0:e12eb40b9fef | 261 | at_spi_cs = 0; |
lsh2205 | 0:e12eb40b9fef | 262 | |
lsh2205 | 0:e12eb40b9fef | 263 | } |
lsh2205 | 0:e12eb40b9fef | 264 | |
lsh2205 | 0:e12eb40b9fef | 265 | |
lsh2205 | 0:e12eb40b9fef | 266 | void char_save_arr(char c) |
lsh2205 | 0:e12eb40b9fef | 267 | { |
lsh2205 | 0:e12eb40b9fef | 268 | rx_buffer[rx_index]=c; |
lsh2205 | 0:e12eb40b9fef | 269 | rx_index++; |
lsh2205 | 0:e12eb40b9fef | 270 | if(rx_index>99) |
lsh2205 | 0:e12eb40b9fef | 271 | rx_index=99; |
lsh2205 | 0:e12eb40b9fef | 272 | if(c=='\n') |
lsh2205 | 0:e12eb40b9fef | 273 | { |
lsh2205 | 0:e12eb40b9fef | 274 | data_recive++; |
lsh2205 | 0:e12eb40b9fef | 275 | for(int i =0; i<100;i++) |
lsh2205 | 0:e12eb40b9fef | 276 | command[i]=rx_buffer[i]; |
lsh2205 | 0:e12eb40b9fef | 277 | |
lsh2205 | 0:e12eb40b9fef | 278 | Rx_Buffer_Clear(); |
lsh2205 | 0:e12eb40b9fef | 279 | } |
lsh2205 | 0:e12eb40b9fef | 280 | } |
lsh2205 | 0:e12eb40b9fef | 281 | |
lsh2205 | 0:e12eb40b9fef | 282 | |
lsh2205 | 0:e12eb40b9fef | 283 | |
lsh2205 | 0:e12eb40b9fef | 284 | |
lsh2205 | 0:e12eb40b9fef | 285 | // Interrupt functions |
lsh2205 | 0:e12eb40b9fef | 286 | /* |
lsh2205 | 0:e12eb40b9fef | 287 | void Rx_Interrupt() |
lsh2205 | 0:e12eb40b9fef | 288 | { |
lsh2205 | 0:e12eb40b9fef | 289 | if(pc.readable()) |
lsh2205 | 0:e12eb40b9fef | 290 | { |
lsh2205 | 0:e12eb40b9fef | 291 | char c = pc.getc(); |
lsh2205 | 0:e12eb40b9fef | 292 | rx_buffer[rx_index] = c; |
lsh2205 | 0:e12eb40b9fef | 293 | if(rx_buffer[rx_index] == '\n') |
lsh2205 | 0:e12eb40b9fef | 294 | { |
lsh2205 | 0:e12eb40b9fef | 295 | rx_flag = true; |
lsh2205 | 0:e12eb40b9fef | 296 | } |
lsh2205 | 0:e12eb40b9fef | 297 | rx_index++; |
lsh2205 | 0:e12eb40b9fef | 298 | if(rx_index > 99) |
lsh2205 | 0:e12eb40b9fef | 299 | { |
lsh2205 | 0:e12eb40b9fef | 300 | rx_index = 99; |
lsh2205 | 0:e12eb40b9fef | 301 | } |
lsh2205 | 0:e12eb40b9fef | 302 | } |
lsh2205 | 0:e12eb40b9fef | 303 | return; |
lsh2205 | 0:e12eb40b9fef | 304 | } |
lsh2205 | 0:e12eb40b9fef | 305 | */ |
lsh2205 | 0:e12eb40b9fef | 306 | // Basic serial communication functions |
lsh2205 | 0:e12eb40b9fef | 307 | |
lsh2205 | 0:e12eb40b9fef | 308 | void Serial_Init() |
lsh2205 | 0:e12eb40b9fef | 309 | { |
lsh2205 | 0:e12eb40b9fef | 310 | pc.format(8, Serial::None, 1); |
lsh2205 | 0:e12eb40b9fef | 311 | pc.baud(500000); |
lsh2205 | 0:e12eb40b9fef | 312 | |
lsh2205 | 0:e12eb40b9fef | 313 | //pc2.format(8, Serial::None, 1); |
lsh2205 | 0:e12eb40b9fef | 314 | //pc2.baud(115200); |
lsh2205 | 0:e12eb40b9fef | 315 | //pc.attach(&Rx_Interrupt, Serial::RxIrq); |
lsh2205 | 0:e12eb40b9fef | 316 | } |
lsh2205 | 0:e12eb40b9fef | 317 | |
lsh2205 | 0:e12eb40b9fef | 318 | |
lsh2205 | 0:e12eb40b9fef | 319 | void Rx_Buffer_Clear() |
lsh2205 | 0:e12eb40b9fef | 320 | { |
lsh2205 | 0:e12eb40b9fef | 321 | for(int i = 0; i < 100; i++) |
lsh2205 | 0:e12eb40b9fef | 322 | { |
lsh2205 | 0:e12eb40b9fef | 323 | rx_buffer[i] = 0x00; |
lsh2205 | 0:e12eb40b9fef | 324 | } |
lsh2205 | 0:e12eb40b9fef | 325 | rx_index=0; |
lsh2205 | 0:e12eb40b9fef | 326 | } |
lsh2205 | 0:e12eb40b9fef | 327 | |
lsh2205 | 0:e12eb40b9fef | 328 | |
lsh2205 | 0:e12eb40b9fef | 329 | /* |
lsh2205 | 0:e12eb40b9fef | 330 | if(com_error==false) |
lsh2205 | 0:e12eb40b9fef | 331 | { |
lsh2205 | 0:e12eb40b9fef | 332 | cmd_roll = data1; |
lsh2205 | 0:e12eb40b9fef | 333 | cmd_pitch = data2; |
lsh2205 | 0:e12eb40b9fef | 334 | cmd_heave = data3; |
lsh2205 | 0:e12eb40b9fef | 335 | cmd_sway = data4; |
lsh2205 | 0:e12eb40b9fef | 336 | cmd_surge = data5; |
lsh2205 | 0:e12eb40b9fef | 337 | cmd_yaw = data6; |
lsh2205 | 0:e12eb40b9fef | 338 | } |
lsh2205 | 0:e12eb40b9fef | 339 | */ |
lsh2205 | 0:e12eb40b9fef | 340 | |
lsh2205 | 0:e12eb40b9fef | 341 | #endif |