blob: 8ce82f8aab32922168f9a22e616aa1a6eff69e55 [file] [log] [blame]
Austin Schuh47017412013-03-10 11:50:46 -07001#include "stdio.h"
2
Austin Schuh47017412013-03-10 11:50:46 -07003#include "aos/common/control_loop/Timing.h"
4#include "aos/common/time.h"
Brian Silverman598800f2013-05-09 17:08:42 -07005#include "aos/atom_code/init.h"
6#include "aos/common/logging/logging.h"
Austin Schuh47017412013-03-10 11:50:46 -07007#include "frc971/autonomous/auto.q.h"
8#include "frc971/autonomous/auto.h"
9
10using ::aos::time::Time;
11
12int main(int /*argc*/, char * /*argv*/[]) {
13 ::aos::Init();
14
15 ::frc971::autonomous::autonomous.FetchLatest();
16 while (!::frc971::autonomous::autonomous.get()) {
Austin Schuh6be011a2013-03-19 10:07:02 +000017 ::frc971::autonomous::autonomous.FetchNextBlocking();
18 LOG(INFO, "Got another auto packet\n");
Austin Schuh47017412013-03-10 11:50:46 -070019 }
20
21 while (true) {
22 while (!::frc971::autonomous::autonomous->run_auto) {
23 ::frc971::autonomous::autonomous.FetchNextBlocking();
Austin Schuh6be011a2013-03-19 10:07:02 +000024 LOG(INFO, "Got another auto packet\n");
Austin Schuh47017412013-03-10 11:50:46 -070025 }
Austin Schuh6be011a2013-03-19 10:07:02 +000026 LOG(INFO, "Starting auto mode\n");
Austin Schuh47017412013-03-10 11:50:46 -070027 ::frc971::autonomous::HandleAuto();
28
Austin Schuh6be011a2013-03-19 10:07:02 +000029 LOG(INFO, "Auto mode exited, waiting for it to finish.\n");
Austin Schuh47017412013-03-10 11:50:46 -070030 while (::frc971::autonomous::autonomous->run_auto) {
31 ::frc971::autonomous::autonomous.FetchNextBlocking();
Austin Schuh6be011a2013-03-19 10:07:02 +000032 LOG(INFO, "Got another auto packet\n");
Austin Schuh47017412013-03-10 11:50:46 -070033 }
Austin Schuh6be011a2013-03-19 10:07:02 +000034 LOG(INFO, "Waiting for auto to start back up.\n");
Austin Schuh47017412013-03-10 11:50:46 -070035 }
36 ::aos::Cleanup();
37 return 0;
38}
39