Deep Sleep + KeyScan

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I would like a solution where:

1. P0 can be configured as an output low

2. bleprofile_PrepareHidOff() can still be used to enter deep sleep

I would be fine with fully disabling keyscan and/or quadrature operation.  GPIO interrupt wake up should still work (not necessary on P0, if that helps).

Please do not refer me to a "pull P0 high" solution; that is not what I am looking for.  Thank you.

0 Likes
1 Solution

0x100 for P0 is high-z. You can use it on SDK 1.x.

View solution in original post

0 Likes
4 Replies
BoonT_56
Employee
Employee
500 likes received 250 likes received 100 likes received

you may want to check out the below thread:

How to enter HIDOFF? How to detect if the request is not honored?

0 Likes
Anonymous
Not applicable

Hello Justin,

Please see rtc_sample app that sets up the wake time before going to sleep.

Thanks

JT

0 Likes
Anonymous
Not applicable

rtc_sample is only part of SDK 2.1.1, however it looks as if SDK 1.1.0 performs similar.

The magical line seems to be:

gpio_configurePin(0, 0, 0x100, 0);

The first parameter is the P0 port (0 / 16). 

The second is the P0 pin (0 %16). 

The third is a config mask, but the value (0x0100) isn't defined in the gpiodriver.h enum.  The ninth bit (index 😎 is commented in the enum:

    /// iocfg_p#_adr[8]

    /// GPIO configruation bit 8,

    /// reserved

The fourth parameter is output low value.

Is this correct?  Can you elaborate on the third parameter?  Are there any problems using this with SDK 1.1.0?

Thanks.

JW

0 Likes

0x100 for P0 is high-z. You can use it on SDK 1.x.

0 Likes