Files

33 lines
993 B
C++
Raw Permalink Normal View History

#ifndef CAM_APPLICATION_HPP_EUIC2VFR
#define CAM_APPLICATION_HPP_EUIC2VFR
#include "application.hpp"
#include <vanetza/common/clock.hpp>
#include <vanetza/common/position_provider.hpp>
#include <vanetza/common/runtime.hpp>
class CamApplication : public Application
{
public:
CamApplication(vanetza::PositionProvider& positioning, vanetza::Runtime& rt);
PortType port() override;
void indicate(const DataIndication&, UpPacketPtr) override;
void set_interval(vanetza::Clock::duration);
void set_station_id(std::uint32_t station_id);
void print_received_message(bool flag);
void print_generated_message(bool flag);
private:
void schedule_timer();
void on_timer(vanetza::Clock::time_point);
vanetza::PositionProvider& positioning_;
vanetza::Runtime& runtime_;
vanetza::Clock::duration cam_interval_;
std::uint32_t station_id_ = 1;
bool print_rx_msg_ = false;
bool print_tx_msg_ = false;
};
#endif /* CAM_APPLICATION_HPP_EUIC2VFR */