To be considered for this job you must be proficient programming both Cypress PSOC microprocessors using PSOC Creator environment AND have proven skills developing mobile apps for iAndroid and iPhone.
The mobile app is a simple alarm clock application similar to what most people use. The only difference is it will have a company logo and product name as a banner at the top of the screen. Most alarm clock apps make a jarring sound or vibration to awaken the person sleeping, but this app instead sends an "ALARM" signal via Bluetooth to a previously paired device with a Cypress microprocessor onboard. More on this Cypress device further on in Project Outline.
The Cypress microprocessor is the CYBLE-022001-00 EZ-BLE PROC Module. It works seamlessly with the PSOC Creator environment and already has source code and executables for example companion mobile apps that can be used and modified to suit the purposes of this project (if needed). When the EZ-BLE PROC Module receives the "ALARM" command via Bluetooth, it needs to flash 2 LEDs on board at of rate of 1 time per second (with 50% duty cycle). The Module should continue flashing the LEDs until it receives a "DISMISS" command (or when 10 minutes has elapsed).
To conserve energy, the CYBLE-022001-00 EZ-BLE PROC Module should remain in the lowest power state (believed to be "Deep Sleep") at all times while waking up every 10 seconds to do the following:
1) "listen" to the BLE radio for a command to execute.
2) Drive Charge_En LOW if ADC > [url removed, login to view] for 30 minutes. Module has internal RTC that can be used.
3) Broadcast/Advertise VBAT_LVL (battery level) ADC reading (referenced to internal [url removed, login to view]) and Charging Status via BLE. Charging if current ADC > [last reading + 10]
Cypress source code for their mobile app can be found here: [url removed, login to view]
Exact format/coding of the "ALARM" and "DISMISS" commands over BLE connection are open to the developer.
See attached Software Design Description document for more details.