Add 'main.c'

master
Cole Deck 5 years ago
parent 338c83dea2
commit 597cd06c90

101
main.c

@ -0,0 +1,101 @@
#pragma config(I2C_Usage, I2C1, i2cSensors)
#pragma config(Sensor, I2C_1, , sensorQuadEncoderOnI2CPort, , AutoAssign )
#pragma config(Sensor, I2C_2, , sensorQuadEncoderOnI2CPort, , AutoAssign )
#pragma config(Motor, port1, , tmotorVex393_HBridge, openLoop)
#pragma config(Motor, port2, shoot, tmotorVex393_MC29, openLoop, reversed)
#pragma config(Motor, port3, driveLB, tmotorVex393_MC29, openLoop, reversed, encoderPort, I2C_1)
#pragma config(Motor, port4, driveLF, tmotorVex393_MC29, openLoop, reversed)
#pragma config(Motor, port5, driveRB, tmotorVex393_MC29, openLoop, reversed, encoderPort, I2C_2)
#pragma config(Motor, port6, driveRF, tmotorVex393_MC29, openLoop)
#pragma config(Motor, port7, bintake, tmotorVex393_MC29, openLoop, reversed)
#pragma config(Motor, port8, , tmotorVex393_MC29, openLoop)
#pragma config(Motor, port9, , tmotorVex393_MC29, openLoop)
#pragma config(Motor, port10, , tmotorVex393_HBridge, openLoop)
//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*//
#pragma platform(VEX2)
#pragma competitionControl(Competition)
#include "Vex_Competition_Includes.c"
// some variable definitions
#define MAX_SPEED 127
#define STOP 0
#define DEADZONE 10
/*
23.4 / (2 * pi * 2.075) * 360
23.4 = inches in a tile
2.075 = exact radius of 4" omniwheels
2 * pi * r is circumference of the wheel
360 degrees in a circle
final calculation is the amount of degrees of rotation per tile of movement
*/
#define TILE 646
void shootBall() {
motor[shoot] = MAX_SPEED;
wait(1.25); // Shooting takes 1.25 seconds.
motor[shoot] = STOP;
}
void joystickDrive() {
if(abs(vexRT[Ch3]) > DEADZONE) {
motor[driveLB] = vexRT[Ch3];
motor[driveLF] = vexRT[Ch3];
}
else {
motor[driveLB] = STOP;
motor[driveLF] = STOP;
}
if(abs(vexRT[Ch2]) > DEADZONE) {
motor[driveRB] = vexRT[Ch2];
motor[driveRF] = vexRT[Ch2];
}
else {
motor[driveRB] = STOP;
motor[driveRF] = STOP;
}
}
void buttonChecks() {
if (vexRT[Btn5U] == 1) {
motor[bintake] = MAX_SPEED;
}
else if (vexRT[Btn5D] == 1) {
motor[bintake] = -MAX_SPEED;
}
else {
motor[bintake] = STOP;
}
//Flipper Code
if (vexRT[Btn8D] == 1) {
shootBall();
}
}
void pre_auton() {
/* Set bStopTasksBetweenModes to false if you want to keep user created tasks
running between Autonomous and Driver controlled modes. You will need to
manage all user created tasks if set to false. */
bStopTasksBetweenModes = true;
}
void driveTiles(int numberOfTiles) {
while(numberOfTiles * TILE > nMotorEncoder[1]) [
// TODO
}
}
task autonomous() {
shootBall();
}
task usercontrol() {
while (true) {
//Dual Driving
joystickDrive();
buttonChecks();
}
}
Loading…
Cancel
Save