blob: 7102da97832478656d3fec434920423e1e007da6 [file] [log] [blame]
Austin Schuh47017412013-03-10 11:50:46 -07001#include "stdio.h"
2
3#include "aos/aos_core.h"
4#include "aos/common/control_loop/Timing.h"
5#include "aos/common/time.h"
6#include "frc971/autonomous/auto.q.h"
7#include "frc971/autonomous/auto.h"
8
9using ::aos::time::Time;
10
11int main(int /*argc*/, char * /*argv*/[]) {
12 ::aos::Init();
13
14 ::frc971::autonomous::autonomous.FetchLatest();
15 while (!::frc971::autonomous::autonomous.get()) {
Austin Schuh6be011a2013-03-19 10:07:02 +000016 ::frc971::autonomous::autonomous.FetchNextBlocking();
17 LOG(INFO, "Got another auto packet\n");
Austin Schuh47017412013-03-10 11:50:46 -070018 }
19
20 while (true) {
21 while (!::frc971::autonomous::autonomous->run_auto) {
22 ::frc971::autonomous::autonomous.FetchNextBlocking();
Austin Schuh6be011a2013-03-19 10:07:02 +000023 LOG(INFO, "Got another auto packet\n");
Austin Schuh47017412013-03-10 11:50:46 -070024 }
Austin Schuh6be011a2013-03-19 10:07:02 +000025 LOG(INFO, "Starting auto mode\n");
Austin Schuh47017412013-03-10 11:50:46 -070026 ::frc971::autonomous::HandleAuto();
27
Austin Schuh6be011a2013-03-19 10:07:02 +000028 LOG(INFO, "Auto mode exited, waiting for it to finish.\n");
Austin Schuh47017412013-03-10 11:50:46 -070029 while (::frc971::autonomous::autonomous->run_auto) {
30 ::frc971::autonomous::autonomous.FetchNextBlocking();
Austin Schuh6be011a2013-03-19 10:07:02 +000031 LOG(INFO, "Got another auto packet\n");
Austin Schuh47017412013-03-10 11:50:46 -070032 }
Austin Schuh6be011a2013-03-19 10:07:02 +000033 LOG(INFO, "Waiting for auto to start back up.\n");
Austin Schuh47017412013-03-10 11:50:46 -070034 }
35 ::aos::Cleanup();
36 return 0;
37}
38