HPM SDK
HPMicro Software Development Kit
BUTN driver APIs

BUTN driver APIs. More...

Macros

#define BUTN_EVENT_POWER_PRESSED   (BUTN_BTN_STATUS_PBTN_SET(1))
 
#define BUTN_EVENT_POWER_PRESSED_HOLD_0_5_S   (BUTN_BTN_STATUS_PBTN_SET(2))
 
#define BUTN_EVENT_POWER_PRESSED_HOLD_8_S   (BUTN_BTN_STATUS_PBTN_SET(4))
 
#define BUTN_EVENT_POWER_PRESSED_HOLD_16_S   (BUTN_BTN_STATUS_PBTN_SET(8))
 
#define BUTN_EVENT_WAKE_PRESSED   (BUTN_BTN_STATUS_WBTN_SET(1))
 
#define BUTN_EVENT_WAKE_PRESSED_HOLD_0_5_S   (BUTN_BTN_STATUS_WBTN_SET(2))
 
#define BUTN_EVENT_WAKE_PRESSED_HOLD_8_S   (BUTN_BTN_STATUS_WBTN_SET(4))
 
#define BUTN_EVENT_WAKE_PRESSED_HOLD_16_S   (BUTN_BTN_STATUS_WBTN_SET(8))
 
#define BUTN_EVENT_WAKE_POWER_PRESSED   (BUTN_BTN_STATUS_DBTN_SET(1))
 
#define BUTN_EVENT_WAKE_POWER_PRESSED_HOLD_0_5_S   (BUTN_BTN_STATUS_DBTN_SET(2))
 
#define BUTN_EVENT_WAKE_POWER_PRESSED_HOLD_8_S   (BUTN_BTN_STATUS_DBTN_SET(4))
 
#define BUTN_EVENT_WAKE_POWER_PRESSED_HOLD_16_S   (BUTN_BTN_STATUS_DBTN_SET(8))
 
#define BUTN_EVENT_POWER_CLICKED   (BUTN_BTN_STATUS_PCLICK_SET(1))
 
#define BUTN_EVENT_POWER_CLICKED_X2   (BUTN_BTN_STATUS_PCLICK_SET(2))
 
#define BUTN_EVENT_POWER_CLICKED_X3   (BUTN_BTN_STATUS_PCLICK_SET(4))
 
#define BUTN_EVENT_POWER_CLICKED_WAKE_HELD   (BUTN_BTN_STATUS_XPCLICK_SET(1))
 
#define BUTN_EVENT_POWER_CLICKED_X2_WAKE_HELD   (BUTN_BTN_STATUS_XPCLICK_SET(2))
 
#define BUTN_EVENT_POWER_CLICKED_X3_WAKE_HELD   (BUTN_BTN_STATUS_XPCLICK_SET(4))
 
#define BUTN_EVENT_WAKE_CLICKED   (BUTN_BTN_STATUS_WCLICK_SET(1))
 
#define BUTN_EVENT_WAKE_CLICKED_X2   (BUTN_BTN_STATUS_WCLICK_SET(2))
 
#define BUTN_EVENT_WAKE_CLICKED_X3   (BUTN_BTN_STATUS_WCLICK_SET(4))
 
#define BUTN_EVENT_WAKE_CLICKED_POWER_HELD   (BUTN_BTN_STATUS_XWCLICK_SET(1))
 
#define BUTN_EVENT_WAKE_CLICKED_X2_POWER_HELD   (BUTN_BTN_STATUS_XWCLICK_SET(2))
 
#define BUTN_EVENT_WAKE_CLICKED_X3_POWER_HELD   (BUTN_BTN_STATUS_XWCLICK_SET(4))
 

Functions

static uint32_t butn_get_status (BUTN_Type *ptr)
 Get status. More...
 
static void butn_enable_irq (BUTN_Type *ptr, uint32_t mask)
 Enable interrupt with mask. More...
 
static void butn_disable_irq (BUTN_Type *ptr, uint32_t mask)
 Disable interrupt with mask. More...
 
static void butn_set_intense (BUTN_Type *ptr, uint8_t intense)
 Set intense of PLED and RLED/WLED. More...
 

Detailed Description

BUTN driver APIs.

Macro Definition Documentation

◆ BUTN_EVENT_POWER_CLICKED

#define BUTN_EVENT_POWER_CLICKED   (BUTN_BTN_STATUS_PCLICK_SET(1))

◆ BUTN_EVENT_POWER_CLICKED_WAKE_HELD

#define BUTN_EVENT_POWER_CLICKED_WAKE_HELD   (BUTN_BTN_STATUS_XPCLICK_SET(1))

◆ BUTN_EVENT_POWER_CLICKED_X2

#define BUTN_EVENT_POWER_CLICKED_X2   (BUTN_BTN_STATUS_PCLICK_SET(2))

◆ BUTN_EVENT_POWER_CLICKED_X2_WAKE_HELD

#define BUTN_EVENT_POWER_CLICKED_X2_WAKE_HELD   (BUTN_BTN_STATUS_XPCLICK_SET(2))

◆ BUTN_EVENT_POWER_CLICKED_X3

#define BUTN_EVENT_POWER_CLICKED_X3   (BUTN_BTN_STATUS_PCLICK_SET(4))

◆ BUTN_EVENT_POWER_CLICKED_X3_WAKE_HELD

#define BUTN_EVENT_POWER_CLICKED_X3_WAKE_HELD   (BUTN_BTN_STATUS_XPCLICK_SET(4))

◆ BUTN_EVENT_POWER_PRESSED

#define BUTN_EVENT_POWER_PRESSED   (BUTN_BTN_STATUS_PBTN_SET(1))

◆ BUTN_EVENT_POWER_PRESSED_HOLD_0_5_S

#define BUTN_EVENT_POWER_PRESSED_HOLD_0_5_S   (BUTN_BTN_STATUS_PBTN_SET(2))

◆ BUTN_EVENT_POWER_PRESSED_HOLD_16_S

#define BUTN_EVENT_POWER_PRESSED_HOLD_16_S   (BUTN_BTN_STATUS_PBTN_SET(8))

◆ BUTN_EVENT_POWER_PRESSED_HOLD_8_S

#define BUTN_EVENT_POWER_PRESSED_HOLD_8_S   (BUTN_BTN_STATUS_PBTN_SET(4))

◆ BUTN_EVENT_WAKE_CLICKED

#define BUTN_EVENT_WAKE_CLICKED   (BUTN_BTN_STATUS_WCLICK_SET(1))

◆ BUTN_EVENT_WAKE_CLICKED_POWER_HELD

#define BUTN_EVENT_WAKE_CLICKED_POWER_HELD   (BUTN_BTN_STATUS_XWCLICK_SET(1))

◆ BUTN_EVENT_WAKE_CLICKED_X2

#define BUTN_EVENT_WAKE_CLICKED_X2   (BUTN_BTN_STATUS_WCLICK_SET(2))

◆ BUTN_EVENT_WAKE_CLICKED_X2_POWER_HELD

#define BUTN_EVENT_WAKE_CLICKED_X2_POWER_HELD   (BUTN_BTN_STATUS_XWCLICK_SET(2))

◆ BUTN_EVENT_WAKE_CLICKED_X3

#define BUTN_EVENT_WAKE_CLICKED_X3   (BUTN_BTN_STATUS_WCLICK_SET(4))

◆ BUTN_EVENT_WAKE_CLICKED_X3_POWER_HELD

#define BUTN_EVENT_WAKE_CLICKED_X3_POWER_HELD   (BUTN_BTN_STATUS_XWCLICK_SET(4))

◆ BUTN_EVENT_WAKE_POWER_PRESSED

#define BUTN_EVENT_WAKE_POWER_PRESSED   (BUTN_BTN_STATUS_DBTN_SET(1))

◆ BUTN_EVENT_WAKE_POWER_PRESSED_HOLD_0_5_S

#define BUTN_EVENT_WAKE_POWER_PRESSED_HOLD_0_5_S   (BUTN_BTN_STATUS_DBTN_SET(2))

◆ BUTN_EVENT_WAKE_POWER_PRESSED_HOLD_16_S

#define BUTN_EVENT_WAKE_POWER_PRESSED_HOLD_16_S   (BUTN_BTN_STATUS_DBTN_SET(8))

◆ BUTN_EVENT_WAKE_POWER_PRESSED_HOLD_8_S

#define BUTN_EVENT_WAKE_POWER_PRESSED_HOLD_8_S   (BUTN_BTN_STATUS_DBTN_SET(4))

◆ BUTN_EVENT_WAKE_PRESSED

#define BUTN_EVENT_WAKE_PRESSED   (BUTN_BTN_STATUS_WBTN_SET(1))

◆ BUTN_EVENT_WAKE_PRESSED_HOLD_0_5_S

#define BUTN_EVENT_WAKE_PRESSED_HOLD_0_5_S   (BUTN_BTN_STATUS_WBTN_SET(2))

◆ BUTN_EVENT_WAKE_PRESSED_HOLD_16_S

#define BUTN_EVENT_WAKE_PRESSED_HOLD_16_S   (BUTN_BTN_STATUS_WBTN_SET(8))

◆ BUTN_EVENT_WAKE_PRESSED_HOLD_8_S

#define BUTN_EVENT_WAKE_PRESSED_HOLD_8_S   (BUTN_BTN_STATUS_WBTN_SET(4))

Function Documentation

◆ butn_disable_irq()

static void butn_disable_irq ( BUTN_Type ptr,
uint32_t  mask 
)
inlinestatic

#include <drivers/inc/hpm_butn_drv.h>

Disable interrupt with mask.

Parameters
[in]ptrBUTN base address
[in]maskMask of interrupts to be disabled, please refer to BUTN_EVENT_* macros

◆ butn_enable_irq()

static void butn_enable_irq ( BUTN_Type ptr,
uint32_t  mask 
)
inlinestatic

#include <drivers/inc/hpm_butn_drv.h>

Enable interrupt with mask.

Parameters
[in]ptrBUTN base address
[in]maskMask of interrupts to be enabled, please refer to BUTN_EVENT_* macros

◆ butn_get_status()

static uint32_t butn_get_status ( BUTN_Type ptr)
inlinestatic

#include <drivers/inc/hpm_butn_drv.h>

Get status.

Parameters
[in]ptrBUTN base address
Return values
statusmask in 32 bits, please refer to BUTN_EVENT_* macros

◆ butn_set_intense()

static void butn_set_intense ( BUTN_Type ptr,
uint8_t  intense 
)
inlinestatic

#include <drivers/inc/hpm_butn_drv.h>

Set intense of PLED and RLED/WLED.

Parameters
[in]ptrBUTN base address
[in]intenseIntense value (0~15)