blob: 36494bc6e7239e38f1462688fab24451f585dbde [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 Silverman14fd0fb2014-01-14 21:42:01 -08005#include "aos/linux_code/init.h"
Brian Silverman598800f2013-05-09 17:08:42 -07006#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
Austin Schuha4faacc2014-03-09 00:50:50 -080015 LOG(INFO, "Auto main started\n");
Austin Schuh47017412013-03-10 11:50:46 -070016 ::frc971::autonomous::autonomous.FetchLatest();
17 while (!::frc971::autonomous::autonomous.get()) {
Austin Schuh6be011a2013-03-19 10:07:02 +000018 ::frc971::autonomous::autonomous.FetchNextBlocking();
19 LOG(INFO, "Got another auto packet\n");
Austin Schuh47017412013-03-10 11:50:46 -070020 }
21
22 while (true) {
23 while (!::frc971::autonomous::autonomous->run_auto) {
24 ::frc971::autonomous::autonomous.FetchNextBlocking();
Austin Schuh6be011a2013-03-19 10:07:02 +000025 LOG(INFO, "Got another auto packet\n");
Austin Schuh47017412013-03-10 11:50:46 -070026 }
Austin Schuh6be011a2013-03-19 10:07:02 +000027 LOG(INFO, "Starting auto mode\n");
Austin Schuha4faacc2014-03-09 00:50:50 -080028 ::aos::time::Time start_time = ::aos::time::Time::Now();
Austin Schuh47017412013-03-10 11:50:46 -070029 ::frc971::autonomous::HandleAuto();
30
Austin Schuha4faacc2014-03-09 00:50:50 -080031
32 ::aos::time::Time elapsed_time = ::aos::time::Time::Now() - start_time;
33 LOG(INFO, "Auto mode exited in %f, waiting for it to finish.\n",
34 elapsed_time.ToSeconds());
Austin Schuh47017412013-03-10 11:50:46 -070035 while (::frc971::autonomous::autonomous->run_auto) {
36 ::frc971::autonomous::autonomous.FetchNextBlocking();
Austin Schuh6be011a2013-03-19 10:07:02 +000037 LOG(INFO, "Got another auto packet\n");
Austin Schuh47017412013-03-10 11:50:46 -070038 }
Austin Schuh6be011a2013-03-19 10:07:02 +000039 LOG(INFO, "Waiting for auto to start back up.\n");
Austin Schuh47017412013-03-10 11:50:46 -070040 }
41 ::aos::Cleanup();
42 return 0;
43}
44