Files

23 lines
573 B
C++

#pragma once
#include <array>
#include <string>
namespace cms {
struct CanSnapshot {
std::array<int,4> positions{{-1,-1,-1,-1}}; // LF, RF, LR, RR
double age_ms{-1};
bool valid{false};
std::string source{"hardware"},side{"left"};
};
class CanInput {
public:
explicit CanInput(bool enabled);
~CanInput();
CanInput(CanInput const&)=delete;
CanInput& operator=(CanInput const&)=delete;
CanSnapshot snapshot(std::string const& side,double timeoutMs) const;
private:
bool opened_{};
};
std::string activeDoor(CanSnapshot const& state);
}