Please see the updated Gantt chart at the bottom of this post. Most notable changes are pushing back the network integration back a couple weeks due to Eric falling behind in implementing the network protocol. Developing the static menu screens is also shifted a bit since developing the initial start screen took longer than expected due to artifacting in imported images.
I wrote a short python script to strip the RGB values out of an image and write the values into a .mif file. This mif is then imported into a single-ported ROM on the FPGA with a small hardware module to address the ROM as needed to drive the VGA color pins.
This worked very well. Here is the image from the internet. It is slightly cropped to save memory space on the FPGA, but otherwise untouched.
And here is the result generated (the screen is glass so there’s some reflection).
This was relatively straightforward, but a small error in using the strip() method for python strings caused me a significant amount of grief by introducing artifacts into the image. Here is an example of the artifacts I was seeing.
Not unforgivably bad, but I’m definitely glad I found the error. Essentially the bug was something like, when you call strip(‘0x’) on a string that is of the form “0x10”, it strips it down to “1” instead of just removing the “0x” and producing “10”. So it was working as expected for most of the values, but since I was padding the values as well to make them uniform bit-width for the .mif, I didn’t notice that it was misbehaving on some small values.
Next week I intend to finish designing the other menu screens. Having wrapped up the static parts of the start screen during the week, the interactive portions of the start screen will be finished this weekend, then the other menu screens will be finished over the next week. With the rescheduling, I am “on schedule”, eating into some slack at the end of the semester that we had provisioned before. Again, note that networking is pushed back due to delays on Eric’s side with the networking hardware, this will be underway as soon as possible.