; proc main ; Variable declaration section string sensor string bogus string data1 string data2 string data3 string data4 string data5 string data6 string data7 string data8 integer index integer data1_i integer data2_i integer data3_i integer data4_i integer data5_i integer data6_i integer data7_i integer data8_i while 1 transmit "D,1,1^M" ; Move straight ahead set aspect rxdata ON rget bogus set aspect rxdata OFF transmit "N^M" ; Get the sensor data set aspect rxdata ON rget sensor set aspect rxdata OFF strfind sensor "," index ; Remove n, inc index strdelete sensor 0 index strfind sensor "," index ; data1_i substr data1 sensor 0 index inc index strdelete sensor 0 index atoi data1 data1_i statmsg "%d" data1_i strfind sensor "," index ; data2_i substr data2 sensor 0 index inc index strdelete sensor 0 index atoi data2 data2_i statmsg "%d" data2_i strfind sensor "," index ; data3_i substr data3 sensor 0 index inc index strdelete sensor 0 index atoi data3 data3_i statmsg "%d" data3_i strfind sensor "," index ; data4_i substr data4 sensor 0 index inc index strdelete sensor 0 index atoi data4 data4_i statmsg "%d" data4_i strfind sensor "," index ; data5_i substr data5 sensor 0 index inc index strdelete sensor 0 index atoi data5 data5_i statmsg "%d" data5_i strfind sensor "," index ; data6_i substr data6 sensor 0 index inc index strdelete sensor 0 index atoi data6 data6_i statmsg "%d" data6_i strfind sensor "," index ; data7_i substr data7 sensor 0 index inc index strdelete sensor 0 index atoi data7 data7_i statmsg "%d" data7_i data8 = sensor atoi data8 data8_i statmsg "%d" data8_i ; Avoidance routine if ((data3_i > 500)&&(data4_i >500)) ; Two front sensors transmit "D,0,0^M" set aspect rxdata ON rget bogus set aspect rxdata OFF transmit "D,4,-1^M" set aspect rxdata ON rget bogus set aspect rxdata OFF endif if (data1_i > 500) transmit "D,0,0^M" set aspect rxdata ON rget bogus set aspect rxdata OFF transmit "D,1,-1^M" set aspect rxdata ON rget bogus set aspect rxdata OFF endif if (data2_i > 500) transmit "D,0,0^M" set aspect rxdata ON rget bogus set aspect rxdata OFF transmit "D,1,-2^M" set aspect rxdata ON rget bogus set aspect rxdata OFF endif if (data3_i > 500) transmit "D,0,0^M" set aspect rxdata ON rget bogus set aspect rxdata OFF transmit "D,1,-4^M" set aspect rxdata ON rget bogus set aspect rxdata OFF endif if (data4_i > 500) transmit "D,0,0^M" set aspect rxdata ON rget bogus set aspect rxdata OFF transmit "D,-1,1^M" set aspect rxdata ON rget bogus set aspect rxdata OFF endif if (data5_i > 500) transmit "D,0,0^M" set aspect rxdata ON rget bogus set aspect rxdata OFF transmit "D,-2,1^M" set aspect rxdata ON rget bogus set aspect rxdata OFF endif if (data6_i > 500) transmit "D,0,0^M" set aspect rxdata ON rget bogus set aspect rxdata OFF transmit "D,-4,1^M" set aspect rxdata ON rget bogus set aspect rxdata OFF endif endwhile endproc