blob: 9a70682f347e5e1dd3c12c9061b7463bae4def0d [file] [log] [blame]
Daniel Pettiaece37f2014-10-25 17:13:44 -07001#include <stdio.h>
Austin Schuh47017412013-03-10 11:50:46 -07002
Austin Schuh47017412013-03-10 11:50:46 -07003#include "aos/common/time.h"
Brian Silverman14fd0fb2014-01-14 21:42:01 -08004#include "aos/linux_code/init.h"
Brian Silverman598800f2013-05-09 17:08:42 -07005#include "aos/common/logging/logging.h"
Austin Schuh47017412013-03-10 11:50:46 -07006#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
Austin Schuha4faacc2014-03-09 00:50:50 -080014 LOG(INFO, "Auto main started\n");
Austin Schuh47017412013-03-10 11:50:46 -070015 ::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 Schuha4faacc2014-03-09 00:50:50 -080027 ::aos::time::Time start_time = ::aos::time::Time::Now();
Austin Schuh47017412013-03-10 11:50:46 -070028 ::frc971::autonomous::HandleAuto();
29
Austin Schuha4faacc2014-03-09 00:50:50 -080030 ::aos::time::Time elapsed_time = ::aos::time::Time::Now() - start_time;
31 LOG(INFO, "Auto mode exited in %f, waiting for it to finish.\n",
32 elapsed_time.ToSeconds());
Austin Schuh47017412013-03-10 11:50:46 -070033 while (::frc971::autonomous::autonomous->run_auto) {
34 ::frc971::autonomous::autonomous.FetchNextBlocking();
Austin Schuh6be011a2013-03-19 10:07:02 +000035 LOG(INFO, "Got another auto packet\n");
Austin Schuh47017412013-03-10 11:50:46 -070036 }
Austin Schuh6be011a2013-03-19 10:07:02 +000037 LOG(INFO, "Waiting for auto to start back up.\n");
Austin Schuh47017412013-03-10 11:50:46 -070038 }
39 ::aos::Cleanup();
40 return 0;
41}
42