Zhixi’s Status Report for 11/30/2024

Personal Accomplishment

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).

  1. Interim project demo (2 hours): My teammates worked together to practice our interim demo to make sure that every demo is covered and challenges are mentioned. We also got together and practiced to make sure that we are able to demo everything within the 10 minutes period, ensuring a smooth workflow on the demo day.
  2. Prepared for the final presentation slides (6 hours): I worked together with my teammates to finalize our final presentation slides.
  3. Pipelining components and subsystems (3 hours): While for the interim demo, all components and subsystems are demoed separately, I started pipeline them together in a single main file combining the radar-audio subsystem and the accelerometer. Since the accelerometer still have issue with python implementation (spidev library incompatible), we still need to use C code for that. Therefore, I used subprocess to pipeline it into all other python code implementations and precompile the C code to make it work. The details still need to be adjusted to make it work according to use-case requirements and to improve the user friendliness.

Schedule

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

This week, I am on schedule. We are almost there for the project and just need to do the final integration testing.

Upcoming Deliverables

What deliverables do you hope to complete in the next week?

  1. Final system integration testing as a whole.

 

As you’ve designed, implemented and debugged your project, what new tools or new knowledge did you find it necessary to learn to be able to accomplish these tasks? What learning strategies did you use to acquire this new knowledge?

To implement and debug the ADXL345 integration with my project, I had to learn how to use Python’s subprocess module to execute precompiled C files within a Python script. This became necessary as the I2C communication was not functional, and the Python spidev library failed to provide reliable SPI communication. I explored how to precompile the C files for SPI communication with the ADXL345, ensuring the logic was correct and efficient, and then pipelined the execution in a single Python file to streamline the workflow. My learning strategy included reading official documentation, experimenting with simple examples to understand subprocess calls, and iteratively debugging by adding print statements to ensure seamless communication between Python and the C implementation.

Leave a Reply

Your email address will not be published. Required fields are marked *