Formula Student Autonomous Systems
The code for the main driverless system
Loading...
Searching...
No Matches
mission_logic.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <map>
4#include <string>
5#include <unordered_map>
6
7#include "eufs_msgs/msg/can_state.hpp"
8
10
11enum class Mission {
12 MANUAL = 0,
13 ACCELERATION = 1,
14 SKIDPAD = 2,
15 AUTOCROSS = 3,
16 TRACKDRIVE = 4,
17 EBS_TEST = 5,
18 INSPECTION = 6,
19 NONE = 7
20};
21
22bool operator==(const Mission& mission, const int& value);
23
24bool operator==(const int& value, const Mission& mission);
25
26const std::map<Mission, std::string> MISSION_STRING_MAP = {{Mission::ACCELERATION, "acceleration"},
27 {Mission::SKIDPAD, "skidpad"},
28 {Mission::AUTOCROSS, "autocross"},
29 {Mission::TRACKDRIVE, "trackdrive"},
30 {Mission::EBS_TEST, "ebs_test"},
31 {Mission::INSPECTION, "inspection"},
32 {Mission::MANUAL, "manual"},
33 {Mission::NONE, "none"}};
34
35std::string get_mission_string(int mission);
36
37// the message type is not accepted in map - not recognized by std namespace. Cast to identical type
38Mission get_mission_from_eufs(unsigned short eufs_mission);
39const std::unordered_map<unsigned short, Mission> eufs_to_system = {
40 {eufs_msgs::msg::CanState::AMI_ACCELERATION, Mission::ACCELERATION},
41 {eufs_msgs::msg::CanState::AMI_SKIDPAD, Mission::SKIDPAD},
42 {eufs_msgs::msg::CanState::AMI_AUTOCROSS, Mission::AUTOCROSS},
43 {eufs_msgs::msg::CanState::AMI_TRACK_DRIVE, Mission::TRACKDRIVE},
44 {eufs_msgs::msg::CanState::AMI_ADS_EBS, Mission::EBS_TEST},
45 {eufs_msgs::msg::CanState::AMI_ADS_INSPECTION, Mission::INSPECTION},
46 {eufs_msgs::msg::CanState::AMI_NOT_SELECTED, Mission::NONE},
47 {eufs_msgs::msg::CanState::AMI_MANUAL, Mission::MANUAL}};
48
49const std::unordered_map<std::string, Mission> fsds_to_system = {
50 {"acceleration", Mission::ACCELERATION},
51 {"skidpad", Mission::SKIDPAD},
52 {"autocross", Mission::AUTOCROSS},
53 {"trackdrive", Mission::TRACKDRIVE}};
54} // namespace common_lib::competition_logic
std::string get_mission_string(int mission)
bool operator==(const Color &color, const int &value)
Definition color.cpp:24
const std::map< Mission, std::string > MISSION_STRING_MAP
const std::unordered_map< unsigned short, Mission > eufs_to_system
Mission get_mission_from_eufs(unsigned short eufs_mission)
const std::unordered_map< std::string, Mission > fsds_to_system