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