[color=#222222][size=small][font=Arial, Helvetica, sans-serif]Hello all,[/font][/size][/color]
[color=#222222][size=small][font=Arial, Helvetica, sans-serif]I have some issues and I would like to share with you…[/font][/size][/color]
[color=#222222][size=small][font=Arial, Helvetica, sans-serif]My standart ranging code is working well. It works all fine and stable.My problem is about sleeping. [/font][/size][/color]
[code][color=#000000]
uint8_t aon_wcfg[/color][color=#666600][[/color][color=#000000]LEN_AON_WCFG[/color][color=#666600]];[/color][color=#000000]
memset[/color][color=#666600]([/color][color=#000000]aon_wcfg[/color][color=#666600],[/color][color=#000000] [/color][color=#006666]0[/color][color=#666600],[/color][color=#000000] LEN_AON_WCFG[/color][color=#666600]);[/color][color=#000000]
dwSpiRead[/color][color=#666600]([/color][color=#000000]dev[/color][color=#666600],[/color][color=#000000] AON[/color][color=#666600],[/color][color=#000000] AON_WCFG_SUB[/color][color=#666600],[/color][color=#000000] aon_wcfg[/color][color=#666600],[/color][color=#000000]LEN_AON_WCFG[/color][color=#666600]);[/color][color=#000000]
[/color][color=#880000]//memset(aon_wcfg, 0, LEN_AON_WCFG);[/color][color=#000000]
setBit[/color][color=#666600]([/color][color=#000000]aon_wcfg[/color][color=#666600],[/color][color=#000000] LEN_AON_WCFG[/color][color=#666600],[/color][color=#000000] ONW_LDC_BIT[/color][color=#666600],[/color][color=#000000] [/color][color=#000088]true[/color][color=#666600]);[/color][color=#000000]
[/color][color=#880000]//setBit(aon_wcfg, LEN_AON_WCFG, ONW_L64P, true);[/color][color=#000000]
setBit[/color][color=#666600]([/color][color=#000000]aon_wcfg[/color][color=#666600],[/color][color=#000000] LEN_AON_WCFG[/color][color=#666600],[/color][color=#000000] PRES_SLEEP[/color][color=#666600],[/color][color=#000000] [/color][color=#000088]true[/color][color=#666600]);[/color][color=#000000]
setBit[/color][color=#666600]([/color][color=#000000]aon_wcfg[/color][color=#666600],[/color][color=#000000] LEN_AON_WCFG[/color][color=#666600],[/color][color=#000000] ONW_LLDE[/color][color=#666600],[/color][color=#000000] [/color][color=#000088]true[/color][color=#666600]);[/color][color=#000000]
[/color][color=#880000]//setBit(aon_wcfg, LEN_AON_WCFG, ONW_LDD0_BIT, true);[/color][color=#000000]
dwSpiWrite[/color][color=#666600]([/color][color=#000000]dev[/color][color=#666600],[/color][color=#000000] AON[/color][color=#666600],[/color][color=#000000] AON_WCFG_SUB[/color][color=#666600],[/color][color=#000000] aon_wcfg[/color][color=#666600],[/color][color=#000000] LEN_AON_WCFG[/color][color=#666600]);[/color][color=#000000]
[/color][color=#880000]// uint8_t pmsc_ctrl1[LEN_PMSC_CTRL1];[/color][color=#000000]
[/color][color=#880000]// memset(pmsc_ctrl1, 0, LEN_PMSC_CTRL1);[/color][color=#000000]
[/color][color=#880000]// dwSpiRead(dev, PMSC, PMSC_CTRL1_SUB, pmsc_ctrl1, LEN_PMSC_CTRL1);[/color][color=#000000]
[/color][color=#880000]// setBit(pmsc_ctrl1, LEN_PMSC_CTRL1, ATXSLP_BIT, false);[/color][color=#000000]
[/color][color=#880000]// setBit(pmsc_ctrl1, LEN_PMSC_CTRL1, ARXSLP_BIT, false);[/color][color=#000000]
[/color][color=#880000]// dwSpiWrite(dev, PMSC, PMSC_CTRL1_SUB, pmsc_ctrl1, LEN_PMSC_CTRL1);[/color][color=#000000]
uint8_t aon_cfg0[/color][color=#666600][[/color][color=#000000]LEN_AON_CFG0[/color][color=#666600]];[/color][color=#000000]
memset[/color][color=#666600]([/color][color=#000000]aon_cfg0[/color][color=#666600],[/color][color=#000000] [/color][color=#006666]0[/color][color=#666600],[/color][color=#000000] LEN_AON_CFG0[/color][color=#666600]);[/color][color=#000000]
[/color][color=#880000]// dwSpiRead(dev, AON, AON_CFG0_SUB, aon_cfg0, LEN_AON_CFG0);[/color][color=#000000]
setBit[/color][color=#666600]([/color][color=#000000]aon_cfg0[/color][color=#666600],[/color][color=#000000] LEN_AON_CFG0[/color][color=#666600],[/color][color=#000000] WAKE_SPI_BIT[/color][color=#666600],[/color][color=#000000] [/color][color=#000088]true[/color][color=#666600]);[/color][color=#000000]
setBit[/color][color=#666600]([/color][color=#000000]aon_cfg0[/color][color=#666600],[/color][color=#000000] LEN_AON_CFG0[/color][color=#666600],[/color][color=#000000] WAKE_PIN_BIT[/color][color=#666600],[/color][color=#000000] [/color][color=#000088]false[/color][color=#666600]);[/color][color=#000000]
[/color][color=#880000]// setBit(aon_cfg0, LEN_AON_CFG0, WAKE_CNT_BIT, false);[/color][color=#000000]
setBit[/color][color=#666600]([/color][color=#000000]aon_cfg0[/color][color=#666600],[/color][color=#000000] LEN_AON_CFG0[/color][color=#666600],[/color][color=#000000] SLEEP_EN_BIT[/color][color=#666600],[/color][color=#000000] [/color][color=#000088]true[/color][color=#666600]);[/color][color=#000000]
dwSpiWrite[/color][color=#666600]([/color][color=#000000]dev[/color][color=#666600],[/color][color=#000000] AON[/color][color=#666600],[/color][color=#000000] AON_CFG0_SUB[/color][color=#666600],[/color][color=#000000] aon_cfg0[/color][color=#666600],[/color][color=#000000] LEN_AON_CFG0[/color][color=#666600]);[/color][color=#000000]
uint8_t aon_ctrl[/color][color=#666600][[/color][color=#000000]LEN_AON_CTRL[/color][color=#666600]];[/color][color=#000000]
memset[/color][color=#666600]([/color][color=#000000]aon_ctrl[/color][color=#666600],[/color][color=#000000] [/color][color=#006666]0[/color][color=#666600],[/color][color=#000000] LEN_AON_CTRL[/color][color=#666600]);[/color][color=#000000]
dwSpiWrite[/color][color=#666600]([/color][color=#000000]dev[/color][color=#666600],[/color][color=#000000] AON[/color][color=#666600],[/color][color=#000000] AON_CTRL_SUB[/color][color=#666600],[/color][color=#000000] aon_ctrl[/color][color=#666600],[/color][color=#000000] LEN_AON_CTRL[/color][color=#666600]);[/color][color=#000000]
memset[/color][color=#666600]([/color][color=#000000]aon_ctrl[/color][color=#666600],[/color][color=#000000] [/color][color=#006666]0[/color][color=#666600],[/color][color=#000000] LEN_AON_CTRL[/color][color=#666600]);[/color][color=#000000]
[/color][color=#880000]//setBit(aon_ctrl, LEN_AON_CTRL, UPL_CFG_BIT, false);[/color][color=#000000]
setBit[/color][color=#666600]([/color][color=#000000]aon_ctrl[/color][color=#666600],[/color][color=#000000] LEN_AON_CTRL[/color][color=#666600],[/color][color=#000000] SAVE_BIT[/color][color=#666600],[/color][color=#000000] [/color][color=#000088]true[/color][color=#666600]);[/color][color=#000000]
[/color][color=#880000]//setBit(aon_ctrl, LEN_AON_CTRL, RESTORE_BIT, true);[/color][color=#000000]
dwSpiWrite[/color][color=#666600]([/color][color=#000000]dev[/color][color=#666600],[/color][color=#000000] AON[/color][color=#666600],[/color][color=#000000] AON_CTRL_SUB[/color][color=#666600],[/color][color=#000000] aon_ctrl[/color][color=#666600],[/color][color=#000000] LEN_AON_CTRL[/color][color=#666600]);[/color][/code]
[color=#222222][size=small][font=Arial, Helvetica, sans-serif]When I put device into sleep mode power consumtion drops. And I call wakeup with spi chip select ( I tried both setting the cs gpio and sending blank buffer to spi to wake up) I can communicate with device properly.[/font][/size][/color]
[color=#222222][size=small][font=Arial, Helvetica, sans-serif]But if I try to send data tx interrupt never fired. I can’t receive or send data anyway. Only line that i comment is sleep function that I shared above and code works. [/font][/size][/color]
[color=#222222][size=small][font=Arial, Helvetica, sans-serif]I hope i can express my problem clearly.[/font][/size][/color]
[color=#222222][size=small][font=Arial, Helvetica, sans-serif]Thank you , [/font][/size][/color]
[color=#222222][size=small][font=Arial, Helvetica, sans-serif]Have a nice day…[/font][/size][/color]