bugfix(timer): recover get raw interrupt status function

This commit is contained in:
chenjianqiang
2019-11-25 14:47:19 +08:00
committed by bot
parent 1dd2443758
commit 856d9f7d89
4 changed files with 41 additions and 1 deletions

View File

@@ -436,7 +436,9 @@ esp_err_t timer_disable_intr(timer_group_t group_num, timer_idx_t timer_num)
/* This function is deprecated */ /* This function is deprecated */
timer_intr_t IRAM_ATTR timer_group_intr_get_in_isr(timer_group_t group_num) timer_intr_t IRAM_ATTR timer_group_intr_get_in_isr(timer_group_t group_num)
{ {
return timer_group_get_intr_status_in_isr(group_num); uint32_t intr_raw_status = 0;
timer_hal_get_intr_raw_status(group_num, &intr_raw_status);
return intr_raw_status;
} }
uint32_t IRAM_ATTR timer_group_get_intr_status_in_isr(timer_group_t group_num) uint32_t IRAM_ATTR timer_group_get_intr_status_in_isr(timer_group_t group_num)

View File

@@ -296,6 +296,20 @@ FORCE_INLINE_ATTR void timer_ll_get_intr_status(timg_dev_t *hw, uint32_t *intr_s
*intr_status = hw->int_st_timers.val; *intr_status = hw->int_st_timers.val;
} }
/**
* @brief Get interrupt raw status.
*
* @param group_num Timer group number, 0 for TIMERG0 or 1 for TIMERG1
* @param intr_raw_status Interrupt raw status
*
* @return None
*/
FORCE_INLINE_ATTR void timer_ll_get_intr_raw_status(timer_group_t group_num, uint32_t *intr_raw_status)
{
timg_dev_t *hw = TIMER_LL_GET_HW(group_num);
*intr_raw_status = hw->int_raw.val;
}
/** /**
* @brief Set the level interrupt status, enable or disable the level interrupt. * @brief Set the level interrupt status, enable or disable the level interrupt.
* *

View File

@@ -296,6 +296,20 @@ FORCE_INLINE_ATTR void timer_ll_get_intr_status(timg_dev_t *hw, uint32_t *intr_s
*intr_status = hw->int_st.val; *intr_status = hw->int_st.val;
} }
/**
* @brief Get interrupt raw status.
*
* @param group_num Timer group number, 0 for TIMERG0 or 1 for TIMERG1
* @param intr_raw_status Interrupt raw status
*
* @return None
*/
FORCE_INLINE_ATTR void timer_ll_get_intr_raw_status(timer_group_t group_num, uint32_t *intr_raw_status)
{
timg_dev_t *hw = TIMER_LL_GET_HW(group_num);
*intr_raw_status = hw->int_raw.val;
}
/** /**
* @brief Set the level interrupt status, enable or disable the level interrupt. * @brief Set the level interrupt status, enable or disable the level interrupt.
* *

View File

@@ -273,6 +273,16 @@ void timer_hal_init(timer_hal_context_t *hal, timer_group_t group_num, timer_idx
*/ */
#define timer_hal_get_intr_status(hal, intr_status) timer_ll_get_intr_status((hal)->dev, intr_status) #define timer_hal_get_intr_status(hal, intr_status) timer_ll_get_intr_status((hal)->dev, intr_status)
/**
* @brief Get interrupt raw status.
*
* @param group_num Timer group number, 0 for TIMERG0 or 1 for TIMERG1
* @param intr_raw_status Interrupt raw status
*
* @return None
*/
#define timer_hal_get_intr_raw_status(group_num, intr_raw_status) timer_ll_get_intr_raw_status(group_num, intr_raw_status)
/** /**
* @brief Get interrupt status register address. * @brief Get interrupt status register address.
* *