{"id":609,"date":"2011-10-23T18:38:55","date_gmt":"2011-10-23T16:38:55","guid":{"rendered":"http:\/\/mclightning.com\/?p=609"},"modified":"2011-10-23T18:38:55","modified_gmt":"2011-10-23T16:38:55","slug":"update-on-the-open-source-bluetooth-watch-initiative","status":"publish","type":"post","link":"https:\/\/maximusabrams.com\/?p=609","title":{"rendered":"Update on the Open Source Bluetooth Watch Initiative"},"content":{"rendered":"<p>It has been more than month since Open Source Bluetooth Watch Initiative first announced.There has been some improvements.Hardware side of the project completed.But there is a lot to do on the software side to make it a nice developer-friendly watch.So i started programming an API for the watch.But this last month has been very very busy for me.But still there has been somethings done.<\/p>\n<p>Hardware Updates :<br \/>5 pushbuttons added for navigation.<br \/>Tilt-Sensor added.<\/p>\n<p>It has been over a month since the launch of the Open Source Bluetooth Watch Initiative. I\u2019m pleased to report significant progress, particularly on the hardware front. However, there remains substantial work to be done on the software side to ensure a developer-friendly experience. Despite a particularly busy schedule, I\u2019ve made strides in developing an API for the watch.<\/p>\n<h3><strong>Hardware Updates<\/strong><\/h3>\n<ul>\n<li><strong>Navigation Buttons:<\/strong> Five pushbuttons have been integrated to facilitate easier navigation.<\/li>\n<li><strong>Tilt Sensor:<\/strong> Added for enhanced user interaction based on device orientation.<\/li>\n<\/ul>\n<h3><strong>Software Updates<\/strong><\/h3>\n<ul>\n<li><strong>UI Design:<\/strong> The user interface is being designed with vertical screens referred to as Widgets. These Widgets include buttons, labels, and other interactive elements.<\/li>\n<\/ul>\n<p>There are still some issues and gaps that need addressing. Once I find some additional time, I will continue working on these issues and release the source code along with Android and Maemo apps to interface with the watch. I welcome any feedback or suggestions you may have about the code or the project as a whole. Please do not hesitate to comment or reach out.<\/p>\n<h3><strong>Class Structure Overview<\/strong><\/h3>\n<p>Below is a schematic representation of the class structure used in the project:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>&#8211; LCD\n<ul class=\"wp-block-list\">\n<li>&#8211; Widget\n<ul class=\"wp-block-list\">\n<li>&#8211; Label <\/li>\n\n\n\n<li>&#8211; Input <\/li>\n\n\n\n<li>&#8211; UI<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Example Arduino Code :<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"cpp\" class=\"language-cpp\">#include \"LCD.h\"\n#include \"ui.h\"\n\nLCD lcd;\n\nWidget Multimedia(\"Multimedia\");\nWidget Alerts(\"Alerts\");\n\nLabel play(\"Play \/ Pause\",false,\"1\");\nLabel stop1(\"Stop\",false,\"2\");\nLabel prev(\"Prev\",false,\"3\");\nLabel next(\"Next\",false,\"4\");\nLabel mcalls(\"Missed Calls\",false);\nLabel messages(\"Messages\",false);\nLabel mail(\"Mail\",false);\nLabel update(\"Update\",false,\"5\");\n\nInput in(0,1);\n\nUI Screen(&amp;lcd);\n\nvoid setup() {\nDDRD |= B01111100;&nbsp;&nbsp; \/\/ Set SPI pins as output\nPORTD |= B01111100;&nbsp; \/\/ Set SPI pins HIGH Serial.begin(115200); lcd.init(); delay(500); lcd.SetRect(0,0,131,131,FILL,WHITE);\n\nMultimedia.addLabel(&amp;play); Multimedia.addLabel(&amp;stop1); Multimedia.addLabel(&amp;prev); Multimedia.addLabel(&amp;next); Screen.addHorizontal(&amp;Multimedia);\n\nAlerts.addLabel(&amp;mcalls);\nAlerts.addLabel(&amp;messages);\nAlerts.addLabel(&amp;mail);\nAlerts.addLabel(&amp;update);\n\nScreen.addHorizontal(&amp;Alerts);\n}\n\n\nvoid loop() {\nin.checkInput();\nswitch(in.label)\n{\ncase 0:\nSerialSender(\"0\");\nbreak;\ncase 1:\nScreen.vCursor-=1;\nScreen.redraw=true;\nbreak;\ncase 2:\nScreen.vCursor+=1;\nScreen.redraw=true;\nbreak;\ncase 3:\nScreen.hCursor-=1;\nScreen.redraw=true;\nbreak;\ncase 4:\nScreen.activeLabel-&gt;Click();\nbreak;\ncase 5:\nScreen.hCursor+=1;\nScreen.redraw=true;\nbreak;\n}\nScreen.vCursor=max(0,min(3,Screen.vCursor)); Screen.hCursor=max(-1,min(1,Screen.hCursor)); Screen.draw();\ndelay(100);\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>It has been more than month since Open Source Bluetooth Watch Initiative first announced.There has been some improvements.Hardware side of the project completed.But there is a lot to do on the software side to make it a nice developer-friendly watch.So i started programming an API for the watch.But this last month has been very very [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2,3,5,6,7],"tags":[17,31,36,49,50,62,111,125,166,213,332],"class_list":["post-609","post","type-post","status-publish","format-standard","hentry","category-diy","category-electronics-2","category-hobby-rc","category-mobile","category-personal","tag-17","tag-android-2","tag-arduino","tag-bluesmirf","tag-bluetooth","tag-chronos","tag-ez430","tag-getinpulse","tag-lcd","tag-nokia","tag-watch"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/maximusabrams.com\/index.php?rest_route=\/wp\/v2\/posts\/609","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maximusabrams.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maximusabrams.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maximusabrams.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maximusabrams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=609"}],"version-history":[{"count":0,"href":"https:\/\/maximusabrams.com\/index.php?rest_route=\/wp\/v2\/posts\/609\/revisions"}],"wp:attachment":[{"href":"https:\/\/maximusabrams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maximusabrams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maximusabrams.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}