{"id":96,"date":"2024-03-09T23:36:44","date_gmt":"2024-03-09T23:36:44","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb6\/?p=96"},"modified":"2024-03-09T23:36:44","modified_gmt":"2024-03-09T23:36:44","slug":"michaels-status-report-3-9-2024","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb6\/2024\/03\/09\/michaels-status-report-3-9-2024\/","title":{"rendered":"Michael&#8217;s Status Report 3\/9\/2024"},"content":{"rendered":"<p><b>What did you personally accomplish this week on the project?\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400\">For this week, I got the camera driver working on the ESP32. The code that I have currently works at the 240p resolution that we are targeting.I also tested it at 360p, 480p, and 1080p to make sure that it is able to accommodate future extensions if need be. In addition to writing the camera code, I also have some code written that will write the image data from the camera into a microSD card. While this is not needed for our project, it serves as a useful debugging and development tool. Since the Wi-Fi communication has not yet been written, the microSD card is how we are currently testing the camera driver and pulling images from it. Finally, I also made a couple of small modifications in the JPEG encoder and decoder programs to change the pixel format to match the pixel format of the OV2640. The OV2640 outputs images with a 5-bit red and green channel and a 6-bit blue channel. The three channels are then packed together into 2 bytes before being stored. Such a configuration is commonly referred to as RGB565. However, the proof of concept JPEG encoder and decoder uses 8-bit for all three channels, also known as RGB888. To eliminate the need to convert from RGB565 to RGB888, I decided it was easier to just modify the proof of concept to handle a RGB565 format. <\/span><span style=\"font-weight: 400\"><br \/>\n<\/span> <span style=\"font-weight: 400\">With the camera driver and JPEG pipeline modified, we are now able to take a picture, compress it, then decompress it. The following image shows the end result after going through all those steps. The reflection in the camera are from the screen that was displaying the color test bar images<\/span><span style=\"font-weight: 400\"><br \/>\n<\/span><span style=\"font-weight: 400\"><br \/>\n<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-98\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb6\/wp-content\/uploads\/sites\/281\/2024\/03\/ov2640-300x208.png\" alt=\"\" width=\"300\" height=\"208\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb6\/wp-content\/uploads\/sites\/281\/2024\/03\/ov2640-300x208.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb6\/wp-content\/uploads\/sites\/281\/2024\/03\/ov2640.png 640w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><b>Is your progress on schedule or behind? If you are behind, what actions will be\u00a0<\/b><b>taken to catch up to the project schedule?<\/b><\/p>\n<p><span style=\"font-weight: 400\">Currently ahead of schedule by approximately 2 weeks<\/span><\/p>\n<p><span style=\"font-weight: 400\"><br \/>\n<\/span><b>What deliverables do you hope to complete in the next week?<\/b><\/p>\n<p><span style=\"font-weight: 400\">For next week, I hope to finish porting the encoder over to the ESP32. After this, we should only have to run the decoder on the laptop and also test out the encoder performance when running the ESP32<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What did you personally accomplish this week on the project?\u00a0 For this week, I got the camera driver working on the ESP32. The code that I have currently works at the 240p resolution that we are targeting.I also tested it at 360p, 480p, and 1080p to make sure that it is able to accommodate future &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb6\/2024\/03\/09\/michaels-status-report-3-9-2024\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Michael&#8217;s Status Report 3\/9\/2024&#8221;<\/span><\/a><\/p>\n","protected":false},"author":829,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb6\/wp-json\/wp\/v2\/posts\/96"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb6\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb6\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb6\/wp-json\/wp\/v2\/users\/829"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb6\/wp-json\/wp\/v2\/comments?post=96"}],"version-history":[{"count":1,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb6\/wp-json\/wp\/v2\/posts\/96\/revisions"}],"predecessor-version":[{"id":99,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb6\/wp-json\/wp\/v2\/posts\/96\/revisions\/99"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb6\/wp-json\/wp\/v2\/media?parent=96"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb6\/wp-json\/wp\/v2\/categories?post=96"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb6\/wp-json\/wp\/v2\/tags?post=96"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}