LCM — CH32V003 Light Control Module
Light Control Module, I2C slave
Loading...
Searching...
No Matches
lcm_module.c File Reference
#include "lcm_module.h"
#include "lcm_relay.h"
#include "lcm_i2c.h"
#include "lcm_led.h"
#include "user_data.h"
#include "event_log.h"
#include "ch32v00x_conf.h"

Go to the source code of this file.

Functions

static void LCM_SetSuccess (void)
 
static void LCM_SetError (uint8_t err)
 
void LCM_Module_SetError (uint8_t err)
 
static uint8_t LCM_UserDataErrorCode (UserData_Status st)
 
static void LCM_SetUserDataError (UserData_Status st)
 
static void LCM_SetUserDataCommitError (UserData_Status st)
 
static void LCM_ApplyFactoryDefaults (void)
 
static uint8_t LCM_UpdateRelayGpio (void)
 
static uint8_t LCM_NvmWriteConfig (void)
 
static void LCM_LoadConfig (void)
 
static void LCM_ApplyGroupOn (uint8_t group_sel)
 
static void LCM_ApplyGroupOff (uint8_t group_sel)
 
void LCM_Module_ExecuteSingleByte (uint8_t cmd)
 
void LCM_Module_ExecuteTwoByte (uint8_t cmd, uint8_t param)
 
void LCM_Module_ReportUserDataStatus (UserData_Status st)
 
uint8_t LCM_Module_GetI2cAddr (void)
 
uint8_t LCM_Module_GetRelayState (void)
 
const uint8_t * LCM_Module_GetGroupMasks (void)
 
void LCM_Module_Init (void)
 
void LCM_Module_Poll (void)
 

Variables

static uint8_t s_i2c_addr
 
static uint8_t s_relay_state
 
static uint8_t s_group_mask [LCM_GROUP_COUNT]
 
static volatile uint8_t s_error_code
 
static volatile uint8_t s_nvm_dirty
 
static volatile uint8_t s_reset_requested
 
static volatile uint8_t s_factory_reset
 

Function Documentation

◆ LCM_ApplyFactoryDefaults()

static void LCM_ApplyFactoryDefaults ( void )
static

Definition at line 123 of file lcm_module.c.

References LCM_GROUP_COUNT, LCM_I2C_ADDR_FACTORY, s_group_mask, and s_i2c_addr.

Referenced by LCM_LoadConfig().

◆ LCM_ApplyGroupOff()

static void LCM_ApplyGroupOff ( uint8_t group_sel)
static

◆ LCM_ApplyGroupOn()

static void LCM_ApplyGroupOn ( uint8_t group_sel)
static

◆ LCM_LoadConfig()

◆ LCM_Module_ExecuteSingleByte()

◆ LCM_Module_ExecuteTwoByte()

◆ LCM_Module_GetGroupMasks()

const uint8_t * LCM_Module_GetGroupMasks ( void )

Definition at line 469 of file lcm_module.c.

References s_group_mask.

Referenced by main().

◆ LCM_Module_GetI2cAddr()

uint8_t LCM_Module_GetI2cAddr ( void )

Definition at line 459 of file lcm_module.c.

References s_i2c_addr.

Referenced by main().

◆ LCM_Module_GetRelayState()

uint8_t LCM_Module_GetRelayState ( void )

Definition at line 464 of file lcm_module.c.

References s_relay_state.

Referenced by main().

◆ LCM_Module_Init()

◆ LCM_Module_Poll()

◆ LCM_Module_ReportUserDataStatus()

void LCM_Module_ReportUserDataStatus ( UserData_Status st)

Definition at line 452 of file lcm_module.c.

References LCM_SetUserDataError(), and USER_DATA_OK.

Referenced by main().

◆ LCM_Module_SetError()

void LCM_Module_SetError ( uint8_t err)

Definition at line 64 of file lcm_module.c.

References LCM_SetError().

◆ LCM_NvmWriteConfig()

◆ LCM_SetError()

◆ LCM_SetSuccess()

static void LCM_SetSuccess ( void )
static

◆ LCM_SetUserDataCommitError()

static void LCM_SetUserDataCommitError ( UserData_Status st)
static

◆ LCM_SetUserDataError()

static void LCM_SetUserDataError ( UserData_Status st)
static

◆ LCM_UpdateRelayGpio()

static uint8_t LCM_UpdateRelayGpio ( void )
static

◆ LCM_UserDataErrorCode()

Variable Documentation

◆ s_error_code

volatile uint8_t s_error_code
static

◆ s_factory_reset

volatile uint8_t s_factory_reset
static

Definition at line 35 of file lcm_module.c.

Referenced by LCM_Module_ExecuteSingleByte(), LCM_Module_Init(), and LCM_Module_Poll().

◆ s_group_mask

◆ s_i2c_addr

◆ s_nvm_dirty

volatile uint8_t s_nvm_dirty
static

Definition at line 33 of file lcm_module.c.

Referenced by LCM_Module_Init(), LCM_Module_Poll(), and LCM_NvmWriteConfig().

◆ s_relay_state

◆ s_reset_requested

volatile uint8_t s_reset_requested
static