{"id":742,"date":"2020-09-04T06:14:21","date_gmt":"2020-09-04T10:14:21","guid":{"rendered":"https:\/\/jausoft.com\/blog\/?p=742"},"modified":"2022-05-22T22:40:12","modified_gmt":"2022-05-23T02:40:12","slug":"what-is-direct-bt-where-is-jogamp-2-4-0","status":"publish","type":"post","link":"https:\/\/jausoft.com\/blog\/2020\/09\/04\/what-is-direct-bt-where-is-jogamp-2-4-0\/","title":{"rendered":"What is Direct-BT? Where is JogAmp 2.4.0?"},"content":{"rendered":"<h2>What is Direct-BT?<\/h2>\n<p>I happily joined Xerxes&#8217;s call to enhance the<br \/>\nBluetooth experience on embedded GNU\/Linux for <a href=\"https:\/\/www.zafena.se\/\">Zafena<\/a>.<\/p>\n<p>This ended up in a new Bluetooth LE <em>(almost done)<\/em> and BREDR <em>(in progress)<\/em><br \/>\nC++-11 implementation named <a href=\"https:\/\/ict.zafena.se\/cgit\/direct_bt.git\/about\/\">Direct-BT<\/a>.<\/p>\n<p>It exposes a modern Java binding to the refactored original <a href=\"http:\/\/iotdk.intel.com\/docs\/master\/tinyb\/java\/\">TinyB<\/a>.<!--more--><\/p>\n<blockquote><p><em>Direct-BT<\/em> provides direct Bluetooth LE and BREDR programming without intermediate layers targeting high-performance reliable Bluetooth support.<\/p>\n<p>By having least system and userspace dependencies and no communication overhead, Direct-BT shall be suitable for embedded device configurations besides others.<\/p>\n<p><em>Direct-BT<\/em> supports a fully event driven workflow from discovery to GATT programming. <a href=\"https:\/\/ict.zafena.se\/direct_bt\/build\/documentation\/cpp\/html\/classdirect__bt_1_1AdapterStatusListener.html\">AdapterStatusListener<\/a> allows listening to adapter changes and device discovery and <a href=\"https:\/\/ict.zafena.se\/direct_bt\/build\/documentation\/cpp\/html\/classdirect__bt_1_1GATTCharacteristicListener.html\">GATTCharacteristicListener<\/a> to GATT indications and notifications.<\/p>\n<p><em>Direct-BT<\/em> may be utilized via its <a href=\"https:\/\/ict.zafena.se\/direct_bt\/build\/documentation\/cpp\/html\/index.html\">C++ API<\/a> or via the refactored TinyB <a href=\"https:\/\/ict.zafena.se\/direct_bt\/build\/documentation\/java\/html\/index.html\">Java API<\/a>.<\/p><\/blockquote>\n<p>And as it is with such new projects, they are quite demanding \ud83d\ude42<\/p>\n<p>Zafena generously <a href=\"https:\/\/ict.zafena.se\/cgit\/direct_bt.git\/about\/\">released the project code into the public<\/a>, we will add a bugzilla issue tracker there as well.<br \/>\nAdditionally to the <a href=\"https:\/\/ict.zafena.se\/cgit\/direct_bt.git\/\">canonical git repository at Zafena<\/a>, we have added a <a href=\"https:\/\/github.com\/sgothel\/direct_bt\">github repo<\/a> for easier adoption and collaboration.<\/p>\n<p>I like to express my special thanks and gratitude to Zafena, Xerxes &amp; team for releasing this project under the <em>MIT License (MIT)<\/em> to the public.<\/p>\n<h2>Where is JogAmp 2.4.0?<\/h2>\n<p>Last year I added support for iOS for <a href=\"https:\/\/jogamp.org\/\">JogAmp<\/a> and towards this year enabled <a href=\"https:\/\/ict.zafena.se\/\">JOGL <em>on the metal <\/em>for embedded systems using DRM\/GBM<\/a>.<\/p>\n<p>We then merged and fixed some outstanding bugs regarding SWT, OSX and HiDPI and <a href=\"https:\/\/jogamp.org\/deployment\/?C=M;O=D\">produced beta builds available as usual<\/a>.<\/p>\n<p>However, there are still some <a href=\"https:\/\/jogamp.org\/wiki\/index.php\/SW_Tracking_Report_Objectives_for_the_release_2.4.0\">outstanding bugs for the 2.4.0 release<\/a>.<br \/>\nAs we have to prioritize our work for paying clients and JogAmp currently lacks of financial support after the demise of our previous long year sponsor, I had no time to resolve all these issues yet.<\/p>\n<p>Regardless, it shall be completed when time allows within this year.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is Direct-BT? I happily joined Xerxes&#8217;s call to enhance the Bluetooth experience on embedded GNU\/Linux for Zafena. This ended up in a new Bluetooth LE (almost done) and BREDR (in progress) C++-11 implementation named Direct-BT. It exposes a modern Java binding to the refactored original TinyB.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[7,49,59,3,50,8,58],"tags":[53,51,52,13,16,44,33,17],"class_list":["post-742","post","type-post","status-publish","format-standard","hentry","category-3d-opengl","category-bluetooth","category-c-language","category-computer-stuff","category-direct_bt","category-jogamp","category-computer-languages","tag-bluetooth","tag-c","tag-direct-bt","tag-embedded-device","tag-java","tag-jogamp","tag-linux","tag-opengl"],"_links":{"self":[{"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/posts\/742","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/comments?post=742"}],"version-history":[{"count":5,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/posts\/742\/revisions"}],"predecessor-version":[{"id":747,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/posts\/742\/revisions\/747"}],"wp:attachment":[{"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/media?parent=742"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/categories?post=742"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/tags?post=742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}