|
Infrared4Arduino 1.2.3
|
This class serves as an HAL (Hardware Abstraction Layer). More...
#include <Board.h>

Public Member Functions | |
| virtual void | writeLow () |
| virtual void | writeHigh () |
| virtual void | writeLow (pin_t pin) |
| virtual void | writeHigh (pin_t pin) |
| void | setPinMode (pin_t pin, PinMode mode) |
| bool | readDigital (pin_t pin) |
| virtual pin_t | getPwmPin () const |
| virtual void | checkValidSendPin (pin_t pin __attribute__((unused))) |
| virtual void | enableSampler (pin_t pin __attribute__((unused))) |
| Start the periodic ISR sampler routine. More... | |
| virtual void | disableSampler () |
| Turn off sampler routine. More... | |
| void | enablePwm (pin_t pin, frequency_t frequency, dutycycle_t dutyCycle) |
| Start PWM, making output active. More... | |
| void | disablePwm () |
| Turn off PWM. More... | |
| void | sendPwmMark (microseconds_t time) |
| virtual void | timerReset () |
| TODO. More... | |
Static Public Member Functions | |
| static void | delayMicroseconds (microseconds_t) |
| Version of delayMicroseconds able to grok more than 16383 micros. More... | |
| static Board * | getInstance () |
| static constexpr pin_t | defaultPwmPin () |
| static constexpr bool | hasHardwarePwm () |
| static void | debugPinHigh () |
| static void | debugPinLow () |
| static void | setupDebugPin () |
Static Public Attributes | |
| static const unsigned long | microsPerTick = 50UL |
| static constexpr pin_t | NO_PIN = 255U |
| Constant indicating no or invalid pin. More... | |
| static constexpr dutycycle_t | defaultDutyCycle = 40 |
| Default duty cycle to use. More... | |
Protected Member Functions | |
| Board () | |
| virtual void | timerEnableIntr ()=0 |
| Start periodic sampling routine. More... | |
| virtual void | timerDisableIntr ()=0 |
| Turn off periodic interrupts. More... | |
| virtual void | timerConfigHz (frequency_t hz, dutycycle_t dutyCycle=defaultDutyCycle)=0 |
| Configure hardware PWM, but do not enable it. More... | |
| virtual void | timerConfigNormal ()=0 |
| Disables the PWM configuration. More... | |
| virtual void | timerEnablePwm ()=0 |
| Start PWM output. More... | |
| virtual void | timerDisablePwm ()=0 |
| Turn off PWM output. More... | |
This class serves as an HAL (Hardware Abstraction Layer).
All access to the hardware should go through this class. (In particular, using digital[Read,Write] and ::pinMode is prohibited (exception: code that runs exclusively on the host).
It is a singleton class (since there is only one board), instantiated automatically to one of its subclasses.
|
inlinevirtual |
|
inlinestaticconstexpr |
|
static |
|
inlinevirtual |
|
inline |
|
inlinevirtual |
|
inlinestaticconstexpr |
|
inline |
|
protectedpure virtual |
Configure hardware PWM, but do not enable it.
Implemented in ATmega328P.
|
protectedpure virtual |
Disables the PWM configuration.
Implemented in ATmega328P.
|
protectedpure virtual |
Turn off periodic interrupts.
Implemented in ATmega328P.
|
protectedpure virtual |
Turn off PWM output.
Implemented in ATmega328P.
|
protectedpure virtual |
Start periodic sampling routine.
Implemented in ATmega328P.
|
protectedpure virtual |
Start PWM output.
Implemented in ATmega328P.
|
staticconstexpr |
Default duty cycle to use.
Do not confuse with IrSignal::defaultDutyCycle.
|
staticconstexpr |