-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAutoNotRamp.c
More file actions
125 lines (105 loc) · 4.83 KB
/
AutoNotRamp.c
File metadata and controls
125 lines (105 loc) · 4.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#pragma config(Hubs, S1, HTMotor, HTMotor, HTServo, none)
#pragma config(Hubs, S2, HTServo, none, none, none)
#pragma config(Sensor, S4, ultrasonicSensor, sensorSONAR)
#pragma config(Motor, mtr_S1_C1_1, leftWheel, tmotorTetrix, openLoop)
#pragma config(Motor, mtr_S1_C1_2, rightWheel, tmotorTetrix, openLoop)
#pragma config(Motor, mtr_S1_C2_1, armMotor, tmotorTetrix, openLoop)
#pragma config(Motor, mtr_S1_C2_2, lawnMower, tmotorTetrix, openLoop)
#pragma config(Servo, srvo_S1_C3_1, leftServo, tServoStandard)
#pragma config(Servo, srvo_S1_C3_2, servo2, tServoNone)
#pragma config(Servo, srvo_S1_C3_3, servo3, tServoNone)
#pragma config(Servo, srvo_S1_C3_4, servo4, tServoNone)
#pragma config(Servo, srvo_S1_C3_5, servo5, tServoNone)
#pragma config(Servo, srvo_S1_C3_6, servo6, tServoNone)
#pragma config(Servo, srvo_S2_C1_1, rightServo, tServoStandard)
#pragma config(Servo, srvo_S2_C1_2, armServo, tServoStandard)
#pragma config(Servo, srvo_S2_C1_3, hookServo, tServoStandard)
#pragma config(Servo, srvo_S2_C1_4, servo10, tServoNone)
#pragma config(Servo, srvo_S2_C1_5, servo11, tServoNone)
#pragma config(Servo, srvo_S2_C1_6, servo12, tServoNone) !!*//
/////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Autonomous Mode Code Template
//
// This file contains a template for simplified creation of an autonomous program for an TETRIX robot
// competition.
//
// You need to customize two functions with code unique to your specific robot.
//
/////////////////////////////////////////////////////////////////////////////////////////////////////
#include "JoystickDriver.c" //Include file to "handle" the Bluetooth messages.
/////////////////////////////////////////////////////////////////////////////////////////////////////
//
// initializeRobot
//
// Prior to the start of autonomous mode, you may want to perform some initialization on your robot.
// Things that might be performed during initialization include:
// 1. Move motors and servos to a preset position.
// 2. Some sensor types take a short while to reach stable values during which time it is best that
// robot is not moving. For example, gyro sensor needs a few seconds to obtain the background
// "bias" value.
//
// In many cases, you may not have to add any code to this function and it will remain "empty".
//
/////////////////////////////////////////////////////////////////////////////////////////////////////
const int leftClosed = 15;
const int rightClosed = 205;
const int hookUp = 210;
void initializeRobot()
{
servo[leftServo] = leftClosed;
servo[rightServo] = rightClosed;
servo[hookServo] = hookUp;
wait1Msec(500);
// Place code here to sinitialize servos to starting positions.
// Sensors are automatically configured and setup by ROBOTC. They may need a brief time to stabilize.
return;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Main Task
//
// The following is the main code for the autonomous robot operation. Customize as appropriate for
// your specific robot.
//
// The types of things you might do during the autonomous phase (for the 2008-9 FTC competition)
// are:
//
// 1. Have the robot follow a line on the game field until it reaches one of the puck storage
// areas.
// 2. Load pucks into the robot from the storage bin.
// 3. Stop the robot and wait for autonomous phase to end.
//
// This simple template does nothing except play a periodic tone every few seconds.
//
// At the end of the autonomous period, the FMS will autonmatically abort (stop) execution of the program.
//
/////////////////////////////////////////////////////////////////////////////////////////////////////
void forwards()
{
motor[armMotor] = 30;
wait1Msec(300);
motor[armMotor] = 0;
}
task main()
{
initializeRobot();
waitForStart(); // Wait for the beginning of autonomous phase.
motor[rightWheel] = 100;
motor[leftWheel] = -100;
wait1Msec(5000);
motor[rightWheel] = 100;
motor[leftWheel] = -100;
wait1Msec(1200);
motor[rightWheel] = 0;
motor[leftWheel] = 0;
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
//// ////
//// Add your robot specific autonomous code here. ////
//// ////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
while (true)
{}
}