3 Replies Latest reply on Jun 13, 2018 1:28 AM by rjks

    Decrease power usage / manage central and peripheral connection interval

    amaul_3232301

      Hello PSoC Community,

       

      First off, thank you for any help the community is able to provide.

       

      We're looking to create a basic wireless tilt sensor system. Essentially we have a detector unit and an indicator unit.  The detector unit is composed of a CYBLE-012011-00, on/off tilt sensor, and coin cell battery.  This unit detects a tilt on a GPIO sensor and transmits the position to the indicator.  The indicator unit is composed of a CYBLE-202007, an LED, and a hardwired power supply.  This unit receives tilt information from the detector and turns on an LED corresponding to the tilt position.

       

      We've developed the core of the application, that is to say the units automatically boot, establish communication, and transmit/indicate position.  However we are having trouble decreasing the power usage, in particular on the detector unit.  I’ve based most of our application on the Cypress 100 Projects in 100 Days, specifically project #47. This project automatically connects two modules and passes basic data along while switching one of the modules into low power mode.  We’ve stripped out the ADC portion and are just using a GPIO. The code for this project has the data transmission set at a very high speed, on the order of milliseconds.

       

      I am having trouble however trying to save power and slow down the amount of data sent between the two devices.  The code for our the detector uses the same power scheme as listed in the ‘accelerometer’ code from project #47.  It looks like they have the power savings setup, but I can’t seem to figure out how to save more power.  Based on the code I’ve found, the module should go to sleep and wake from the BLE_bless_isr, which is governed I think by the connection interval.  I’m assuming if I can slow down the connection interval (or similar timing parameter) then I can have the module remain in sleep longer.  I’ve tried requesting connection parameters from the tailgate using the code illustrated in the power savings documentation, however it seems the central/cab is going to ignore this.  In all the examples I've found the central manages this connection interval but requires input from say the Cypress Dongle or the iPhone dictates the position

       

      I was wondering if anyone would be able to provide some direction?  Am I on the right track with the power savings? And if so, how can I slow down the connection interval?  I can’t seem to find specific code or the right search terms to find this.

       

      Thank you for your help,

       

      Alex