ESPHome  2024.11.0
Public Member Functions | Protected Member Functions | Protected Attributes
esphome::weikai::WeikaiComponent Class Referenceabstract

The WeikaiComponent class stores the information global to the WeiKai component and provides methods to set/access this information. More...

#include <weikai.h>

Inheritance diagram for esphome::weikai::WeikaiComponent:
esphome::Component esphome::weikai_i2c::WeikaiComponentI2C esphome::weikai_spi::WeikaiComponentSPI

Public Member Functions

virtual ~WeikaiComponent ()
 virtual destructor More...
 
void set_crystal (uint32_t crystal)
 store crystal frequency More...
 
void set_test_mode (int test_mode)
 store if the component is in test mode More...
 
void set_name (std::string &&name)
 store the name for the component More...
 
const char * get_name ()
 Get the name of the component. More...
 
void loop () override
 override the Component loop() More...
 
bool page1 ()
 
virtual WeikaiRegisterreg (uint8_t reg, uint8_t channel)=0
 Factory method to create a Register object. More...
 
- Public Member Functions inherited from esphome::Component
virtual void setup ()
 Where the component's initialization should happen. More...
 
virtual void dump_config ()
 
float get_actual_setup_priority () const
 
void set_setup_priority (float priority)
 
virtual float get_loop_priority () const
 priority of loop(). More...
 
void call ()
 
virtual void on_shutdown ()
 
virtual void on_safe_shutdown ()
 
uint32_t get_component_state () const
 
virtual void mark_failed ()
 Mark this component as failed. More...
 
bool is_failed () const
 
bool is_ready () const
 
virtual bool can_proceed ()
 
bool status_has_warning () const
 
bool status_has_error () const
 
void status_set_warning (const char *message="unspecified")
 
void status_set_error (const char *message="unspecified")
 
void status_clear_warning ()
 
void status_clear_error ()
 
void status_momentary_warning (const std::string &name, uint32_t length=5000)
 
void status_momentary_error (const std::string &name, uint32_t length=5000)
 
bool has_overridden_loop () const
 
void set_component_source (const char *source)
 Set where this component was loaded from for some debug messages. More...
 
const char * get_component_source () const
 Get the integration where this component was declared as a string. More...
 

Protected Member Functions

float get_setup_priority () const override
 Get the priority of the component. More...
 
bool read_pin_val_ (uint8_t pin)
 Helper method to read the value of a pin. More...
 
void write_pin_val_ (uint8_t pin, bool value)
 Helper method to write the value of a pin. More...
 
void set_pin_direction_ (uint8_t pin, gpio::Flags flags)
 Helper method to set the pin mode of a pin. More...
 
void test_gpio_input_ ()
 
void test_gpio_output_ ()
 
- Protected Member Functions inherited from esphome::Component
virtual void call_loop ()
 
virtual void call_setup ()
 
virtual void call_dump_config ()
 
void set_interval (const std::string &name, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a unique name. More...
 
void set_interval (uint32_t interval, std::function< void()> &&f)
 
bool cancel_interval (const std::string &name)
 Cancel an interval function. More...
 
void set_retry (const std::string &name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 Set an retry function with a unique name. More...
 
void set_retry (uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 
bool cancel_retry (const std::string &name)
 Cancel a retry function. More...
 
void set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a unique name. More...
 
void set_timeout (uint32_t timeout, std::function< void()> &&f)
 
bool cancel_timeout (const std::string &name)
 Cancel a timeout function. More...
 
void defer (const std::string &name, std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
void defer (std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
bool cancel_defer (const std::string &name)
 Cancel a defer callback using the specified name, name must not be empty. More...
 

Protected Attributes

uint8_t pin_config_ {0x00}
 pin config mask: 1 means OUTPUT, 0 means INPUT More...
 
uint8_t output_state_ {0x00}
 output state: 1 means HIGH, 0 means LOW More...
 
uint8_t input_state_ {0x00}
 input pin states: 1 means HIGH, 0 means LOW More...
 
uint32_t crystal_
 crystal value; More...
 
int test_mode_
 test mode value (0 -> no tests) More...
 
bool page1_ {false}
 set to true when in "page1 mode" More...
 
std::vector< WeikaiChannel * > children_ {}
 the list of WeikaiChannel UART children More...
 
std::string name_
 name of entity More...
 
- Protected Attributes inherited from esphome::Component
uint32_t component_state_ {0x0000}
 State of this component. More...
 
float setup_priority_override_ {NAN}
 
const char * component_source_ {nullptr}
 

Detailed Description

The WeikaiComponent class stores the information global to the WeiKai component and provides methods to set/access this information.

It is also the container of the WeikaiChannel children objects. This class is derived from esphome::Component class.

Definition at line 197 of file weikai.h.

Constructor & Destructor Documentation

◆ ~WeikaiComponent()

virtual esphome::weikai::WeikaiComponent::~WeikaiComponent ( )
inlinevirtual

virtual destructor

Definition at line 200 of file weikai.h.

Member Function Documentation

◆ get_name()

const char* esphome::weikai::WeikaiComponent::get_name ( )
inline

Get the name of the component.

Returns
the name

Definition at line 216 of file weikai.h.

◆ get_setup_priority()

float esphome::weikai::WeikaiComponent::get_setup_priority ( ) const
inlineoverrideprotectedvirtual

Get the priority of the component.

Returns
the priority

The priority is set below setup_priority::BUS because we use the spi/i2c busses (which has a priority of BUS) to communicate and the WeiKai therefore it is seen by our client almost as if it was a bus.

Reimplemented from esphome::Component.

Definition at line 237 of file weikai.h.

◆ loop()

void esphome::weikai::WeikaiComponent::loop ( )
overridevirtual

override the Component loop()

Reimplemented from esphome::Component.

Definition at line 156 of file weikai.cpp.

◆ page1()

bool esphome::weikai::WeikaiComponent::page1 ( )
inline

Definition at line 221 of file weikai.h.

◆ read_pin_val_()

bool esphome::weikai::WeikaiComponent::read_pin_val_ ( uint8_t  pin)
protected

Helper method to read the value of a pin.

Definition at line 261 of file weikai.cpp.

◆ reg()

virtual WeikaiRegister& esphome::weikai::WeikaiComponent::reg ( uint8_t  reg,
uint8_t  channel 
)
pure virtual

Factory method to create a Register object.

Parameters
regaddress of the register
channelchannel associated with this register
Returns
a reference to WeikaiRegister

Implemented in esphome::weikai_i2c::WeikaiComponentI2C, and esphome::weikai_spi::WeikaiComponentSPI.

◆ set_crystal()

void esphome::weikai::WeikaiComponent::set_crystal ( uint32_t  crystal)
inline

store crystal frequency

Parameters
crystalfrequency

Definition at line 204 of file weikai.h.

◆ set_name()

void esphome::weikai::WeikaiComponent::set_name ( std::string &&  name)
inline

store the name for the component

Parameters
namethe name as defined by the python code generator

Definition at line 212 of file weikai.h.

◆ set_pin_direction_()

void esphome::weikai::WeikaiComponent::set_pin_direction_ ( uint8_t  pin,
gpio::Flags  flags 
)
protected

Helper method to set the pin mode of a pin.

Definition at line 277 of file weikai.cpp.

◆ set_test_mode()

void esphome::weikai::WeikaiComponent::set_test_mode ( int  test_mode)
inline

store if the component is in test mode

Parameters
test_mode0=normal mode any other values mean component in test mode

Definition at line 208 of file weikai.h.

◆ write_pin_val_()

void esphome::weikai::WeikaiComponent::write_pin_val_ ( uint8_t  pin,
bool  value 
)
protected

Helper method to write the value of a pin.

Definition at line 267 of file weikai.cpp.

Field Documentation

◆ children_

std::vector<WeikaiChannel *> esphome::weikai::WeikaiComponent::children_ {}
protected

the list of WeikaiChannel UART children

Definition at line 264 of file weikai.h.

◆ crystal_

uint32_t esphome::weikai::WeikaiComponent::crystal_
protected

crystal value;

Definition at line 261 of file weikai.h.

◆ input_state_

uint8_t esphome::weikai::WeikaiComponent::input_state_ {0x00}
protected

input pin states: 1 means HIGH, 0 means LOW

Definition at line 260 of file weikai.h.

◆ name_

std::string esphome::weikai::WeikaiComponent::name_
protected

name of entity

Definition at line 265 of file weikai.h.

◆ output_state_

uint8_t esphome::weikai::WeikaiComponent::output_state_ {0x00}
protected

output state: 1 means HIGH, 0 means LOW

Definition at line 259 of file weikai.h.

◆ page1_

bool esphome::weikai::WeikaiComponent::page1_ {false}
protected

set to true when in "page1 mode"

Definition at line 263 of file weikai.h.

◆ pin_config_

uint8_t esphome::weikai::WeikaiComponent::pin_config_ {0x00}
protected

pin config mask: 1 means OUTPUT, 0 means INPUT

Definition at line 258 of file weikai.h.

◆ test_mode_

int esphome::weikai::WeikaiComponent::test_mode_
protected

test mode value (0 -> no tests)

Definition at line 262 of file weikai.h.


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