Phillip’s ECE477 Web
Journal
May 3, 2004: I met with Jegede and
Bill to work on the final report. I touched up my homeworks and added them
into the final paper. I wrote the Version 2 Changes and individual contributions
sections. I also fixed up all of the software code, and added the proper
comments.
(Duration: 6 hours)
April 29, 2004: We fixed up the final
lecture slides. I worked on getting the picture box ready for a live demonstration.
I made a crossover cable so that we could connect the box directly to Jeff's
laptop. He decided later that he didn't want to do that, so I brought in
my router. I installed the client on Bills laptop, and had the whole thing
ready for a live demonstration. However, during the presentation we didn't
have time to show it off anyhow.
(Duration: 3 hours)
April 28, 2004: I figured that we should
try and perform a live demonstration of our project for the bonus presentation.
I tried to optimize the picture transfer by eliminating some useless information
that was sent over the network in our previous verison. I had problems
getting the Epson to work, so I called Bill. We figured out that once again
the clock was acting up. I fixed the PC client and Rabbit software to successfully
send a picture in 5 minutes 30 seconds instead of about 11 minutes before.
I tried to also send the pixel data in large chunks of data to further
optimize transimission, but apparently the TCP/IP Unix stack already does
this because no further performance was gained.
(Duration: 4 hours 15 minutes)
April 27, 2004: I recorded the final
version of our outcome video. We went to Jeff's place to digitize the video,
and we practiced our speech once there. I went home and practiced my individual
part alone. I had to cut out several slides due to time constraints.
(Duration: 2 hours)
April 26, 2004: I met with the group
and figured out what was to be done for the final presentation. I created
all of my slides for the presentation at home.
(Duration: 4 hours 30 minutes)
April 25, 2004: I measured out the plexiglass
pieces to our casing, and cut them using a hack saw. I glued the individual
pieces together with our board using a combination of epoxy and hot glue.
We had to correct some of the pieces cut so that they fit properly. We
made sure the board worked after we had all the sides securely connected
together. The voltage regulator seemed to overheat alot when we tested
it with the AC adapter/so we decided to put a little heat sink compound
and a heat sink on top of it. Finally, Bill, Jegede and I put glue all
along the bottom side quickly before it dried, and held it until the glue
dried.
(Duration: 4 hours 45 minutes)
April 24, 2004:
I helped Jeff debug the
circuit. We figured out that the clock pin lost connection, so we just soldered
that on and it worked. We verified that Jeff's color program worked. I
used the final test software I put together, and we saw a picture on the screen!
At first there were 4 copies of the picture/the colors were all messed up.
I talked with Jeff about the addressing, and I realized that the Epson is
byte addressable. I was clocking in a 2 byte word every address with my
software. The 16 bit color values were also backwards. I had it sending
a 16 bit color starting with the most significant values: 0 unused bit, 5-bit
Red, 5-bit Blue, and 5-bit Green. Jeff notified me that the Epson takes
16 bit color instead like: 0 unused bit, 5-bit Blue, 5-bit Green, and then
5-bit Red. I changed around my bit masking scheme to accomodate this, and
then incremented the address one extra time per pixel(Jeff's function that
clocks in data to the Epson takes Address, 16-bit color). After I loaded
this code up the picture started loading absolutely perfect. However, there
were some minor problems with the display. First, it was terribly slow.
It took about 10 minutes to load up one picture. A tiny chunk of the picture
at the top started to display at the very bottom of the screen. Once the
display reached this tiny chunk of picture at the bottom, it skipped back
to the top and placed the bottom portion of the picture that was supposed
to be in that tiny chunk to the top of the screen. This is due to the fact
that we are using a 4 meg EDO DRAM chip, when the Epson only is supposed
to support a 2 meg chip.
We recorded everything on video, and I went with Jeff to his place
to digitize the video.
(Duration: 4 hours 30 minutes)
April 23, 2004: I received the new Rabbit
core module 3010, and tried to get my web server code burnt in at home because
it only works with the most updated software. I had issues with memory,
because our old 3000 has 512kb of static RAM while the 3010 only has 128kb.
The web server now could only hold 75kb of picture data after all the overhead.
I setup the camera so that it was ready to videotape the new outcome. At
lab, I setup the Rabbit on the evaluation board, and I had to tie the floating
infrared inputs to ground because they would constantly send pictures randomly.
Bill filmed Jegede and I demostrating our code/how we can send it data
using the PC client, and then view the change remotely via an HTTP server.
I updated the web page from the generic Rabbit sample version to one that
more suits our group. We hooked up the new rabbit module on the board,
and tried to display something to the screen. However, the Epson was not
properly receiving the startup register information.
(Duration: 4 hours)
April 21, 2004: I wrote the .ppm decoder and set it up so that it scaled each 8 bit RGB color values down to 5 bits. It then combined these 3 values into a single 16 bit unsigned integer. I had an unsigned integer keep track of the address starting from 0. I had it enter a while loop and print up each individual pixel value, and checked by hand to make sure all of the values were correct for a few pixels. I copied over Jeff's code to clock in RGB values into the Epson, and I setup the Rabbit/PC to send/recieve pixel packets that consist of a 10 byte header("sendpixel"), a 4 byte address integer, and 16 bits for the color data. I sent a .ppm file to the Rabbit and verified that the debug statements on Rabbit/PC agreed. I then setup Jeff's code to send the pixel/address data to the Epson whenever a pixel packet came to the Rabbit. Bill, Jegede and I were just about to hook up the Rabbit to our board, when a pin broke on the Rabbit. We soldered it on and verified that we could program the Rabbit on the evaluation board. However, when we installed it onto our board it di