5 pros::Task temp_screening([]() {
7 std::vector<double> left_temps =
leftMotors.get_temperature_all();
8 std::vector<double> right_temps =
rightMotors.get_temperature_all();
10 bool is_overheating =
false;
12 const double TEMP_LIMIT = 55.0;
13 for (
int i = 0; i < left_temps.size(); i++) {
14 if (left_temps[i] > TEMP_LIMIT) {
17 controller.print(0, 0,
"OVERHEAT! L%i", i + 1);
20 is_overheating =
true;
30 for (
int i = 0; i < right_temps.size(); i++) {
31 if (right_temps[i] > TEMP_LIMIT) {
34 controller.print(0, 0,
"OVERHEAT! R%i", i + 1);
37 is_overheating =
true;
52 pros::Task disconnect_screening([]() {
53 std::vector<pros::Motor> all_motors = pros::Motor::get_all_devices();
54 std::vector<unsigned char> disconnected;
55 std::vector<unsigned char> last_disconnected;
56 bool is_notified =
false;
57 uint32_t now = pros::millis();
59 constexpr int TASK_DELAY_MILLIS = 1000;
60 constexpr int CONTROLLER_DELAY_MILLIS = 50;
62 std::string disc_motors =
"MD: ";
63 bool are_motors_disconnected =
false;
65 for (pros::Motor i : all_motors) {
66 if (!i.is_installed()) {
67 unsigned char port = i.get_port();
68 disconnected.push_back(port);
69 disc_motors = disc_motors +
" " + std::to_string(port);
70 are_motors_disconnected =
true;
73 if (are_motors_disconnected) {
75 pros::delay(CONTROLLER_DELAY_MILLIS);
78 pros::delay(CONTROLLER_DELAY_MILLIS);
80 if (disconnected.size() > last_disconnected.size()) {
82 }
else if (disconnected.size() < last_disconnected.size()) {
84 }
else if (!are_motors_disconnected && is_notified) {
88 last_disconnected = disconnected;
97 pros::Task disconnect_screening([]() {
99 std::vector<unsigned char> disconnected;
100 std::vector<unsigned char> last_disconnected;
101 bool is_notified =
false;
103 constexpr int TASK_DELAY_MILLIS = 1000;
104 constexpr int CONTROLLER_DELAY_MILLIS = 50;
106 std::string disc_d_sensors =
"DSD: ";
107 bool are_distance_sensors_disconnected =
false;
109 for (pros::Distance i : all_distance_sensors) {
110 if (!i.is_installed()) {
111 unsigned char port = i.get_port();
112 disconnected.push_back(port);
113 disc_d_sensors = disc_d_sensors +
" " + std::to_string(port);
114 are_distance_sensors_disconnected =
true;
117 if (are_distance_sensors_disconnected) {
119 pros::delay(CONTROLLER_DELAY_MILLIS);
122 pros::delay(CONTROLLER_DELAY_MILLIS);
124 if (disconnected.size() > last_disconnected.size()) {
126 }
else if (disconnected.size() < last_disconnected.size()) {
128 }
else if (!are_distance_sensors_disconnected && is_notified) {
132 last_disconnected = disconnected;
133 disconnected.clear();