// script to move with individual motor control // dist mm with r_speed mm/sec on right wheel and l_speed on left void create_script_move_direct(int dist, int r_speed, int l_speed) { int sdist, ddist; create_drive_direct(r_speed, l_speed); create_distance(); sdist=gc_distance; ddist=sdist+dist; if(dist>0) while(gc_distance<ddist)create_distance(); else while(gc_distance>ddist)create_distance(); create_stop(); }
// script to move dist mm at speed mm/sec void create_script_move(int dist, int speed) { int sdist, ddist; create_drive_straight(speed); create_distance(); sdist=gc_distance; ddist=sdist+dist; if(dist>0) while(gc_distance<ddist)create_distance(); else while(gc_distance>ddist)create_distance(); create_stop(); }
/* * Class: cbccore_low_Create * Method: create_distance * Signature: ()I */ JNIEXPORT jint JNICALL Java_cbccore_low_Create_create_1distance(JNIEnv *env, jobject obj) { #ifdef CBC return create_distance(); #else printf("Java_cbccore_low_Create_create_1distance stub\n"); return -1; #endif }
//this function will update the values for many of the sensor globals above //serial connection failure codes are // -1:create_mode, -2:create_wall, -3:create_buttons, -4:create_bumpdrop, -5:create_cliffs, // -6:create_angle, -7:create_distance, -8:create_velocity, -9:create_read_IR int create_sensor_update() { int r=0; // if serial connection times out, bit positions give the functions where it occurred r=r-2*create_wall(); r=r-4*create_buttons(); r=r-8*create_bumpdrop(); r=r-16*create_cliffs(); r=r-32*create_angle(); r=r-64*create_distance(); r=r-128*create_velocity(); return(r); }