Skip to content

enable and disable wakeup from wakeup pin interrupt mode. #109

@codev123

Description

@codev123

thank you sir for the amazing work, this is rather a request.
I am currenty working on a project, where my STM32L0 should wake up from timed alarm and wakeup pin interrupt also.
the issue i am facing, i want to disable pin interrupt for some time once the pin interrupt occured, i tried detaching and attaching interrupt, detaching interrupt just disable the ISR code run but controller still wakeup from sleep. i have also disabled wake up but still controller wakeup from pin interrupt.
setup code

// Configure low power
  LowPower.begin();
  LowPower.attachInterruptWakeup(ovfPin, serviceOVFInterrupt, FALLING, DEEP_SLEEP_MODE);

ISR Code

void serviceOVFInterrupt() {
  transmitFlag = false;
  sensorActive = true;
  firstInterruptOccurred = true;
  HAL_PWR_DisableWakeUpPin(ovfPin);
  detachInterrupt(ovfPin);
  //__HAL_GPIO_EXTI_CLEAR_IT(ovfPin);
  disableInterruptStartTime = millis();
  DEBUG_PRINTLN("Service ISR task and detach time :" + String(disableInterruptStartTime));
}

loop code:

if (firstInterruptOccurred && (millis() - disableInterruptStartTime >= 3000)) {
    LowPower.attachInterruptWakeup(ovfPin, serviceOVFInterrupt, FALLING, DEEP_SLEEP_MODE);
    DEBUG_PRINTLN("Service ISR task and attach time :" + String(millis()));
    firstInterruptOccurred = false;
    disableInterruptStartTime = 0;
  }

I think library should give user a function to disable interrupt to disable and enable sleep wake capability.
Please help me understand how can i do it sir.
thank you sir

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions