This is a simple embedded C++ project on Texas Instruments CC2652 (or similar cpu)
For anyone who has ever written C++ code for any TI CPU using Code Composer Studio this project is just a piece of cake.
The CC2652 will read its pins and send theis data to an Android phone over BLE.
A software developer in Turkey will be cooperating with you all the time.
His responsibility will be to develop the Android components that your code is going to exchange data with.
You will be talking to him during your software development.
Our demo system consists of two cards from TI:
LAUNCHXL-CC26X2R1 ([login to view URL])
BOOSTXL-ULPSENSE ([login to view URL]) (this is a dautherboard with sensors that just snaps onto the LAUNCHXL-CC26XX2R1)
What we want to do on the LAUNCHXL-CC26X2R1 board is straightforward:
1. Establishing bi-directional BLE data interface with an Android based cellular phone.
2. Controlling two LEDs (Green & Red).
3. Controlling program flow via two Buttons (A & B)(mechanical buttons will be used not capacitive).
4. Reading the MAC address of CC2652.
5. Reading Battery Monitor values.
6. Reading Temperature Monitor values.
7. Reading Real Time Clock values.
8. Reading data on 4 Digital I/O pins (configured as Inputs) (pins:DIO_0, DIO_1, DIO_15; DIO_21)
9. Reading data on 4 ANALOG (A/D converted) values (pins:DIO_26, DIO_27, DIO_29, DIO_30)
10. Sending this data at predefined intervals (this POLL_INTERVAL is a variable that will be sent from the Android device) to the Android device.
Cheer up :) since %90 of these are already implemented by TI as a sample code:
BLE Project Zero ([login to view URL])
What we want to do on the BOOSTXL-ULPSENSE board is straightforward:
1. Reading data from the Accelerometer (3 axes).
2. Sending this data at predefined intervals (this POLL_INTERVAL is a variable that will be sent from the Android device) to the Android device.
Cheer up :) since %90 of these are already implemented by TI as a sample code within Sensor Controller Studio.
1. CC2652 is in UltraLowPowerMode.
2. IF Button_A is pressed THEN wake up to ActivePowerMode.
3. Stay in ActivePowerMode UNTIL Button A is pressed again (when Button A is pressed again, save state and turn OFF Green_LED and return to UltraLowPowerMode).
4. Turn ON Green_LED (it will be ON during the whole ActivePowerMode operation period).
5. Perform BLE handshake with Android device (this handshake had already been implemented by us, its code will be sent to you which is based on BLE Project Zero code)
6. Get the value of POLL_INTERVAL from the Android device.
7. IF Button_B is pressed THEN turn ON Red_LED
AND set loop_counter to 1
AND read the 4 ANALOG (A/D Input) pins
AND read the 4 Digital Input pins
AND read the 3 values from the Accelerometer (3 axes)(this step requires more code than just reading a pin)
AND send all of this data to the Android device at each POLL_INTERVAL period of time
AND increase loop_counter by 1 (IF loop_counter is 10 THEN turn OFF Red_LED AND goto next step).
9. Goto step 5.