{"id":212,"date":"2019-04-28T16:27:06","date_gmt":"2019-04-28T21:27:06","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s19-teamaa\/?p=212"},"modified":"2019-04-28T16:27:06","modified_gmt":"2019-04-28T21:27:06","slug":"status-report-04-27-cmackint","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s19-teamaa\/2019\/04\/28\/status-report-04-27-cmackint\/","title":{"rendered":"Status Report 04-27 (cmackint)"},"content":{"rendered":"<p>I implemented the UART command to transmit a CAN message over the XBee bridge to the remote TOM.<\/p>\n<p>There&#8217;s a problem with the UART drivers for large receive messages. The UART drivers use per-message DMA processes. The current implementation, when the read function is called, waits for a DMA process to end and return data, copies the data to a buffer, and restarts the DMA process. The brief period of time during the data copy has no ongoing DMA process, causing data loss.<\/p>\n<p>The solution is to use a single DMA process backed with a circular buffer, where the receive function simply copies out from this buffer. I&#8217;ve implemented this, and will test this today.<\/p>\n<p>We&#8217;ll be working on presentations\/posters this coming week.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I implemented the UART command to transmit a CAN message over the XBee bridge to the remote TOM. There&#8217;s a problem with the UART drivers for large receive messages. The UART drivers use per-message DMA processes. The current implementation, when the read function is called, waits for a DMA process to end and return data, &hellip; <a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s19-teamaa\/2019\/04\/28\/status-report-04-27-cmackint\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Status Report 04-27 (cmackint)<\/span><\/a><\/p>\n","protected":false},"author":72,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s19-teamaa\/wp-json\/wp\/v2\/posts\/212"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s19-teamaa\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s19-teamaa\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s19-teamaa\/wp-json\/wp\/v2\/users\/72"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s19-teamaa\/wp-json\/wp\/v2\/comments?post=212"}],"version-history":[{"count":1,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s19-teamaa\/wp-json\/wp\/v2\/posts\/212\/revisions"}],"predecessor-version":[{"id":213,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s19-teamaa\/wp-json\/wp\/v2\/posts\/212\/revisions\/213"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s19-teamaa\/wp-json\/wp\/v2\/media?parent=212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s19-teamaa\/wp-json\/wp\/v2\/categories?post=212"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s19-teamaa\/wp-json\/wp\/v2\/tags?post=212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}