Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.25 KB | None | 0 0
  1. #include "main.h"
  2. #include <stdio.h>
  3. #include "okapi/api.hpp"
  4. bool red = true;
  5. using namespace okapi;
  6. #define tpi 8.8188038732
  7. #define tpdeg 0.82
  8. #define LEFT_WHEELS_PORT 2
  9. #define LEFT_WHEELS_PORT_2 6
  10. #define RIGHT_WHEELS_PORT 5
  11. #define RIGHT_WHEELS_PORT_2 3
  12. #define INTAKE_PORT_L 8
  13. #define INTAKE_PORT_R 7
  14. #define OUTTAKE_PORT 20
  15. #define LIFT_PORT 9
  16. #define VISION_PORT 17
  17. pros::Motor aleft_wheels (LEFT_WHEELS_PORT);
  18. pros::Motor aleft_wheels_2 (LEFT_WHEELS_PORT_2,true);
  19. pros::Motor aright_wheels (RIGHT_WHEELS_PORT, true);
  20. pros::Motor aright_wheels_2 (RIGHT_WHEELS_PORT_2);
  21. pros::Motor aintake_L (INTAKE_PORT_L);
  22. pros::Motor aintake_R (INTAKE_PORT_R);
  23. pros::Motor alift (LIFT_PORT,MOTOR_GEARSET_36, false, pros::E_MOTOR_ENCODER_COUNTS);
  24. pros::Motor aouttake (OUTTAKE_PORT,MOTOR_GEARSET_36, false, pros::E_MOTOR_ENCODER_COUNTS);
  25.  
  26. void driveForward(int inc){
  27. IntegratedEncoder drive = IntegratedEncoder(aleft_wheels);
  28. drive.reset();
  29. for(;drive.get()>=-inc*tpi;){
  30. aleft_wheels.move(-80);
  31. aright_wheels.move(80);
  32. aleft_wheels_2.move(80);
  33. aright_wheels_2.move(80);
  34. pros::delay(10);
  35. printf("%fd\n",drive.get());
  36. }
  37. aleft_wheels.move(0);
  38. aright_wheels.move(0);
  39. aleft_wheels_2.move(0);
  40. aright_wheels_2.move(0);
  41. }
  42. void driveBackward(int inc){
  43. IntegratedEncoder drive = IntegratedEncoder(aleft_wheels);
  44. drive.reset();
  45. for(;drive.get()<=-inc*tpi;){
  46. aleft_wheels.move(80);
  47. aright_wheels.move(-80);
  48. aleft_wheels_2.move(-80);
  49. aright_wheels_2.move(-80);
  50. pros::delay(10);
  51. printf("%fd\n",drive.get());
  52. }
  53. aleft_wheels.move(0);
  54. aright_wheels.move(0);
  55. aleft_wheels_2.move(0);
  56. aright_wheels_2.move(0);
  57. }
  58. void turn(int deg){
  59. IntegratedEncoder drive = IntegratedEncoder(aleft_wheels);
  60. drive.reset();
  61. for(;drive.get()>=-tpdeg*deg;){
  62. aleft_wheels.move(-60);
  63. aright_wheels.move(-60);
  64. aleft_wheels_2.move(60);
  65. aright_wheels_2.move(-60);
  66. pros::delay(10);
  67. printf("%ft\n",drive.get());
  68. }
  69. aleft_wheels.move(0);
  70. aright_wheels.move(0);
  71. aleft_wheels_2.move(0);
  72. aright_wheels_2.move(0);
  73. }
  74. void rturn(int deg){
  75. IntegratedEncoder drive = IntegratedEncoder(aleft_wheels);
  76. drive.reset();
  77. for(;drive.get()<=-tpdeg*deg;){
  78. aleft_wheels.move(60);
  79. aright_wheels.move(60);
  80. aleft_wheels_2.move(-60);
  81. aright_wheels_2.move(60);
  82. pros::delay(10);
  83. printf("%ft\n",drive.get());
  84. }
  85. aleft_wheels.move(0);
  86. aright_wheels.move(0);
  87. aleft_wheels_2.move(0);
  88. aright_wheels_2.move(0);
  89. }
  90. void lift(bool dir){//false for reverse
  91. IntegratedEncoder enc = IntegratedEncoder(alift);
  92. enc.reset();
  93. if(dir){
  94. while(enc.get()<=200){
  95. alift.move(127);
  96. }
  97. }
  98. else{
  99. while(enc.get()>=-200){
  100. alift.move(-127);
  101. }
  102. }
  103. alift.move(0);
  104. }
  105. void aouttake_macro(bool dir){//false for reverse
  106. IntegratedEncoder enc = IntegratedEncoder(aouttake);
  107. enc.reset();
  108. if(dir){
  109. while(enc.get()<=12000){
  110. aouttake.move(127);
  111. }
  112. }
  113. else{
  114. while(enc.get()>=-12000){
  115. aouttake.move(-127);
  116. }
  117. }
  118. aouttake.move(0);
  119. }
  120. void autonomous(){
  121.  
  122. aouttake.set_brake_mode(pros::E_MOTOR_BRAKE_HOLD);
  123. aintake_R.set_brake_mode(pros::E_MOTOR_BRAKE_HOLD);
  124. aintake_L.set_brake_mode(pros::E_MOTOR_BRAKE_HOLD);
  125. aleft_wheels.set_brake_mode(pros::E_MOTOR_BRAKE_HOLD);
  126. aright_wheels.set_brake_mode(pros::E_MOTOR_BRAKE_HOLD);
  127. aleft_wheels_2.set_brake_mode(pros::E_MOTOR_BRAKE_HOLD);
  128. aright_wheels_2.set_brake_mode(pros::E_MOTOR_BRAKE_HOLD);
  129. lift(true);
  130. lift(false);
  131. lift(true);
  132. lift(false);
  133. aintake_L.move(127);
  134. aintake_R.move(-127);
  135. driveForward(50);
  136. pros::delay(200);
  137. if(red){
  138. turn(36);
  139. }
  140. else{
  141. rturn(-36);
  142. }
  143. driveBackward(-55);
  144. pros::delay(200);
  145. if(red){
  146. rturn(-36);
  147. }
  148. else{
  149. turn(36);
  150. }
  151. driveForward(50);
  152. pros::delay(200);
  153. driveBackward(-40);
  154. pros::delay(200);
  155. if(red){
  156. rturn(-130);
  157. }
  158. else {
  159. turn(130);
  160. }
  161. aintake_L.move(30);
  162. aintake_R.move(-30);
  163. driveForward(10);
  164. pros::delay(100);
  165.  
  166. aintake_L.move(-30);
  167. aintake_R.move(30);
  168. aouttake_macro(false);
  169. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement