1516X Push Back 1.0
1516X's robot code for the 2025-2026 VEX Robotics Competition
Loading...
Searching...
No Matches
warnings.cpp File Reference
#include "pros/misc.hpp"
#include "pros/rtos.hpp"
#include "globals.h"

Go to the source code of this file.

Functions

void temp_warning ()
void motor_disconnect_warning ()
void distance_sensor_disconnect_warning ()

Function Documentation

◆ distance_sensor_disconnect_warning()

void distance_sensor_disconnect_warning ( )

Definition at line 105 of file warnings.cpp.

106{
107 pros::Task disconnect_screening([]() {
108 std::vector<pros::Distance> all_distance_sensors = {frontDistance, backDistance, leftDistance, rightDistance};
109 std::vector<unsigned char> disconnected;
110 std::vector<unsigned char> last_disconnected;
111 bool is_notified = false;
112
113 constexpr int TASK_DELAY_MILLIS = 1000;
114 constexpr int CONTROLLER_DELAY_MILLIS = 50;
115 while (true) {
116 std::string disc_d_sensors = "DSD: ";
117 bool are_distance_sensors_disconnected = false;
118
119 for (pros::Distance i : all_distance_sensors) {
120 if (!i.is_installed()) {
121 unsigned char port = i.get_port();
122 disconnected.push_back(port);
123 disc_d_sensors = disc_d_sensors + " " + std::to_string(port);
124 are_distance_sensors_disconnected = true;
125 }
126 }
127 if (are_distance_sensors_disconnected) {
128 controller.clear_line(0);
129 pros::delay(CONTROLLER_DELAY_MILLIS);
130 controller.set_text(0, 0, disc_d_sensors);
131 is_notified = true;
132 pros::delay(CONTROLLER_DELAY_MILLIS);
133 }
134 if (disconnected.size() > last_disconnected.size()) {
135 controller.rumble(". . .");
136 } else if (disconnected.size() < last_disconnected.size()) {
137 controller.rumble("-");
138 } else if (!are_distance_sensors_disconnected && is_notified) {
139 controller.clear_line(0);
140 is_notified = false;
141 }
142 last_disconnected = disconnected;
143 disconnected.clear();
144 pros::delay(300);
145 }
146 });
147}
pros::Distance frontDistance(14)
pros::Distance rightDistance(20)
pros::Distance backDistance(16)
pros::Distance leftDistance(15)
pros::Controller controller

References backDistance(), controller, frontDistance(), leftDistance(), and rightDistance().

Referenced by initialize().

◆ motor_disconnect_warning()

void motor_disconnect_warning ( )

Definition at line 60 of file warnings.cpp.

61{
62 pros::Task disconnect_screening([]() {
63 std::vector<pros::Motor> all_motors = pros::Motor::get_all_devices();
64 std::vector<unsigned char> disconnected;
65 std::vector<unsigned char> last_disconnected;
66 bool is_notified = false;
67 uint32_t now = pros::millis();
68
69 constexpr int TASK_DELAY_MILLIS = 1000;
70 constexpr int CONTROLLER_DELAY_MILLIS = 50;
71 while (true) {
72 std::string disc_motors = "MD: ";
73 bool are_motors_disconnected = false;
74
75 for (pros::Motor i : all_motors) {
76 if (!i.is_installed()) {
77 unsigned char port = i.get_port();
78 disconnected.push_back(port);
79 disc_motors = disc_motors + " " + std::to_string(port);
80 are_motors_disconnected = true;
81 }
82 }
83 if (are_motors_disconnected) {
84 controller.clear_line(0);
85 pros::delay(CONTROLLER_DELAY_MILLIS);
86 controller.set_text(0, 0, disc_motors);
87 is_notified = true;
88 pros::delay(CONTROLLER_DELAY_MILLIS);
89 }
90 if (disconnected.size() > last_disconnected.size()) {
91 controller.rumble(". . .");
92 } else if (disconnected.size() < last_disconnected.size()) {
93 controller.rumble("-");
94 } else if (!are_motors_disconnected && is_notified) {
95 controller.clear_line(0);
96 is_notified = false;
97 }
98 last_disconnected = disconnected;
99 disconnected.clear();
100 pros::delay(300);
101 }
102 });
103}

References controller.

Referenced by initialize().

◆ temp_warning()

void temp_warning ( )

Definition at line 5 of file warnings.cpp.

5 {
6 pros::Task temp_screening([]() {
7 while (true) {
8 std::vector<double> left_temps = leftMotors.get_temperature_all();
9 std::vector<double> right_temps = rightMotors.get_temperature_all();
10
11 bool is_overheating = false;
12
13 const double TEMP_LIMIT = 55.0;
14 for (int i = 0; i < left_temps.size(); i++) {
15 if (left_temps[i] > TEMP_LIMIT) {
16 controller.rumble(".-.");
17 controller.clear_line(0);
18 controller.print(0, 0, "OVERHEAT! L%i", i + 1);
19 pros::delay(1000);
20 controller.clear_line(0);
21 is_overheating = true;
22 break;
23 }
24 }
25
26 if (is_overheating) {
27 pros::delay(10000);
28 return;
29 }
30
31 for (int i = 0; i < right_temps.size(); i++) {
32 if (right_temps[i] > TEMP_LIMIT) {
33 controller.rumble(".-.");
34 controller.clear_line(0);
35 controller.print(0, 0, "OVERHEAT! R%i", i + 1);
36 pros::delay(1000);
37 controller.clear_line(0);
38 is_overheating = true;
39 break;
40 }
41 }
42 if(pros::battery::get_temperature() >= 45)
43 {
44 controller.rumble(".-.");
45 controller.clear_line(0);
46 controller.print(0, 0, "Battery Overheat! %i", (int)pros::battery::get_temperature());
47 pros::delay(1000);
48 controller.clear_line(0);
49 is_overheating = true;
50 }
51 pros::delay(200);
52 if(is_overheating) {
53 pros::delay(10000);
54 return;
55 }
56 }
57 });
58}
pros::MotorGroup rightMotors
pros::MotorGroup leftMotors
Definition globals.cpp:22

References controller, leftMotors, and rightMotors.

Referenced by initialize().