<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_1_1415346179382_4787" dir="ltr"><span>Dear ROS-Users,</span></div><div id="yui_3_16_0_1_1415346179382_4787" dir="ltr"><span><br></span></div><div id="yui_3_16_0_1_1415346179382_4787" dir="ltr"><span id="yui_3_16_0_1_1415346179382_4870">I've created a rosbag writer implementation for Java, and posted it to a new BitBucket repository. It should be functional for writing a rosbag format 2.0 none compression rosbag in Android or Java ROS implementations (Client or Server). If your interested the source repository is located at:</span></div><div id="yui_3_16_0_1_1415346179382_4787" dir="ltr"><a href="https://bitbucket.org/aaron_sims/jrosbag/src/9af69489db72fa785eaa11834322075ef87c6d78?at=master" id="yui_3_16_0_1_1415346179382_4828">aaron_sims / jrosbag / source / — Bitbucket</a><span> </span></div><div style="width:450px; font-family: 'Georgia', 'Times', 'Times New Roman', 'serif';margin-top:5px; margin-bottom: 5px; background-color: #ffffff;" contenteditable="false" id="enhancrCard_0" class="link-enhancr-attachment link-enhancr-element"><table class="link-enhancr-element" cellspacing="0" cellpadding="0" border="0" style="width:450px; height:auto; position: relative; display: block;" id="yui_3_16_0_1_1415346179382_4853"><tbody id="yui_3_16_0_1_1415346179382_4852"><tr class="link-enhancr-element"><td class="link-enhancr-element" colspan="7" style="height: 1px; background-color: #e5e5e5; font-size: 1px; border-collapse: collapse;"><div class="link-enhancr-element" style="height: 1px; background-color: #e5e5e5; font-size: 1px; line-height:0px;"> </div></td></tr><tr class="link-enhancr-element" id="yui_3_16_0_1_1415346179382_5552"><td rowspan="5" class="link-enhancr-element" style="width: 1px; background-color: #e5e5e5; font-size: 1pt; border-collapse: collapse;"><div class="link-enhancr-element" style="width: 1px; background-color: #e5e5e5; font-size: 1pt;"> </div></td><td rowspan="5" class="link-enhancr-element" style="width: 14px; background-color: #ffffff; font-size: 0pt; border-collapse: collapse;"><div class="link-enhancr-element" style="width: 14px; background-color: #ffffff; font-size: 14pt;"> </div></td><td colspan="2" class="link-enhancr-element" style="height: 6px; background-color: #ffffff; font-size: 0pt; border-collapse: collapse;" id="yui_3_16_0_1_1415346179382_5551"><div class="link-enhancr-element" style="height: 6px; background-color: #ffffff; font-size: 6pt;" id="yui_3_16_0_1_1415346179382_5550"> </div></td><td rowspan="5" class="link-enhancr-element" style="width: 20px; background-color: #ffffff; font-size: 0pt; border-collapse: collapse;" id="yui_3_16_0_1_1415346179382_5556"><div class="link-enhancr-element" style="width: 20px; background-color: #ffffff; font-size: 20pt;"> </div></td><td class="link-enhancr-element" rowspan="5" width="1" style="width: 1px; background-color: #e5e5e5; font-size: 1pt; border-collapse: collapse;"><div class="link-enhancr-element" style="width: 1px; background-color: #e5e5e5; font-size: 1pt;"> </div></td></tr><tr id="yui_3_16_0_1_1415346179382_4868"><td class="link-enhancr-element" colspan="2" style="width: 100%; vertical-align: middle; font-family: 'Georgia', 'Times', 'Times New Roman', 'serif';" id="yui_3_16_0_1_1415346179382_4867"><div class="link-enhancr-text-part link-enhancr-element" style="line-height:16.5px; background-color: #ffffff;  width: 414px;" id="yui_3_16_0_1_1415346179382_4866"><div class="link-enhancr-element" style="word-wrap: break-word; word-break: break-all;" id="yui_3_16_0_1_1415346179382_4865"><span class="link-enhancr-element icon  icon-shrink link-enhancr-toggle"></span><span class="link-enhancr-element icon icon-close link-enhancr-delete"></span><a href="https://bitbucket.org/aaron_sims/jrosbag/src/9af69489db72fa785eaa11834322075ef87c6d78?at=master" class="link-enhancr-card-urlWrapper link-enhancr-element" style="text-decoration: none !important; color: #000000 !important; line-height: 100%; font-size: 18px; display: block;" id="yui_3_16_0_1_1415346179382_4864"><span class="link-enhancr-element link-enhancr-card-title" style="margin: 0; font-weight: normal;margin-bottom: 3px; font-size: 18px; line-height: 21px; max-height: 43px; color: #000000; overflow: hidden !important; display: inline-block;" id="yui_3_16_0_1_1415346179382_4869">aaron_sims / jrosbag / source / — Bitbucket</span></a><div style="font-size: 13px; line-height: 20px; color: #999999; max-height: 81px; font-family: 'Georgia', 'Times', 'Times New Roman', 'serif';overflow: hidden;" class="link-enhancr-card-description link-enhancr-element">Source Branch
            
            master
          
          
        
        
          Check out branch jrosbag / </div></div></div></td></tr><tr id="yui_3_16_0_1_1415346179382_4863"><td colspan="2" class="link-enhancr-element" style="height: 6px; background-color: #ffffff; font-size: 0pt; border-collapse: collapse;" id="yui_3_16_0_1_1415346179382_4862"><div class="link-enhancr-element" style="height: 6px; background-color: #ffffff; font-size: 6pt;" id="yui_3_16_0_1_1415346179382_4861"></div></td></tr><tr id="yui_3_16_0_1_1415346179382_5555"><td class="link-enhancr-element" style="vertical-align: middle; font-family: 'Arial', 'Helvetica Neue', 'Helvetica', 'sans-serif';"><div class="link-enhancr-element" style="font-size: 0pt;"><a href="https://bitbucket.org/aaron_sims/jrosbag/src/9af69489db72fa785eaa11834322075ef87c6d78?at=master" class="link-enhancr-card-url link-enhancr-element" style="color: black; text-decoration: none !important;cursor:pointer !important;" target="_blank"><span class="link-enhancr-element link-enhancr-view-on" style="display: inline-block; line-height: 11px; max-width: 314px; min-width: 254px; overflow: hidden; max-height: 13px; word-break: break-all;" id="yui_3_16_0_1_1415346179382_4843"><span class="link-enhancr-element link-enhancr-mobile-no-resize" style="vertical-align:middle; font-size: 9px; line-height: 11px; color: #999999; -moz-text-size-adjust: none; -ms-text-size-adjust: none; -webkit-text-size-adjust:none; text-size-adjust:none;">View on <span style="font-weight: bold" class="link-enhancr-view-on-domain">bitbucket.org</span></span></span></a></div></td><td class="link-enhancr-element" style="vertical-align: middle; width: 100px; font-family: 'Arial', 'Helvetica Neue', 'Helvetica', 'sans-serif';" id="yui_3_16_0_1_1415346179382_5554"><div class="link-enhancr-element link-enhancr-preview-wrapper" style="max-width: 100px; min-width: 80px; overflow: hidden; text-align: right; line-height: 11px; max-height: 13px; font-size: 0pt;" id="yui_3_16_0_1_1415346179382_5553"><span class="link-enhancr-element link-enhancr-preview-by link-enhancr-mobile-no-resize" style="vertical-align:middle; font-size: 9px; line-height: 11px; color: #999999; -moz-text-size-adjust: none; -ms-text-size-adjust: none; -webkit-text-size-adjust:none; text-size-adjust:none;">Preview by Yahoo</span></div></td></tr><tr id="yui_3_16_0_1_1415346179382_4851"><td colspan="2" class="link-enhancr-element" style="height: 9px; background-color: #ffffff; font-size: 0pt; border-collapse: collapse;" id="yui_3_16_0_1_1415346179382_4850"><div class="link-enhancr-element" style="height: 9px; background-color: #ffffff; font-size: 9pt;" id="yui_3_16_0_1_1415346179382_4849"></div></td></tr><tr class="link-enhancr-element" id="yui_3_16_0_1_1415346179382_4856"><td class="link-enhancr-element" colspan="7" style="height: 1px; background-color: #e5e5e5; font-size: 1px; border-collapse: collapse;" id="yui_3_16_0_1_1415346179382_4855"><div class="link-enhancr-element" style="height: 1px; background-color: #e5e5e5; font-size: 1px; line-height:0px" id="yui_3_16_0_1_1415346179382_4854"> </div></td></tr></tbody></table></div><section id="readme" class="" style="">
      <article class="" style="" id="yui_3_16_0_1_1415346179382_5570">
        
          <div class="" style="" id="yui_3_16_0_1_1415346179382_5569">How to use the Bag class:</div>
<ol class="" style="" id="yui_3_16_0_1_1415346179382_5572">
<li class="" style="">Initialize the org.happy.artist.rmdmia.utilities.ros.bag.Bag class.</li>
<li class="" style="">Call bag.start(OutputStream os, Bag.CHUNK_COMPRESSION_NONE)); // 
Where os is the OutputStream you intend to write the file. Examples 
could be a FileOutputStream, or a network output stream that writes the 
file to Google Drive, or Dropbox (just examples).</li>
<li class="" style="" id="yui_3_16_0_1_1415346179382_5571">Call bag.addConnectionHeader(char[] topic, int conn, char[] 
connection_header_hex); for each new connection header on connection 
handshake. int conn is a unique int connection id chosen for the 
connection (might be a good idea to iterate through topic ids to create 
an int array, or other mechanism to chose a unique int. 
connection_header_hex will be the ROS Serialized Message in the 
connection header. </li>
<li class="" style="">Call bag.addMessage(long time, int conn, char[] message_data_hex); 
Pass in the long time, associated connection header int conn id, and the
 ROS serialized message to add to the rosbag file.</li>
</ol>
<div class="" style="">This Java code is poorly documented, however, I wanted to share it 
with ROS Community for Java/Android ROS clients that want to record 
rosbag files. Good luck using it. Releasing under Apache 2.0 license.</div>
        
      </article></section><div id="yui_3_16_0_1_1415346179382_4787" dir="ltr"><br></div><div id="yui_3_16_0_1_1415346179382_4787" dir="ltr">I wish I had more time to clean up the code better, and if you have questions or want to contribute send me a message.</div><div id="yui_3_16_0_1_1415346179382_4787" dir="ltr"><br></div><div id="yui_3_16_0_1_1415346179382_4787" dir="ltr">Thanks,<br><br>Aaron </div> <div class="qtdSeparateBR"><br><br></div><div class="yahoo_quoted" style="display: block;"> <div style="font-family: HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div dir="ltr"> <font size="2" face="Arial"> On Wednesday, October 29, 2014 11:51 PM, Aaron Schiffman <aarondsc@yahoo.com> wrote:<br> </font> </div>  <br><br> <div class="y_msg_container"><div id="yiv6001212968"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"><div id="yiv6001212968yui_3_16_0_1_1414651366000_5952" dir="ltr">Dear ROS-Users,</div><div id="yiv6001212968yui_3_16_0_1_1414651366000_5952" dir="ltr"><br></div><div id="yiv6001212968yui_3_16_0_1_1414651366000_5952" dir="ltr">I am strongly considering implementing rosbag in Java. I'd want to implement the latest rosbag version (2.0 is the version I found documented by Tully). I was going through a list of TODO's for a project I am working on from 2 years ago, and one of the tasks was to create a proxy framework for monitoring data communications. rosbag already seems to cover the requirements well. I'd be happy to share the code with OSRF if it hasn't been done yet. Any input on rosbag in Java will be appreciated. I'd appreciate some back and forth Q&A support on this if any rosbag experts are willing to support the effort. I'd like to get it done in short order.</div><div id="yiv6001212968yui_3_16_0_1_1414651366000_5952" dir="ltr"><br></div><div id="yiv6001212968yui_3_16_0_1_1414651366000_5952" dir="ltr">Please let me know if you want to help.</div><div id="yiv6001212968yui_3_16_0_1_1414651366000_5952" dir="ltr"><br>Thanks,<br><br>Aaron</div></div></div></div><br><br></div>  </div> </div>  </div> </div></body></html>