summaryrefslogtreecommitdiff
path: root/digital/io/src/ia.c
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io/src/ia.c')
-rw-r--r--digital/io/src/ia.c110
1 files changed, 1 insertions, 109 deletions
diff --git a/digital/io/src/ia.c b/digital/io/src/ia.c
index 7ede1888..954459bc 100644
--- a/digital/io/src/ia.c
+++ b/digital/io/src/ia.c
@@ -35,114 +35,6 @@ ia_init (void)
{
ia_global.sequence = false;
ia_global.ice_status_our = false;
+ ia_global.team_color = TEAM_COLOR_RED;
}
-/** Load balls procedure from a distributor.
- *
- * 1. Rotate the arm to the desired position to allow the robot to load x
- * balls.
- * 2. Go backward, this will allow the robot to continue rotating the arm and
- * load the balls.
- * 3. Stop the arm and put it to its initial position to disallow the robot
- * to take undesired balls.
- *
- * See trunk/digital/io/doc/loadballs.png (use the make command before)
- *
- * \param balls_nb the quantity of ball to load.
- */
-void
-ia_load_samples (uint8_t balls_nb)
-{
- /* Start the rotation of the arm */
- asserv_move_arm (ASSERV_ARM_ROTATION_FULL , ASSERV_ARM_SPEED_HALF);
-
- /* Activate the classifier. */
- // TODO write the code to use the classifier. How to know when the
- // quantity of desired samples are loaded ?
-
- /* At this moment the samples shall be loaded. */
- /* Go backaward */
- asserv_move_linearly (-10);
-
- /* Set the arm to the initial position. */
- asserv_move_arm (ASSERV_ARM_ROTATION_INIT, ASSERV_ARM_SPEED_FULL);
-}
-
-/** Get samples procedure. Request the robot to go and get some sample of the
- * team color or ice samples.
- *
- * 1. Go to the position in front of the distributor.
- * 2. Prepare the arm to get samples.
- * 3. Go forward with a controled speed to get the samples.
- * 4. Prepare the classifier to classify the samples.
- * 5. loadballs with the quantity of samples desired.
- * 6. Continue classifier
- *
- * See trunk/digital/io/doc/getSamples.png and
- * trunk/digital/io/doc/loadballs.png (use make to get the png files).
- *
- * \param blue the team color true if the robot is in the blue team.
- */
-void
-ia_get_samples (bool blue, bool ice)
-{
- /* Set the ARM to the init position to avoid the robot to take samples on
- * the distributor path. */
- asserv_move_arm (ASSERV_ARM_ROTATION_INIT, ASSERV_ARM_ROTATION_FULL);
-
- /* Go to the distributor. */
-
- if (ice)
- {
- //TODO this will only work when the robot is in the red team, the need to
- //know at which position the robot starts is necessary.
- if (blue)
- asserv_set_x_position (DISTRIBUTOR_SAMPLES_BLUE_X);
- else
- asserv_set_x_position (DISTRIBUTOR_SAMPLES_RED_X);
-
- asserv_set_y_position (DISTRIBUTRO_SAMPLES_Y - 100);
- }
- else
- {
- /* Go to the ice distributor. */
- if (ia_global.ice_status_our)
- asserv_set_x_position (0);
- else
- asserv_set_x_position (TABLE_MAX_X);
-
- asser_set_y_position (DISTRIBUTOR_ICE_Y);
- }
-
-
- /* Set the classifier to the correct position. */
- /* TODO fill this part */
-
- /* Poll for the position. */
- /* TODO A function for that ?? */
-
- ia_load_samples (3 /* TODO change this value to the correct one.*/);
-}
-
-/** Get ice.
- */
-void
-ia_get_ice (void)
-{
- load_samples (true, true);
-}
-
-
-/** Depose the samples in the gutter.
- */
-void
-ia_depose_samples (void)
-{
- asserv_go_to_gutter();
-
- /*TODO open the collector. */
-
- utils_delay_ms (4);
-
- /* TODO close the collector. */
-}