Skip to content

Commit d3e940d

Browse files
Fixup ticker api due to cyhal_timer_t changes.
1 parent 6c764eb commit d3e940d

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

targets/TARGET_Cypress/TARGET_PSOC6/cy_us_ticker_api.c

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ static bool cy_us_ticker_initialized = false;
3434
static cy_en_syspm_status_t cy_us_ticker_pm_callback(cy_stc_syspm_callback_params_t *params, cy_en_syspm_callback_mode_t mode)
3535
{
3636
if (mode == CY_SYSPM_AFTER_TRANSITION) {
37-
Cy_TCPWM_Counter_Enable(cy_us_timer.base, cy_us_timer.resource.channel_num);
38-
Cy_TCPWM_TriggerStart(cy_us_timer.base, 1u << cy_us_timer.resource.channel_num);
37+
Cy_TCPWM_Counter_Enable(cy_us_timer.tcpwm.base, cy_us_timer.tcpwm.resource.channel_num);
38+
Cy_TCPWM_TriggerStart(cy_us_timer.tcpwm.base, 1u << cy_us_timer.tcpwm.resource.channel_num);
3939
}
4040
return CY_SYSPM_SUCCESS;
4141
}
@@ -89,8 +89,8 @@ void us_ticker_init(void)
8989
MBED_ASSERT(cy_PeriClkFreqHz >= 1000000);
9090
uint32_t div_value = cy_PeriClkFreqHz / 1000000;
9191
cy_us_ticker_info.frequency = cy_PeriClkFreqHz / div_value;
92-
cy_us_ticker_info.bits = CYHAL_TCPWM_DATA[cy_us_timer.resource.block_num].max_count;
93-
Cy_SysClk_PeriphSetDivider(cy_us_timer.clock.div_type, cy_us_timer.clock.div_num, div_value - 1u);
92+
cy_us_ticker_info.bits = CYHAL_TCPWM_DATA[cy_us_timer.tcpwm.resource.block_num].max_count;
93+
Cy_SysClk_PeriphSetDivider(cy_us_timer.tcpwm.clock.div_type, cy_us_timer.tcpwm.clock.div_num, div_value - 1u);
9494
const cyhal_timer_cfg_t cfg = {
9595
.is_continuous = true,
9696
.direction = CYHAL_TIMER_DIR_UP,
@@ -102,7 +102,7 @@ void us_ticker_init(void)
102102
if (CY_RSLT_SUCCESS != cyhal_timer_configure(&cy_us_timer, &cfg)) {
103103
MBED_ERROR(MBED_MAKE_ERROR(MBED_MODULE_DRIVER, MBED_ERROR_CODE_FAILED_OPERATION), "cyhal_timer_set_cfg");
104104
}
105-
Cy_TCPWM_ClearInterrupt(cy_us_timer.base, cy_us_timer.resource.channel_num, CY_TCPWM_INT_ON_CC_OR_TC);
105+
Cy_TCPWM_ClearInterrupt(cy_us_timer.tcpwm.base, cy_us_timer.tcpwm.resource.channel_num, CY_TCPWM_INT_ON_CC_OR_TC);
106106
cyhal_timer_register_callback(&cy_us_timer, &cy_us_ticker_irq_handler, NULL);
107107
if (CY_RSLT_SUCCESS != cyhal_timer_start(&cy_us_timer)) {
108108
MBED_ERROR(MBED_MAKE_ERROR(MBED_MODULE_DRIVER, MBED_ERROR_CODE_FAILED_OPERATION), "cyhal_timer_start");
@@ -131,15 +131,15 @@ void us_ticker_free(void)
131131
uint32_t us_ticker_read(void)
132132
{
133133
MBED_ASSERT(cy_us_ticker_initialized);
134-
return Cy_TCPWM_Counter_GetCounter(cy_us_timer.base, cy_us_timer.resource.channel_num);
134+
return Cy_TCPWM_Counter_GetCounter(cy_us_timer.tcpwm.base, cy_us_timer.tcpwm.resource.channel_num);
135135
}
136136

137137
void us_ticker_set_interrupt(timestamp_t timestamp)
138138
{
139139
MBED_ASSERT(cy_us_ticker_initialized);
140-
Cy_TCPWM_Counter_SetCompare0(cy_us_timer.base, cy_us_timer.resource.channel_num, timestamp);
141-
if (CY_TCPWM_INT_NONE == Cy_TCPWM_GetInterruptMask(cy_us_timer.base, cy_us_timer.resource.channel_num)) {
142-
Cy_TCPWM_ClearInterrupt(cy_us_timer.base, cy_us_timer.resource.channel_num, CY_TCPWM_INT_ON_CC_OR_TC);
140+
Cy_TCPWM_Counter_SetCompare0(cy_us_timer.tcpwm.base, cy_us_timer.tcpwm.resource.channel_num, timestamp);
141+
if (CY_TCPWM_INT_NONE == Cy_TCPWM_GetInterruptMask(cy_us_timer.tcpwm.base, cy_us_timer.tcpwm.resource.channel_num)) {
142+
Cy_TCPWM_ClearInterrupt(cy_us_timer.tcpwm.base, cy_us_timer.tcpwm.resource.channel_num, CY_TCPWM_INT_ON_CC_OR_TC);
143143
cyhal_timer_enable_event(&cy_us_timer, CYHAL_TIMER_IRQ_CAPTURE_COMPARE, CY_US_TICKER_IRQ_PRIORITY, true);
144144
}
145145
}
@@ -159,9 +159,9 @@ void us_ticker_fire_interrupt(void)
159159
{
160160
MBED_ASSERT(cy_us_ticker_initialized);
161161
// TODO: no HAL function for this. Needs to work even when masked
162-
IRQn_Type irq = cy_us_timer.resource.block_num == 0
162+
IRQn_Type irq = cy_us_timer.tcpwm.resource.block_num == 0
163163
? tcpwm_0_interrupts_0_IRQn : tcpwm_1_interrupts_0_IRQn;
164-
irq = (IRQn_Type)(irq + cy_us_timer.resource.channel_num);
164+
irq = (IRQn_Type)(irq + cy_us_timer.tcpwm.resource.channel_num);
165165
NVIC_SetPendingIRQ(irq);
166166
}
167167

0 commit comments

Comments
 (0)