Skip to content

Commit c1c23e2

Browse files
committed
cc3200: Remove superfluous code in pybsleep.
1 parent cd9bc14 commit c1c23e2

2 files changed

Lines changed: 7 additions & 15 deletions

File tree

cc3200/misc/mpcallback.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ uint mpcallback_translate_priority (uint priority) {
113113

114114
void mpcallback_handler (mp_obj_t self_in) {
115115
mpcallback_obj_t *self = self_in;
116-
if (self->handler != mp_const_none) {
116+
if (self && self->handler != mp_const_none) {
117117
// disable interrupts to avoid nesting
118118
uint primsk = disable_irq();
119119
// when executing code within a handler we must lock the GC to prevent

cc3200/mods/pybsleep.c

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ typedef struct {
121121
******************************************************************************/
122122
STATIC const mp_obj_type_t pybsleep_type;
123123
STATIC nvic_reg_store_t *nvic_reg_store;
124-
STATIC pybsleep_wake_cb_t pybsleep_wake_cb;
124+
STATIC pybsleep_wake_cb_t pybsleep_wake_cb = {NULL, NULL, NULL, 0};
125125
volatile arm_cm4_core_regs_t vault_arm_registers;
126126
STATIC pybsleep_reset_cause_t pybsleep_reset_cause = PYB_SLP_PWRON_RESET;
127127

@@ -397,30 +397,22 @@ STATIC void PRCMInterruptHandler (void) {
397397
// reading the interrupt status automatically clears the interrupt
398398
if (PRCM_INT_SLOW_CLK_CTR == MAP_PRCMIntStatus()) {
399399
// this interrupt is triggered during active mode
400-
if (pybsleep_wake_cb.timer_lpds_wake_cb) {
401-
mpcallback_handler(pybsleep_wake_cb.timer_lpds_wake_cb);
402-
}
400+
mpcallback_handler(pybsleep_wake_cb.timer_lpds_wake_cb);
403401
}
404402
else {
405403
// interrupt has been triggered while waking up from LPDS
406404
switch (MAP_PRCMLPDSWakeupCauseGet()) {
407405
case PRCM_LPDS_HOST_IRQ:
408-
if (pybsleep_wake_cb.wlan_lpds_wake_cb) {
409-
mpcallback_handler(pybsleep_wake_cb.wlan_lpds_wake_cb);
410-
}
406+
mpcallback_handler(pybsleep_wake_cb.wlan_lpds_wake_cb);
411407
break;
412408
case PRCM_LPDS_GPIO:
413-
if (pybsleep_wake_cb.gpio_lpds_wake_cb) {
414-
mpcallback_handler(pybsleep_wake_cb.gpio_lpds_wake_cb);
415-
}
409+
mpcallback_handler(pybsleep_wake_cb.gpio_lpds_wake_cb);
416410
break;
417411
case PRCM_LPDS_TIMER:
418-
// disable timer was wake-up source
412+
// disable the timer as a wake-up source
419413
pybsleep_wake_cb.timer_wake_pwrmode &= ~PYB_PWR_MODE_LPDS;
420414
MAP_PRCMLPDSWakeupSourceDisable(PRCM_LPDS_TIMER);
421-
if (pybsleep_wake_cb.timer_lpds_wake_cb) {
422-
mpcallback_handler(pybsleep_wake_cb.timer_lpds_wake_cb);
423-
}
415+
mpcallback_handler(pybsleep_wake_cb.timer_lpds_wake_cb);
424416
break;
425417
default:
426418
break;

0 commit comments

Comments
 (0)