- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have CY8CKIT-145-40XX with me, I ported CE210290_CapSense_P4_Ganged_Sensor example to CY8CKIT-145-40XX just changed slider GPIO and also enabled Software UART Tx for LOG data to PC using CY8CKIT-145-40XX's UART-USB capabilities. all code is same as it was in example.
If comment out EnterDeepSleepMode(); everything works fine and when uncommented CapSense_IsWidgetActive(CapSense_GANGED_SENSOR_WDGT_ID); never returns active and touch is not working.
I am attaching code for the same.
Same logic for Look for touch and Active mode of scan we need in our product but same problem faced in that code also so I retested with this example code so anyone from cypress can help me with kit and this example code
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi user_284076,
The issue is that the WDT is not configured correctly for the selected device. Therefore the device was never waking up from deep sleep by WDT.
Changes to be made:
void InitializeWdt(uint32 wdtValue)
{
WDT_Interrupt_StartEx(Wdt_Isr);
CySysWdtWriteMatch(CySysWdtReadMatch() + wdtValue);
/* Enable WDT interrupt in SRSS INTR mask register */
CySysWdtUnmaskInterrupt();
}
void Wdt_Isr(void)
{
CySysWdtClearInterrupt();
CySysWdtWriteMatch((uint16)CySysWdtReadMatch() + wdtMatchValue);
}
For more information refer to the device specific system reference guide for more information on how to setup WDT.
I'm adding the modified project file. Please let us know if it works for you.
Regards,
Bragadeesh
Bragadeesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi user_284076,
The issue is that the WDT is not configured correctly for the selected device. Therefore the device was never waking up from deep sleep by WDT.
Changes to be made:
void InitializeWdt(uint32 wdtValue)
{
WDT_Interrupt_StartEx(Wdt_Isr);
CySysWdtWriteMatch(CySysWdtReadMatch() + wdtValue);
/* Enable WDT interrupt in SRSS INTR mask register */
CySysWdtUnmaskInterrupt();
}
void Wdt_Isr(void)
{
CySysWdtClearInterrupt();
CySysWdtWriteMatch((uint16)CySysWdtReadMatch() + wdtMatchValue);
}
For more information refer to the device specific system reference guide for more information on how to setup WDT.
I'm adding the modified project file. Please let us know if it works for you.
Regards,
Bragadeesh
Bragadeesh