During the last month we have been testing and improving our code:
Alert flooding - When sending an alert from the firmware to the database, and monitoring the process it seemed as though more than one alert was being sent at a time. After a few hours of monitoring, we found out that the problem didn't have to do with the implementation of the firmware code, but with the a function we have used in our web-app.
A link to a more detailed issue we have opened for this topic - https://github.com/mavishak/cnss-embedded/issues/26
I2C - We spent a day trying to debug the connection between our processor and the camera, with appropriate equipment (oscillator). We were able to pull out the system clock, but were unable to set up I2C communication with the camera module. We believe we could have done it in a few working days, but even if we had succeeded, it is doubtful that we would have been able to connect the system clock properly to the camera, because we saw it coming out of the development circuit in a disrupted manner.
With this in mind plus the fact that we have been tackling this issue for a full month, we have decided to move forward with other issues in the project, rather than take the risk if trying to implement something that was not doable.
A link to a more detailed issue we have opened for this topic - https://github.com/mavishak/cnss-embedded/issues/25
Event Queue - During the last month there have been a number of events that led us to believe we might have a bug in our event queue implementation. Do to this we spent an evening going over the relevant code carefully and tested it as a single entity. We found the at the implementation was working as expected.
A link to the details of the test can be found here - Testing the Event Queue.pdf
User Input
We have received feedbacks from 4 different users. Seeing as the user's interaction and experience consist mostly from the web application we have built, we saw fit that two of the users would focus their feedback only on our website, while the other two gave feedback on the full system.
Currently we are working to improve our project, according to the user input.
Software
Accomplishments
Routing and gaureds - a user can now refresh a page without being 'kicked out of the website'.
History page - when a new alert is received there is now no longer alert flooding, paging is enabled (implemented using Firebase paging).
System control - user can now switch the system on and off.
Contact list - owner can now choose with whom they want to share their history with from their contact list.
In process
[ ] history search
[x] limiting number of connections
[ ] three states to each page - loading (standby), allow (loaded), deny (nothing to load)
[ ] merging profile page and system control
To be done
[x] passeord change
Under consideration
Do to the fact that the number of CRUD requests we send Firebase is relatively high and that in order to implement an emailing service when an alert is received, we need to enter our credit card information we have stalled the process until later notice.
Firmware
Do to the fact that we have spent a lot of time trying to implement the I2C protocol there has been a bit of a stall in this area of the project.
Accomplishments
We have implemented monitoring routine - that checks via a periodical GET request to Firebase whether the system is currently on or off.
Issues
It seems that the current implementation creates a race condition between the control handler, alert handler and the diffrent interrupts.
A link to a more detailed issue we have opened for this topic - https://github.com/mavishak/cnss-embedded/issues/30
Aspiring
[ ] Implement DMA - will allow connecting the circuit to a power supply other than the computer.
Testing and Improving
During the last month we have been testing and improving our code:
Alert flooding - When sending an alert from the firmware to the database, and monitoring the process it seemed as though more than one alert was being sent at a time. After a few hours of monitoring, we found out that the problem didn't have to do with the implementation of the firmware code, but with the a function we have used in our web-app. A link to a more detailed issue we have opened for this topic - https://github.com/mavishak/cnss-embedded/issues/26
I2C - We spent a day trying to debug the connection between our processor and the camera, with appropriate equipment (oscillator). We were able to pull out the system clock, but were unable to set up I2C communication with the camera module. We believe we could have done it in a few working days, but even if we had succeeded, it is doubtful that we would have been able to connect the system clock properly to the camera, because we saw it coming out of the development circuit in a disrupted manner. With this in mind plus the fact that we have been tackling this issue for a full month, we have decided to move forward with other issues in the project, rather than take the risk if trying to implement something that was not doable. A link to a more detailed issue we have opened for this topic - https://github.com/mavishak/cnss-embedded/issues/25
Event Queue - During the last month there have been a number of events that led us to believe we might have a bug in our event queue implementation. Do to this we spent an evening going over the relevant code carefully and tested it as a single entity. We found the at the implementation was working as expected. A link to the details of the test can be found here - Testing the Event Queue.pdf
User Input
We have received feedbacks from 4 different users. Seeing as the user's interaction and experience consist mostly from the web application we have built, we saw fit that two of the users would focus their feedback only on our website, while the other two gave feedback on the full system.
The documented feedback can be found here - version 1 - website only - Tester 1 04/04/2021.pdf version 1 - website only - Tester 2 06/04/2021.pdf version 1 - full system - Tester 3 06/05/2021 .pdf version 1 - full system - Tester 4 07/05/2021 .pdf
Currently we are working to improve our project, according to the user input.
Software
Accomplishments
In process
To be done
Under consideration Do to the fact that the number of CRUD requests we send Firebase is relatively high and that in order to implement an emailing service when an alert is received, we need to enter our credit card information we have stalled the process until later notice.
Firmware
Do to the fact that we have spent a lot of time trying to implement the I2C protocol there has been a bit of a stall in this area of the project.
Accomplishments
Issues It seems that the current implementation creates a race condition between the control handler, alert handler and the diffrent interrupts. A link to a more detailed issue we have opened for this topic - https://github.com/mavishak/cnss-embedded/issues/30
Aspiring