33 lines
993 B
C++
33 lines
993 B
C++
#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 */
|