1 Reply Latest reply on Oct 30, 2019 5:20 AM by GaneshD_41

    Keyboard data in Advertising packet for LowPower

    GiSe_3918726

      We are currently designing a BLE 4.2 Low Power application using CYBLE212020-01 powered by 3V battery. My software sets the WDT to wake-up the application from Deep Sleep every 200ms to read some capacitive buttons and goes back to Deep Sleep if the button is not pressed. The BLE module, to reach very low power consumption, is configured as Peripheral with connection parameters (set by Central device that we are also developing) set as following:

       

      Min Connection Interval: 4000ms

      Max Connection Interval: 4000ms

      Connection Timeout: 30sec

       

      This provides a very low power consumption undoubtedly.

       

      Once a touch button is pressed, the Core wakes up and sets the notification request to be sent to the Central containing the touch buttons information, unfortunately this notification is sent when the Radio wakes up for connection, that is every 4sec. This is of course not acceptable because of the late reaction of the user key.

      To solve this issue, we have suppose to send an Advertising Data Packet containing touch button data once the core wakes up due to a key pressed and setting the Advertising interval as fast as possible. Once the Advertising Packet (CyBle_GappSetNumOfAdvPkts().) has been sent, the Core can go back to sleep again.

       

      So, we have two questions:

       

      Q1: Is it the correct way to reach our goal? If yes, how we do it? Otherwise, what is the correct solution (and its implementation)?

       

      Q2: What we have to do on the Central device?

       

      Thanks in advance

       

      Gianluca