auton base

This commit is contained in:
ary 2024-01-05 20:04:40 -05:00
parent 550e1d1b58
commit d420e33a0b
3 changed files with 43 additions and 75 deletions

View File

@ -1 +1,7 @@
#pragma once #pragma once
#include "main.h"
namespace autons {
void skills();
void auton_test();
}

View File

@ -0,0 +1,12 @@
#include "main.h"
#include "autons.hpp"
namespace autons {
void skills() {
}
void auton_test() {
}
}

View File

@ -1,93 +1,43 @@
#include "main.h" #include "main.h"
/** // void on_center_button() {
* A callback function for LLEMU's center button. // static bool pressed = false;
* // pressed = !pressed;
* When this callback is fired, it will toggle line 2 of the LCD text between // if (pressed) {
* "I was pressed!" and nothing. // pros::lcd::set_text(2, "I was pressed!");
*/ // } else {
void on_center_button() { // pros::lcd::clear_line(2);
static bool pressed = false; // }
pressed = !pressed; // }
if (pressed) {
pros::lcd::set_text(2, "I was pressed!");
} else {
pros::lcd::clear_line(2);
}
}
/**
* Runs initialization code. This occurs as soon as the program is started.
*
* All other competition modes are blocked by initialize; it is recommended
* to keep execution time for this mode under a few seconds.
*/
void initialize() { void initialize() {
pros::lcd::initialize(); pros::lcd::initialize();
pros::lcd::set_text(1, "Hello PROS User!"); ary::printScr();
pros::delay(500);
pros::lcd::register_btn1_cb(on_center_button); /*
initialize everything else
*/
ary::autonselector::auton_selector.add_autons({
Auton("Testing Path\n\nTesting Path", autons::auton_test),
Auton("Skills\n\nSkills route", autons::skills)
});
ary::autonselector::initialize();
//pros::lcd::register_btn1_cb(on_center_button);
} }
/**
* Runs while the robot is in the disabled state of Field Management System or
* the VEX Competition Switch, following either autonomous or opcontrol. When
* the robot is enabled, this task will exit.
*/
void disabled() {} void disabled() {}
/**
* Runs after initialize(), and before autonomous when connected to the Field
* Management System or the VEX Competition Switch. This is intended for
* competition-specific initialization routines, such as an autonomous selector
* on the LCD.
*
* This task will exit when the robot is enabled and autonomous or opcontrol
* starts.
*/
void competition_initialize() {} void competition_initialize() {}
/**
* Runs the user autonomous code. This function will be started in its own task
* with the default priority and stack size whenever the robot is enabled via
* the Field Management System or the VEX Competition Switch in the autonomous
* mode. Alternatively, this function may be called in initialize or opcontrol
* for non-competition testing purposes.
*
* If the robot is disabled or communications is lost, the autonomous task
* will be stopped. Re-enabling the robot will restart the task, not re-start it
* from where it left off.
*/
void autonomous() {} void autonomous() {}
/**
* Runs the operator control code. This function will be started in its own task
* with the default priority and stack size whenever the robot is enabled via
* the Field Management System or the VEX Competition Switch in the operator
* control mode.
*
* If no competition control is connected, this function will run immediately
* following initialize().
*
* If the robot is disabled or communications is lost, the
* operator control task will be stopped. Re-enabling the robot will restart the
* task, not resume it from where it left off.
*/
void opcontrol() { void opcontrol() {
pros::Controller master(pros::E_CONTROLLER_MASTER);
pros::Motor left_mtr(1);
pros::Motor right_mtr(2);
while (true) { while (true) {
pros::lcd::print(0, "%d %d %d", (pros::lcd::read_buttons() & LCD_BTN_LEFT) >> 2,
(pros::lcd::read_buttons() & LCD_BTN_CENTER) >> 1,
(pros::lcd::read_buttons() & LCD_BTN_RIGHT) >> 0);
int left = master.get_analog(ANALOG_LEFT_Y);
int right = master.get_analog(ANALOG_RIGHT_Y);
left_mtr = left;
right_mtr = right;
pros::delay(20); pros::delay(20);
} }
} }