Sam Adams’s Status Report for 4/25/20

What did you personally accomplish this week on the project?


This week I begun the week by preparing for our demo. After the demo I have been focusing on gathering UDP metrics in order to be used during the presentation next week. I have also been focused on preparing to present.

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


My progress is a little behind schedule. I was not able to integrate the UDP part of the project in to the GUI before our demo on Wednesday. My goal is to get everything integrated before our presentation

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


Next week I am going to finish and present our final presentation. I also am going to complete the work on the GUI so we can focus on making the final report and the video.

Sam Adams’s Status Report 4/18/20

What did you personally accomplish this week on the project?


My team and I worked on wrapping up the implementation of our simulation for our demo on Wednesday. We first worked by defining an API so we could each work separately and still make progress. I then finished up the UDP simulator.

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


My progress is a little bit behind schedule. Even though I have the simulator finished for the demo on Wednesday I still need to add some meters in order to measure performance of the protocol. We also need to start thinking as a group how our presentation will be organized.

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


Next week we are going to wrap up the coding portion of this assignment for our demo on Wednesday. I also want to get started on the final presentation.

Sam Adams’s Status Report for 4/11/20

What did you personally accomplish this week on the project?


I finished up the code required for the demo of our project on Wednesday. I also worked with my team to discuss how we are going to integrate all of our protocols together along with the GUI.

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


Our progress seems to be on schedule with regard to the demo we gave on Wednesday. We still however have a lot to do in order to make sure that all of our parts of the project fit together in a deliverable form.

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


I hope to finish the integration of my protocol with the GUI. I also want to make myself available to work on other parts of the project if needed.

Sam Adams’s Status Report for 4/4/20

What did you personally accomplish this week on the project?


I worked on writing the code for the wifi simulator for our demo on Wednesday. My group also met a couple of times this week to discuss the APIs that we would be using in between the different protocols. This made it easier for us to integrate our code together after we finish writing our individual parts

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


Our progress seems to be on schedule as of now. We are in a very good place right now with the demo coming up in the next week.

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


I hope to finish up the coding for our demo on Wednesday. I also hope to start working on the integration and the analysis section of our project after the demo.

Mia Han’s Status Report for 3/7/20

What did you personally accomplish this week on the project?


This week my team and I spent a lot of time finishing up the design document. There was some confusion on the overall architecture so as a team we spent a lot of time ironing out the details before we submitted. After that we planned out our goals for the implementation phase going into spring break.  Additionally, we decided who would be implementing what parts of project during spring break.  This week, I began writing some code for the GUI implementation and wrote at least 1/3 of the functions for the communication using the STM32 cube libraries.

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

We are on schedule but we have a lot of work to dot before the first demo. I plan on using spring break to make some initial progress on the implementation phase.  During spring break, I hope to at least implement the GUI and MCU communication and protocols; with this completed, we would be able to use the GUI to begin testing the individual components.

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


During spring break, I hope to complete the GUI and MCU interactions and communications over a few days that I plan on completing course work.  Additionally, I hope that those functions are tested and ready to use for testing the protocols by the time school starts.

Sam Adams’s Status Report for 3/7/20

What did you personally accomplish this week on the project?


This week I worked on finalizing the design decisions for the design doc that we submitted on Monday. After that my team and I finished making the final design decisions, I began to work on implementing the UDP packet protocol. I was able to make good progress by implementing the barebones of the protocol. I also met with my team so we could set some goals for spring break as we all plan to do a little bit of work over the break.

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


We are on schedule. We are done with the design document and we hope to have the initial versions of all of the protocols before our first demo. My goal is to use spring break to get ahead on the implementation phase.

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


I hope to have completed coding the UDP protocol by next week. I want to finish it relatively early so I can help my team with the implementation of the other protocols that we are working on.

Mia Han’s Status Report for 2/22/20

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

I finalized what libraries will be used to implement the communication between the GUI and the STM32.  With the finalization of what the responsibilities of the STM32 and the GUI communication will be, the ideal library used to implement our design became clearer and easier to determine. I determined what specific libraries and functions will be used to measure the latencies and to interface with the STM32 peripheral, UART.  Measuring latencies was something that we were initially unsure about how to implement, but I began to look into what the stm32cube HAL libraries and microPython libraries offered and realized that both offer libraries that can measure and return the number of clock cycles internally.  Furthermore, I wanted to find implementations that contained libraries that would best achieve what we have and mind and would offer the most useful functions to do so.

A good amount of the work this week has been going into our design presentation.  After discussion with my teammates regarding what design we should go with, we finalized the design and I created multiple diagrams that are used in the presentation.

Final GUI Design:

Interactions Between GUI, MCU, and Components:

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


I believe that my progress is behind schedule; I feel confident in the design decisions that I’ve made especially after thoroughly discussing them with my team and hearing their thoughts regarding them.  I would have liked to start writing some code this week to see what it’s like using an STM32 and having it communicate with my computer, but unfortunately, the cable to connect over USB didn’t come with the MCU.  To make up for this delay, I intend on spending more hours next weekend when I’ll have more time to begin writing some of the functions for the transactions between the GUI and STM32.  Additionally, by beginning to write these functions, I will have a better understanding of what implementing these functions are like for the Design Report due next week.
What deliverables do you hope to complete in the next week?

I hope to write at least 3-5 functions that will be implemented and I hope to be 110% confident in my design and implementation choices.  Moreover, I hope that I have determined how exactly I intend to implement each function in our design using which languages and libraries.

 

Team Update for 2/22/2020

What are the most significant risks that could jeopardize the success of the project?

Like our previous post discussed, the biggest risk right now is being able to narrow down the tough to quantify requirements of the project.  For instance, we are having a hard time determining the percentage of packet that should be deemed unrecoverable.  Since all of us don’t have the deepest understanding of error handling and correcting, we are having trouble defining what is considered a recoverable data packet in our protocols.  Additionally, we don’t know what is considered a reasonable amount of latency for our protocols to error detection/correcting and between sending and receiving data packets.
How are these risks being managed? What contingency plans are ready?

Right now, we are prioritizing actually implementing the protocols and focusing on making sure the transactions are accurate and work.  Once those portions are implemented successfully, we will begin refining our protocols and seeing which one can be better optimized.  With better understanding of how error correction/detection methods, the requirements of the project should be more apparent given our better understanding of how much each protocol is capable of.  We will consider what CubeRover would like for the requirements to be, but ultimately, we will use our knowledge and research to narrow down what the requirements will tentatively be by tomorrow night.

Should we not be able to determine what requirements are reasonable for our prototype, we will attempt to minimize latencies and maximize the amount of packets recoverable as best as we could.  We plan to analyze each portion of our protocols to see which could be better optimized regarding time and space usage.

Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)?

We didn’t make any changes to the existing design, but we did consider other designs that the professor and TA brought up.  While considering other designs, it reaffirmed our beliefs and justifications regarding why we are sticking to the original design.  Additionally, we added more details to the GUI’s functionality; we specified what exactly the GUI will be sending and receiving and what the communication between all components will be.

Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?

The change to the GUI was necessary to detail what we are doing and necessary to determine the best way to implements such ideas.  Moreover, these details have also dictated what other components will be doing, thus affecting other implementation choices in our design as well.

No significant costs have been incurred since we are still in the Design Phase of our project.  However, going back and forth between different system designs did hinder the development of the implementation detail development like which API’s and libraries to use.  These costs will be mitigated by making design choices more quickly to prevent a pushback of tasks and by being able to justify and research into decisions more thoroughly.

Provide an updated schedule if changes have occurred.

No changes have occurred; the original Gantt chart is attached.

This is also the place to put some photos of your progress or to brag about a
component you got working.

Sam Adams’s Status Report for 2/22/20

What did you personally accomplish this week on the project?


This week I focused on finalizing the User Datagram Protocol (UDP) that we will be using for communication over Wifi. I was able to settle on a simplified version of the Transmission Control Protocol (TCP). Using some code I had written previously I was able to write a very basic python program to mimic the protocol I decided to design.

Some of these decisions that were made are outlined here.

I also spent a lot of time meeting with my team in order to finalize the APIs. We also spent a lot of time making general design decisions concerning the layout of our system.

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


My progress now seems to be on schedule again. Looking on the Gantt Chart I am right on schedule in terms of the design and I was hoping to get ahead on the implementation of the UDP protocol over WiFi. Even though I haven’t started the final implementation of this protocol on the MCU, I was able to write a preliminary test protocol that will be very useful down the road when implementing this protocol.

Looking forward into next week, a lot of my time will be put into creating the final design doc for the project. I think this will end up putting me a little bit behind schedule so I might have to do some overtime next weekend in order to stay caught up on the implementation stage. I feel that getting a prototype done early will be huge for the parts that I am working on as I’m guessing that optimization will be the most time intensive part.

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


Next week I will be focusing on getting the design document finalized and completed. This will include the consideration of any criticism that we received during the design presentation.

I also want to start playing around with the MCUs that were shipped in this week to see if we can get some basic communication going.

Sam Adams’s Status Report 2/15/2020

What did you personally accomplish this week on the project?


This week I mainly focused on defining the parameters for the UDP protocol. I had already decided to write a TCP implementation over UDP but I used this week to look deeper into the specifics of the protocol. I looked through some libraries that others had written to see they satisfied what I was looking for, but I determined that the best approach would be for me to write my own protocol from scratch to allow for maximum customization and optimization. In order to write this protocol from scratch I spent a lot of time reviewing my code and notes from 18-447 (Introduction to Computer Networks) where I worked on very similar protocols that I will be implementing later. This took up a majority of my time.

The second thing I worked on this week was researching the software structure of the drivers. I was able to find the source code for drivers running on both the Hercules RM36 MCU and the Watchdog MSP430FR5994. This allowed me to start planning how we were going to implement the serial protocols (especially i2c).

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


I hoped I would have been able to define all of the parameters for the TCP over UDP but I wasn’t able to fully do that. In order to catch up I hope to spend some time before our team meets in lab on Monday to fully define the UDP protocol.

I had hoped to start implementation of the i2c drivers this week. Even though that did not happen I believe that we made significant enough progress to get some real work done next week as I was able to define a starting point for the implementation of the serial communication protocols.

Even though I am not as far along as I’d hoped to be, I am a lot more confident going forward. Coming into this week I was very lost on what I should be doing to accomplish our goals but after this week I feel much better about things going forward.

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


Next week I hope to be able to write an initial testing routine along with a basic UDP protocol. I also hope to be able to start creating a simple test for the i2c driver protocol on both the Hercules and the Watchdog. I believe that establishing these workspaces for both the UDP and the i2c protocol will be paramount to our success in the future.