Changeset 499
- Timestamp:
- 02/28/07 14:37:23 (2 years ago)
- Files:
-
- trunk/projects/cmucam2/cmucam2.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/projects/cmucam2/cmucam2.c
r498 r499 15 15 16 16 // Uncomment line below to reverse servo direction for auto-servo and demo mode 17 #define SERVO_REVERSE_DIRECTION 17 #define SERVO_REVERSE_DIRECTION_PAN 18 #define SERVO_REVERSE_DIRECTION_TILT 18 19 19 20 //#define SERIAL_BAUD_RATE CC3_UART_RATE_230400 … … 296 297 servo_settings.x = SERVO_MID; 297 298 servo_settings.y = SERVO_MID; 298 servo_settings.pan_range_far = 16;299 servo_settings.pan_range_near = 8;300 servo_settings.pan_step = 10;301 servo_settings.tilt_range_far = 3 0;302 servo_settings.tilt_range_near = 15;303 servo_settings.tilt_step = 10;299 servo_settings.pan_range_far = 32; 300 servo_settings.pan_range_near = 20; 301 servo_settings.pan_step = 20; 302 servo_settings.tilt_range_far = 32; 303 servo_settings.tilt_range_near = 20; 304 servo_settings.tilt_step = 20; 304 305 305 306 … … 322 323 323 324 if (demo_mode) { 325 cc3_led_set_state (0, true); 326 cc3_timer_wait_ms (5000); 327 cc3_camera_set_auto_exposure (false); 328 cc3_camera_set_auto_white_balance (false); 324 329 // Wait for second button press as target lock 325 330 while (1) { … … 329 334 cc3_timer_wait_ms (100); 330 335 if (cc3_button_get_state () == 1) 331 { 332 cc3_camera_set_auto_exposure (false); 333 cc3_camera_set_auto_white_balance (false); 334 break; 335 } 336 break; 336 337 } 337 338 … … 1238 1239 cc3_image_t img; 1239 1240 uint16_t x_mid, y_mid; 1241 int8_t t_step; 1240 1242 1241 1243 bool prev_packet_empty = true; … … 1325 1327 if (t_pkt->int_density > 5 && servo_settings != NULL) { 1326 1328 if (servo_settings->x_control) { 1327 int8_t t_step;1328 1329 t_step = 0; 1329 1330 if (t_pkt->centroid_x > x_mid + servo_settings->pan_range_far) … … 1338 1339 1339 1340 1340 #ifdef SERVO_REVERSE_DIRECTION 1341 #ifdef SERVO_REVERSE_DIRECTION_PAN 1341 1342 servo_settings->x -= t_step; 1342 1343 #else 1343 1344 servo_settings->x += t_step; 1344 1345 #endif 1345 1346 t_step=0; 1346 1347 if (servo_settings->x > SERVO_MAX) 1347 1348 servo_settings->x = SERVO_MAX; … … 1352 1353 if (servo_settings->y_control) { 1353 1354 if (t_pkt->centroid_y > y_mid + servo_settings->tilt_range_far) 1354 servo_settings->y += servo_settings->tilt_step;1355 t_step = servo_settings->tilt_step; 1355 1356 else if (t_pkt->centroid_y > 1356 1357 y_mid + servo_settings->tilt_range_near) 1357 servo_settings->y += servo_settings->tilt_step / 2;1358 t_step = servo_settings->tilt_step / 2; 1358 1359 1359 1360 if (t_pkt->centroid_y < y_mid - servo_settings->tilt_range_far) 1360 servo_settings->y -= servo_settings->tilt_step;1361 t_step = -(servo_settings->tilt_step); 1361 1362 else if (t_pkt->centroid_y < 1362 1363 y_mid - servo_settings->tilt_range_near) 1363 servo_settings->y -= servo_settings->tilt_step / 2; 1364 t_step = -(servo_settings->tilt_step / 2); 1365 1366 #ifdef SERVO_REVERSE_DIRECTION_TILT 1367 servo_settings->y -= t_step; 1368 #else 1369 servo_settings->y += t_step; 1370 #endif 1364 1371 1365 1372 if (servo_settings->y > SERVO_MAX)
