Beside the advertising interval, I'd like to wake up our application on a asynchrone fashion as described in your documentation.
We use the extended sleep mode.
Before putting a sleep, I configure the ports, register the callback function and enable the irq.
Downloading und running the application by J-Link and everything works well.
Programming the same application into our EEPROM by SmartSnippets it behaves different. Everything is working the same, but the callback function got never called. The advertising interval is working fine.
After reading all the documentation about sleeping modes and waking up I can't figure out why it is not working.
Any help welcome.
Best regards
Armin
Device:
Hi aritec,
Have you checked the pins, maybe the button pin is colliding with the eeprom pins, i cant find any other reason why you cant use the wake up callback function when using the eeprom. Have you tried to download the fw in a flash memory for testing?
Thanks MT_dialog
Hi MT_dialog
the pin is not colliding with the eeprom pins and I don't have a flash on the device.
What I'm trying to achieve:
My board has a another CPU connected by UART (P0_4, P0_5) to the DA14580. On every advertising interval the DA14580 (as master) is communicating to the other CPU.
In order to wake up the DA14580 between those intervals I configure the P0_5 as an active low interrupt before we go to sleep and the other CPU is sending an negative puls on this line if necessary.
Running from eeprom the communication is working and the other CPU is sending pulses, but the interrupt of the DA14580 is not called.
Surprisingly everything works fine if I run it from J-Link.
Is the problem caused from the boot loader?
Thanks Armin
Update:
If I load the DA14580 firmware over this UART the behavior is the same as loaded from EEPROM.
Hi aritec,
I dont think that the bootloader causes the issue after the da boots the pins are re-configured in the periph_init function. Can please have a look at the SmartTag reference design and confirm the way set your wake up interrupt. I ve just used a pro kit and downloaded the smart tag to flash, the device woke up as soon as the interrupt was issued.
Thanks MT_dialog
SOLVED
I configured the input pin as INPUT_PULLUP. Under these condition the external hardware was not strong enough to pull this pin to ground. Using this pin just as INPUT solved our problem.
Thanks to all.
Armin
Hi aritec,
Glad you figured it out, and thanks for indicating.
MT_dialog