What are the most significant risks that could jeopardize the success of the project?
Most of the problems that we were at risk for last week were successfully solved.
Our new risks come with the learning curve of using our new components that we ordered because there hasn’t been a way to really interact with them if we did not physically have them.
Besides that, we believe that we should be okay. We still need to figure out which addresses to write to and how exactly we will set up the components to interact with each in terms of where they will write data to, read data from, etc.
How are these risks being managed? What contingency plans are ready?
The risks are being managed by having this built into the slack. All pieces of code should be ready to go by the next time we meet with our components, so we can just now focus on the integration aspect of the project.
A contingency plan that would help is to get at least one protocol system working for our protocol wrapping. Then we can slowly start to add more and more tests and then eventually develop the entire system running at once. We believe that we can at least do one system in the next week if we have our components, so that is our goal for this week.
Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)?
There was a change to the system that was a compromise between the decentralized and centralized models. We are also slightly changing the way that we pass data during what we call “debug” mode which sends the corrected data after an ACK. This changes the block diagram.
We also set hard requirements based off of the components that we are using to set our constraints.
Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?
This change for the architecture was necessary in order to follow our three phase plan for proof of correctness. Without this change we wouldn’t be able to remove the microcontroller and still show that our system works, but we also needed it so that we can reduce the weight we would put on the laptop that we’re using by keeping the fuzzing of data on the microcontroller still. Packet generation has now been delegated to each individual component due to the more realistic setting instead of placing it onto the fuzzing microcontroller. The costs that incurred was we took a lot of time during the design document phase to iron out our approach that we could’ve been used developing. Now we have to take time out of Spring break to catch up on our lost time.
Requirements had to be set in order to have a goal for our project. We need to work within the constraints because it limits what we can do and how we can approach the problem. Before we made this change, most of it was that we could basically try any approach and any solution was valid. Now that we have defined memory and timing constraints, we can work to improve the code that we already have.
Provide an updated schedule if changes have occurred.
The Gantt Chart has not changed for this week.
Gantt Chart
This is also the place to put some photos of your progress or to brag about a
component you got working.