Nintendo R.O.B. Control Library  v1.1.2
Library to control the Nintendo Robotic Operating Buddy
w_wave_driver.hpp
Go to the documentation of this file.
1 #ifndef W_WAVE_DRIVER_HPP
2 #define W_WAVE_DRIVER_HPP
3 
4 #include "pulse_driver.hpp"
5 
6 namespace nes { namespace rob {
7 
8 class HardwareAbstractionLayer;
9 
18 class WWaveDriver final : public PulseDriver {
19  public:
26  WWaveDriver (HardwareAbstractionLayer * hal, unsigned int pin);
27  nes::rob::error_code init (void * reserved = nullptr) override;
28  nes::rob::error_code pulse (void * reserved = nullptr) const override;
29  nes::rob::error_code rest (void * reserved = nullptr) const override;
30 
31  private:
32  HardwareAbstractionLayer * const _hal;
33  const unsigned int _pin;
34 };
35 
36 }} // namespace nes::rob
37 
38 #endif // W_WAVE_DRIVER_HPP
The hardware abstraction layer interface.
Definition: hardware_abstraction_layer.hpp:14
The pulse driver interface.
Definition: pulse_driver.hpp:14
The W square wave implementation of the pulse driver interface.
Definition: w_wave_driver.hpp:18
WWaveDriver(HardwareAbstractionLayer *hal, unsigned int pin)
constructor
Definition: w_wave_driver.cpp:8
nes::rob::error_code rest(void *reserved=nullptr) const override
Generate a protocol specified rest period.
Definition: w_wave_driver.cpp:81
nes::rob::error_code init(void *reserved=nullptr) override
Initialize the pulse driver.
Definition: w_wave_driver.cpp:17
nes::rob::error_code pulse(void *reserved=nullptr) const override
Generate a protocol specific pulse.
Definition: w_wave_driver.cpp:37
std::error_code error_code
Definition: hal_error.hpp:24
Definition: arduino_debug_driver.hpp:6