{"id":75,"date":"2020-02-14T18:16:44","date_gmt":"2020-02-14T18:16:44","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/?p=75"},"modified":"2020-02-14T18:23:14","modified_gmt":"2020-02-14T18:23:14","slug":"eric-maynards-status-update-for-2-15","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/2020\/02\/14\/eric-maynards-status-update-for-2-15\/","title":{"rendered":"Eric Maynard&#8217;s Status Update for 2\/15"},"content":{"rendered":"<p><em><span style=\"font-weight: 400\">What did you personally accomplish this week on the project?<\/span><\/em><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Finalized the inter-tile communication protocol with Melodee<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Result: The protocol should be able to work with only three simplex communication channels per side\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Wrote a tile-to-tile python simulator for Melodee to use to implement the tile&#8217;s internal state machine and prove the communication protocol.<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Result: The simulator allows you to connect arbitrarily many tiles together and configure them with any encoding.\u00a0 Each tile operates in its own thread and the tile firmware class very closely resembles the arduino run-time environment.<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Did some simple calculations to determine our minimum clock frequency to meet our timing goals.<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Our clock period must be at least 1.37KHz.\u00a0 The clock period must be less than <\/span><span style=\"font-weight: 400\">goal \/ ((2n +3<\/span><span style=\"font-weight: 400\">n(n+1)<\/span><span style=\"font-weight: 400\">2<\/span><span style=\"font-weight: 400\">)w)<\/span><span style=\"font-weight: 400\"> for the case that <\/span><span style=\"font-weight: 400\">n<\/span><span style=\"font-weight: 400\"> tiles are connected in a line with a word size of w.\u00a0 The 1.37KHz clock comes from <\/span><span style=\"font-weight: 400\">n=20<\/span><span style=\"font-weight: 400\">and <\/span><span style=\"font-weight: 400\">w=9<\/span><span style=\"font-weight: 400\">and a goal of 8 second compilation time.<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Tested this clock frequency with a visible light LED and a photoresistor on a breadboard with a square wave generator and an oscilloscope.<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Result: I could only reach about 300 Hz before the receiver could not keep up with the square wave.\u00a0 This may be potentially problematic.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><em><span style=\"font-weight: 400\">Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).<\/span><\/em><\/p>\n<p><span style=\"font-weight: 400\">I did not take any photos of the clock speed analysis, but here is a screenshot of the working api for the simulator I wrote.<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium\" src=\"https:\/\/lh3.googleusercontent.com\/NUCvcfh5j-hSwrZHo7NwogdsaXpy7NOwMAtmum3ArenWF8N93JyTZrAIyKL2t-IA8iX2YMH17DroLC2sw7hkGdzE1KByH2QvLLr953lUQbV8tOjjJm5wAj5iUHU1NWRE0ZY_IcBr_T1c-1_7vVDnMFVbaYV0rf4jwBgBLja3KlG8zgdwHorDeqIUeek_7dmw_GK4f19XnlSzJtytewv8XpFbM5kQZl4WjBXaYzp3-L7BNGyNql9Jm3zfybM6NMwdQ1j9qJnobUkqFIrYRrqMI9mDpw_3wyazMCbE6hb3evsZ5xCExn-yXfVPCJzyzuTjPBv34xPO62Kj2Y80mNI8KOJBiWRLHtHbn2ec7pUTWJIYKS73R0289D_T8MLAdfe5iyAHS6f5TJbsyZXl9JqBwp12NvHBrttNUluWRO15m3mHAsOoYVQXbTgBilrbd01VIyVkv9e4znWS00c3KbnzhUn-czjcrkdcwjfB4L3L7Sn5OH-yM2MqZeS8O-bBjtIaGDlD6fbCsAGHqLJlp5nvPwJbfs1YFd_6zcxUAky9TTNeAi_v5Hyrl8JYClJmBwzZi47xaYU3p-NX5yytxbhVv_OoqQmkdjxWCwAVMcppv1xmwLuVwyonPU3rViCuk2mJzd0kcdKvBWBPVga9loQP55kYqVWTAHCTn5PCGuKn2skBiVBMDqnLFkI_yi8L6AnZ8Z3gvYy5wzHLJgDOHDozBL03V4_v13Kr6GYuCxPWj6QR6cj0=w917-h743-no\" width=\"917\" height=\"743\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">Here is what the firmware file looks like.\u00a0 This is meant to look just like an arduino starter file with two registered interrupt handlers on the clock pins.\u00a0 This code is replicated in a unique thread for each simulated tile.<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium\" src=\"https:\/\/lh3.googleusercontent.com\/2f5K7IuwgwB2yfRNT6_5Y6WyW_DjW4YdaU_5z4dImaz1dgu1GHqIZR5fqd5KvrDq8SKbz4xikssNWs8a75OaFrCLA3JeccdvIJQJoXW8DHIvMkaaYIBI6eS7k1Qlqat79VhW8dMjDeCZveCMMZRoIBhkiSkrsYK_UoOgZcqOQuzjg1QprDwSiWI94hcsKq8FtVLgnl3T_1OYvyvp5euBgxLpeoP1vvCWKQyVoyt1AljvlFeuiUSynVJTczo_r7wy4njt3ME957ol-ja2rXKWVY1h9Z9YvwGpQHdohVcnukoTMcDQqYjkUltuuexYDDSYlE_Hlc8jakqQFsHSAvmLpFTyk6d7sB1hE8ade84Ahji67Z2nyc1KKoxKD9-OvzJ5MonRzukiFVYubIfYphHL7X7FsRiofcVkTk_Kd9erKWW6bJ7nXXI4G3y3ZuYRJcwc3r9-KPo9Y1SI0ke3ZtaTc5C57TnOeClABYqJtZiaoUI8MoA7uYmBNcK5rXxUir3mrE0TaL3mSI35ycG_O4VIFzOAOx0FUiMccd-IH4O-Rfm1QzJRp0KVMoX8CtecCM0DbVeNoW0Wnd6eVpCtHIvQQppbT7abxDXFSKJ2cp9FI7dmkk8_3FeeRksOdiEHuO4HBpeftT0XI6mPLt1NZygMiJuVB14UTsYNZOgL---fX91v6PAFlby9ARIYH4Y80Iw6yHiQm3PHOS5YIpfiO2X8JMpZOdhqCDi9FI1ApsbjMyx3lTcg=w911-h524-no\" width=\"911\" height=\"524\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><em><span style=\"font-weight: 400\">Is your progress on schedule or behind?<\/span><\/em><\/p>\n<p><span style=\"font-weight: 400\">I am behind on designing the circuit, but that is a result of getting ahead on the tile simulator.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><em><span style=\"font-weight: 400\">If you are behind, what actions will be taken to catch up to the project schedule?<\/span><\/em><\/p>\n<p><span style=\"font-weight: 400\">I would like to order the main components that I need for the initial prototype circuit today to put me back on schedule.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><em><span style=\"font-weight: 400\">What deliverables do you hope to complete in the next week?<\/span><\/em><\/p>\n<p><span style=\"font-weight: 400\">Flush out an initial prototype design circuit, and test a battery backup circuit on an atmega328p.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What did you personally accomplish this week on the project? Finalized the inter-tile communication protocol with Melodee Result: The protocol should be able to work with only three simplex communication channels per side\u00a0 Wrote a tile-to-tile python simulator for Melodee to use to implement the tile&#8217;s internal state machine and prove the communication protocol. Result: The simulator allows you to connect arbitrarily many tiles together and configure them with any encoding.\u00a0 Each tile operates in its own thread and the&#8230;<\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/2020\/02\/14\/eric-maynards-status-update-for-2-15\/\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":264,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7,8],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/posts\/75"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/users\/264"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/comments?post=75"}],"version-history":[{"count":4,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/posts\/75\/revisions"}],"predecessor-version":[{"id":84,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/posts\/75\/revisions\/84"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/media?parent=75"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/categories?post=75"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/tags?post=75"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}