HardFOC Core
API reference
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
hf::host::MockGpio Class Reference

#include <MockGpio.h>

Inheritance diagram for hf::host::MockGpio:

Public Member Functions

 MockGpio (hf_pin_num_t pin=0, hf_gpio_direction_t direction=hf_gpio_direction_t::HF_GPIO_DIRECTION_INPUT, hf_gpio_active_state_t active_state=hf_gpio_active_state_t::HF_GPIO_ACTIVE_HIGH) noexcept
 
 ~MockGpio () noexcept override=default
 
bool Initialize () noexcept override
 
bool IsPinAvailable () const noexcept override
 
hf_u8_t GetMaxPins () const noexcept override
 
const char * GetDescription () const noexcept override
 
hf_gpio_err_t SupportsInterrupts () const noexcept override
 
hf_gpio_err_t ConfigureInterrupt (hf_gpio_interrupt_trigger_t trigger, InterruptCallback callback=nullptr, void *user_data=nullptr) noexcept override
 
hf_gpio_err_t EnableInterrupt () noexcept override
 
hf_gpio_err_t DisableInterrupt () noexcept override
 
void SetInputLevel (hf_gpio_level_t level) noexcept
 
void SetInitializeResult (bool ok) noexcept
 
void FailReads (bool fail=true) noexcept
 
void FailWrites (bool fail=true) noexcept
 
bool FireInterrupt () noexcept
 
hf_gpio_level_t DrivenLevel () const noexcept
 
const std::vector< hf_gpio_level_t > & LevelHistory () const noexcept
 
void ClearHistory () noexcept
 
hf_gpio_pull_mode_t PullMode () const noexcept
 
hf_gpio_interrupt_trigger_t InterruptTrigger () const noexcept
 
bool InterruptEnabled () const noexcept
 

Protected Member Functions

hf_gpio_err_t SetDirectionImpl (hf_gpio_direction_t direction) noexcept override
 
hf_gpio_err_t GetDirectionImpl (hf_gpio_direction_t &direction) const noexcept override
 
hf_gpio_err_t SetOutputModeImpl (hf_gpio_output_mode_t mode) noexcept override
 
hf_gpio_err_t GetOutputModeImpl (hf_gpio_output_mode_t &mode) const noexcept override
 
hf_gpio_err_t SetPullModeImpl (hf_gpio_pull_mode_t mode) noexcept override
 
hf_gpio_pull_mode_t GetPullModeImpl () const noexcept override
 
hf_gpio_err_t SetPinLevelImpl (hf_gpio_level_t level) noexcept override
 
hf_gpio_err_t GetPinLevelImpl (hf_gpio_level_t &level) noexcept override
 

Private Attributes

bool init_result_ {true}
 
bool fail_reads_ {false}
 
bool fail_writes_ {false}
 
hf_gpio_direction_t direction_hw_
 
hf_gpio_output_mode_t output_mode_hw_ {hf_gpio_output_mode_t::HF_GPIO_OUTPUT_MODE_PUSH_PULL}
 
hf_gpio_pull_mode_t pull_mode_hw_ {hf_gpio_pull_mode_t::HF_GPIO_PULL_MODE_FLOATING}
 
hf_gpio_level_t driven_level_ {hf_gpio_level_t::HF_GPIO_LEVEL_LOW}
 
hf_gpio_level_t input_level_ {hf_gpio_level_t::HF_GPIO_LEVEL_LOW}
 
std::vector< hf_gpio_level_t > history_
 
hf_gpio_interrupt_trigger_t trigger_ {hf_gpio_interrupt_trigger_t::HF_GPIO_INTERRUPT_TRIGGER_NONE}
 
InterruptCallback callback_ {nullptr}
 
void * callback_user_data_ {nullptr}
 
bool irq_enabled_ {false}
 

Constructor & Destructor Documentation

◆ MockGpio()

hf::host::MockGpio::MockGpio ( hf_pin_num_t  pin = 0,
hf_gpio_direction_t  direction = hf_gpio_direction_t::HF_GPIO_DIRECTION_INPUT,
hf_gpio_active_state_t  active_state = hf_gpio_active_state_t::HF_GPIO_ACTIVE_HIGH 
)
explicitnoexcept

◆ ~MockGpio()

hf::host::MockGpio::~MockGpio ( )
overridedefaultnoexcept

Member Function Documentation

◆ ClearHistory()

void hf::host::MockGpio::ClearHistory ( )
inlinenoexcept

◆ ConfigureInterrupt()

hf_gpio_err_t hf::host::MockGpio::ConfigureInterrupt ( hf_gpio_interrupt_trigger_t  trigger,
InterruptCallback  callback = nullptr,
void *  user_data = nullptr 
)
overridenoexcept

◆ DisableInterrupt()

hf_gpio_err_t hf::host::MockGpio::DisableInterrupt ( )
overridenoexcept

◆ DrivenLevel()

hf_gpio_level_t hf::host::MockGpio::DrivenLevel ( ) const
inlinenoexcept

◆ EnableInterrupt()

hf_gpio_err_t hf::host::MockGpio::EnableInterrupt ( )
overridenoexcept

◆ FailReads()

void hf::host::MockGpio::FailReads ( bool  fail = true)
inlinenoexcept

Make level reads (true) or writes (false) fail with GPIO_ERR_HARDWARE_FAULT.

◆ FailWrites()

void hf::host::MockGpio::FailWrites ( bool  fail = true)
inlinenoexcept

◆ FireInterrupt()

bool hf::host::MockGpio::FireInterrupt ( )
noexcept

Call the registered interrupt callback, if interrupts are enabled. Returns true if called.

◆ GetDescription()

const char * hf::host::MockGpio::GetDescription ( ) const
inlineoverridenoexcept

◆ GetDirectionImpl()

hf_gpio_err_t hf::host::MockGpio::GetDirectionImpl ( hf_gpio_direction_t &  direction) const
overrideprotectednoexcept

◆ GetMaxPins()

hf_u8_t hf::host::MockGpio::GetMaxPins ( ) const
inlineoverridenoexcept

◆ GetOutputModeImpl()

hf_gpio_err_t hf::host::MockGpio::GetOutputModeImpl ( hf_gpio_output_mode_t &  mode) const
overrideprotectednoexcept

◆ GetPinLevelImpl()

hf_gpio_err_t hf::host::MockGpio::GetPinLevelImpl ( hf_gpio_level_t &  level)
overrideprotectednoexcept

◆ GetPullModeImpl()

hf_gpio_pull_mode_t hf::host::MockGpio::GetPullModeImpl ( ) const
inlineoverrideprotectednoexcept

◆ Initialize()

bool hf::host::MockGpio::Initialize ( )
overridenoexcept

◆ InterruptEnabled()

bool hf::host::MockGpio::InterruptEnabled ( ) const
inlinenoexcept

◆ InterruptTrigger()

hf_gpio_interrupt_trigger_t hf::host::MockGpio::InterruptTrigger ( ) const
inlinenoexcept

◆ IsPinAvailable()

bool hf::host::MockGpio::IsPinAvailable ( ) const
inlineoverridenoexcept

◆ LevelHistory()

const std::vector< hf_gpio_level_t > & hf::host::MockGpio::LevelHistory ( ) const
inlinenoexcept

◆ PullMode()

hf_gpio_pull_mode_t hf::host::MockGpio::PullMode ( ) const
inlinenoexcept

◆ SetDirectionImpl()

hf_gpio_err_t hf::host::MockGpio::SetDirectionImpl ( hf_gpio_direction_t  direction)
overrideprotectednoexcept

◆ SetInitializeResult()

void hf::host::MockGpio::SetInitializeResult ( bool  ok)
inlinenoexcept

◆ SetInputLevel()

void hf::host::MockGpio::SetInputLevel ( hf_gpio_level_t  level)
inlinenoexcept

◆ SetOutputModeImpl()

hf_gpio_err_t hf::host::MockGpio::SetOutputModeImpl ( hf_gpio_output_mode_t  mode)
overrideprotectednoexcept

◆ SetPinLevelImpl()

hf_gpio_err_t hf::host::MockGpio::SetPinLevelImpl ( hf_gpio_level_t  level)
overrideprotectednoexcept

◆ SetPullModeImpl()

hf_gpio_err_t hf::host::MockGpio::SetPullModeImpl ( hf_gpio_pull_mode_t  mode)
overrideprotectednoexcept

◆ SupportsInterrupts()

hf_gpio_err_t hf::host::MockGpio::SupportsInterrupts ( ) const
inlineoverridenoexcept

Member Data Documentation

◆ callback_

InterruptCallback hf::host::MockGpio::callback_ {nullptr}
private

◆ callback_user_data_

void* hf::host::MockGpio::callback_user_data_ {nullptr}
private

◆ direction_hw_

hf_gpio_direction_t hf::host::MockGpio::direction_hw_
private

◆ driven_level_

hf_gpio_level_t hf::host::MockGpio::driven_level_ {hf_gpio_level_t::HF_GPIO_LEVEL_LOW}
private

◆ fail_reads_

bool hf::host::MockGpio::fail_reads_ {false}
private

◆ fail_writes_

bool hf::host::MockGpio::fail_writes_ {false}
private

◆ history_

std::vector<hf_gpio_level_t> hf::host::MockGpio::history_
private

◆ init_result_

bool hf::host::MockGpio::init_result_ {true}
private

◆ input_level_

hf_gpio_level_t hf::host::MockGpio::input_level_ {hf_gpio_level_t::HF_GPIO_LEVEL_LOW}
private

◆ irq_enabled_

bool hf::host::MockGpio::irq_enabled_ {false}
private

◆ output_mode_hw_

hf_gpio_output_mode_t hf::host::MockGpio::output_mode_hw_ {hf_gpio_output_mode_t::HF_GPIO_OUTPUT_MODE_PUSH_PULL}
private

◆ pull_mode_hw_

hf_gpio_pull_mode_t hf::host::MockGpio::pull_mode_hw_ {hf_gpio_pull_mode_t::HF_GPIO_PULL_MODE_FLOATING}
private

◆ trigger_

hf_gpio_interrupt_trigger_t hf::host::MockGpio::trigger_ {hf_gpio_interrupt_trigger_t::HF_GPIO_INTERRUPT_TRIGGER_NONE}
private

The documentation for this class was generated from the following files: