What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).
This week I primarily focused on Bluetooth integration for our project. This initially involved familiarising myself with the Adafruit feather bluefruit library that enables the microprocessor to utilise BLE functions. I noticed that firmware code that had been developed utilising the bluefruit library was not equipped to handle large streams of data as it was requiring the feather board to operate in command mode as opposed to data mode. I worked with my team members to address this and develop a communication protocol that would allow large amounts of data sent from the mobile application to be parsed effectively and securely. I also looked into some alternate firmware libraries such as circuit python that would allow us to reduce unnecessary complexities and jargon our firmware code.
On the software side of things, this week I worked on developing the ble module using CoreBluetooth. I set up custom protocols for the manager, peripheral and their respective delegates, as well as a central “Controller” class to control the relationships & communication between these modules.
Unit Tests for Bluetooth Integration:
This week I also started performing unit tests to evaluate the functionality of our bluetooth system. This first involved setting up my iphone in developer mode to enable me to run and test our application outside of the native xcode simulator. I am currently developing our BLE module in a separate project to the rest of the code to allow us to validate everything before it is integrated with the rest of our code. I have created a couple of quick mock views to initiate scanning for nearby peripheral devices, reading/displaying peripheral devices & their services/characteristics, as well as connecting to and disconnecting from nearby peripherals. Thus far using these mock views within the BLE test module, I have been able to successfully recognise and connect to the Adafruit feather & read from its services. I am working with the rest of my team to develop custom services via GATT (Generic ATTribute Profile), to permit me to more effectively filter through all nearby peripherals during scans and to be able to efficiently extract relevant information from the feather such as battery life.
Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?
Whilst I am behind from our initial Gantt Schedule, I have made a large amount of progress and adapted my goals for the remainder of the project to ensure we have sufficient work to present on demo day.
What deliverables do you hope to complete in the next week?
As I have been able to pass tests for BLE recognition & connection, and I have worked with my teammates to realise a communication standard, my next logical step is to work on adapting my existing BLE module to accomodate RX/TX via UART. After this I will work on integrating the BLE module in with my existing code and making some final modifications to the User Interface.