{"id":3954,"date":"2015-08-18T15:17:37","date_gmt":"2015-08-18T22:17:37","guid":{"rendered":"https:\/\/www.runlimitedfc.com\/?page_id=3954"},"modified":"2020-08-21T10:51:53","modified_gmt":"2020-08-21T17:51:53","slug":"mad-documentation","status":"publish","type":"page","link":"https:\/\/www.runlimitedfc.com\/?page_id=3954","title":{"rendered":"Mobile Announcer Display (MAD)"},"content":{"rendered":"<p><span style=\"font-weight: bold;\">Mobile Announcer Display<\/span> is primarily designed to provide a way for a race announcer to get real time data on participants approaching the finish line in order to provide them with a personalized experience while allowing the announcer to move around freely only carrying microphone and a compatible Android based device with him.<\/p>\n<h2>TOC<\/h2>\n<ul id=\"mozToc\"><!--mozToc h2 1 h2 2 h3 3 h4 4 h5 5 h6 6--><\/p>\n<li><a href=\"#mozTocId919662\">Technical Overview<\/a><\/li>\n<li><a href=\"#mozTocId641170\">Networking Setup<\/a><\/li>\n<li><a href=\"#mozTocId644905\">Participant Database<\/a><\/li>\n<li><a href=\"#mozTocId354340\">Starting\/Configuring MAD<\/a><\/li>\n<li><a href=\"#mozTocId587514\">The Announcer Display<\/a><\/li>\n<li><a href=\"#mozTocId920610\">Runner Lookup<\/a><\/li>\n<li><a href=\"#mozTocId920611\">Finish Line<\/a><\/li>\n<li><a href=\"#mozTocId920614\">GunShot<\/a><\/li>\n<li><a href=\"#mozTocId920612\">Record Finishers<\/a><\/li>\n<li><a href=\"#mozTocId920613\">Running Clock<\/a><\/li>\n<li><a href=\"#mozTocId646412\">Options Menu<\/a><\/li>\n<li><a href=\"#mozTocId397419\">Other Use Cases for MAD<\/a><\/li>\n<li><a href=\"#mozTocId161042\">Compatibility<\/a><\/li>\n<li><a href=\"#mozTocId899481\">Known not to work devices<\/a><\/li>\n<li><a href=\"#mozTocId514525\">Bugs &amp; Limitation List<\/a><\/li>\n<li><a href=\"#mozTocId557608\">Contact<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul>\n<ul>\n<li>\n<h2><a id=\"mozTocId919662\" class=\"mozTocH2\"><\/a>Technical Overview<\/h2>\n<p>MAD relies on <a style=\"font-weight: bold;\" href=\"http:\/\/www.mylaps.com\/index.php\/us_eng\/Websites\/articles\/new_mylaps_toolkit_version_1_5_released\">ToolKit <\/a>from <a style=\"font-weight: bold;\" href=\"http:\/\/www.mylaps.com\/\">Mylaps<\/a>. It connects to a <span style=\"font-style: italic;\">TCP\/IP Exporter <\/span>which in turn provides MAD with the <span style=\"font-style: italic;\">bibtag number<\/span> and the <span style=\"font-style: italic;\">time of day <\/span>of runners passing a <span style=\"font-style: italic;\">location <\/span>of your choosing. MAD will look up runners information from the supplied <span style=\"font-style: italic;\">participant database<\/span> and race setup information and display as set of data on the screen for that given runner.<\/p>\n<p><img decoding=\"async\" style=\"width: 640px; height: 200px;\" src=\"pics\/TechnicalOverview.png\" alt=\"\" \/><\/li>\n<li>\n<h2><a id=\"mozTocId641170\" class=\"mozTocH2\"><\/a>Networking Setup<\/h2>\n<p>There are really two ways networking can be setup. Following diagram illustrates the basics.<\/p>\n<p><img decoding=\"async\" style=\"width: 999px; height: 396px;\" src=\"pics\/NetWorkSetup.png\" alt=\"NetSetup\" \/><\/p>\n<p>Networking setup appears quite complex but it&#8217;s actually quite easy &#8211; however you connect your BibTags to ToolKit today you will need a <span style=\"font-weight: bold;\">WiFi <\/span>option to that setup. If you hard-wire the BibTags to the toolkit PC over a router &#8211; then buy a router with a WiFi network (<a href=\"http:\/\/en.wikipedia.org\/wiki\/Wireless_access_point\">Wireless Access Point<\/a>) &#8211; they can be purchased quite cheaply at any electronics store. If the ToolKit PC is connected to the internet and get&#8217;s the BibTag data from the MyLaps Servers (BibTag connected over GPRS) then you may consider using an <a href=\"http:\/\/en.wikipedia.org\/wiki\/MiFi\">intelligent Mobile WiFi Hotspot<\/a>. Alternatively a Smart Phone with <a href=\"http:\/\/en.wikipedia.org\/wiki\/Tethering\">tethering <\/a>can be used as well, albeit the moving range of the announcer will be more limited.<\/p>\n<p>More advanced networking setups can greatly increase the range the announcer can move around in (e.g. up to 150m away from the access point has been achieved) if you use a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Wireless_repeater\">wireless repeater<\/a>.<\/li>\n<li>\n<h2><a id=\"mozTocId644905\" class=\"mozTocH2\"><\/a>Participant Database<\/h2>\n<p>The participant database file is a .csv file with the following rules:<\/p>\n<ul>\n<li>Filename must be &lt;any text &#8211; preferably the name of the race&gt;<span style=\"font-weight: bold;\">.csv<\/span><\/li>\n<li>The data fields are delimited by <span style=\"font-weight: bold;\">&#8220;,&#8221; <\/span>(comma).<\/li>\n<li>The location of the file must be in <span style=\"font-weight: bold;\">&lt;main storage directory&gt;\/MAD\/* <\/span>if you start MAD for the first time the &#8220;<span style=\"font-weight: bold;\">MAD<\/span>&#8221; directory will be created for you. You should be easily able to find it (it should be located in the same directory as e.g. DCIM or Downloads). Please refer to <a href=\"file:\/\/\/home\/pamonti\/NetBeansProjects\/MyLapsTCPBasicAndroid\/doc\/MAD.html#mozTocId514525\">Bugs &amp; Limitation List<\/a> to find out why you may have to restart your pad after MAD installation.<\/li>\n<li>If multiple .csv files are present in that directory MAD will read the file that has been modified last (newest file)<span style=\"font-weight: bold;\"><span style=\"font-weight: bold;\"><span style=\"font-weight: bold;\">.<\/span><\/span><\/span><\/li>\n<li>Here is an example of a <span style=\"font-weight: bold;\">.csv <\/span>file &#8211; e.g. <span style=\"font-weight: bold;\">2011_MadDash_FortCollins_5k_10k.csv <\/span>(white space delimited for readability):\n<pre style=\"margin-left: 40px;\"><big style=\"font-family: monospace;\"><big><span style=\"font-weight: bold;\"><span style=\"color: #990000;\">NO.\u00a0 FIRST NAME LAST NAME AGE SEX EVENT <\/span>TOWN\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/big><\/big><big style=\"font-family: monospace;\"><big><span style=\"font-weight: bold;\">[..]<\/span><\/big><\/big>\r\n<big style=\"font-family: monospace;\"><big>2780 BRIANA\u00a0\u00a0\u00a0\u00a0 STEGER\u00a0\u00a0\u00a0 22\u00a0 F\u00a0\u00a0 10K\u00a0\u00a0 Fort Collins<\/big><\/big>\r\n<big style=\"font-family: monospace;\"><big>2702 MELISSA\u00a0\u00a0\u00a0 WOODY\u00a0\u00a0\u00a0\u00a0 37\u00a0 F\u00a0\u00a0 5k<\/big><\/big><big style=\"font-family: monospace;\"><big>\u00a0\u00a0\u00a0 <span style=\"font-family: monospace;\">Greeley<\/span><\/big><\/big>\r\n<big style=\"font-family: monospace;\"><big>2607 DOUG\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 WOODY\u00a0\u00a0\u00a0\u00a0 34\u00a0 M\u00a0\u00a0 10K<\/big><\/big><big style=\"font-family: monospace;\"><big>\u00a0\u00a0 Longmont<\/big><\/big><br style=\"font-family: monospace;\" \/><big style=\"font-family: monospace;\"><big>2669 COLIN\u00a0\u00a0\u00a0\u00a0\u00a0 LEED\u00a0\u00a0\u00a0\u00a0\u00a0 28\u00a0 M\u00a0\u00a0 10K<\/big><\/big><big style=\"font-family: monospace;\"><big>\u00a0\u00a0 <span style=\"font-family: monospace;\">Boulder<\/span><\/big><\/big><big><big><span style=\"font-family: monospace;\"><span style=\"font-family: monospace;\">\r\n2985 STACY\u00a0\u00a0\u00a0\u00a0\u00a0 SHOURT\u00a0\u00a0\u00a0 48\u00a0 F\u00a0\u00a0 5K\u00a0\u00a0\u00a0 <\/span><\/span><\/big><\/big><big style=\"font-family: monospace;\"><big>New York City<\/big><\/big><br style=\"font-family: monospace;\" \/><big><big><big><span style=\"font-family: monospace;\"><span style=\"font-family: monospace;\">[..]<\/span><\/span><\/big><\/big><\/big><\/pre>\n<div style=\"margin-left: 40px;\">The <span style=\"font-weight: bold;\">header row<\/span> and the first <span style=\"font-weight: bold;\">6 columns <\/span>and the <span style=\"font-weight: bold;\">order<\/span> shown above are mandatory for MAD to work correctly. More columns may be added and will be displayed if a runner is selected in the Announcer Display screen.<\/div>\n<div style=\"margin-left: 40px;\">\n<p>Following you will find the data type definition:<\/p>\n<ul>\n<li><span style=\"font-weight: bold;\">Header Row<\/span> can be any text describing the meaning of each column &#8211; this text will be used to describe the score data if a runner is selected in the Announcer Display screen.<\/li>\n<li><span style=\"text-decoration: underline;\">1st Column<\/span>: <span style=\"font-weight: bold;\">Bib Number<\/span> -&gt;is the number assigned to the runner and read by the BibTag, leading <span style=\"font-weight: bold;\">&#8216;0&#8217; (zero)<\/span> will be removed if present.<\/li>\n<li><span style=\"text-decoration: underline;\">2nd Column<\/span>: <span style=\"font-weight: bold;\">First Name<\/span> -&gt;is the first name of the runner.<\/li>\n<li><span style=\"text-decoration: underline;\">3rd Column<\/span>: <span style=\"font-weight: bold;\">Last Name<\/span> -&gt;is the last name of the runner and will be concatenated with the first name for the display. First and last name can be reversed if preferred.<\/li>\n<li><span style=\"text-decoration: underline;\">4th Column<\/span>: <span style=\"font-weight: bold;\">Age<\/span> -&gt; is the age of the runner on race day. Only numbers will be accepted for that column.<\/li>\n<li><span style=\"text-decoration: underline;\">5th Column<\/span>: <span style=\"font-weight: bold;\">Sex<\/span> -&gt; is the sex of the runner. Only [<span style=\"font-weight: bold;\">M,F<\/span>] are possible.<\/li>\n<li><span style=\"text-decoration: underline;\">6th Column<\/span>: <span style=\"font-weight: bold;\">Event<\/span> -&gt; is the race distance this runner has enlisted to run. The composition of this field is a number representing the <span style=\"font-weight: bold;\">distance <\/span>+ [<span style=\"font-weight: bold;\">K,k,M,m<\/span>] to indicate kilometers or miles, <span style=\"font-weight: bold;\">no space<\/span> between the number and the [K,k,M,m]. If only a number is found, the <span style=\"font-weight: bold;\">assumption will be kilometers<\/span>.<\/li>\n<\/ul>\n<\/div>\n<p>&nbsp;<\/li>\n<li>\n<h3>Using RunScore ?<\/h3>\n<p>Generate the participant DB that goes into the pad&#8217;s &#8220;MAD&#8221; folder directly from runscore using the following macro:<br \/>\n(of course you will have to adapt to your folders, field names and ENTRIES.INI variables)<\/p>\n<pre><tt>Comment\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Generate the MAD participant file and place it in DropBox..<\/tt>\r\n<tt>Comment\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ..under %HOMEPATH%\\Dropbox\\&lt;sub directories&gt;\\%RACE NAME%.csv\r\n<\/tt><tt>Select\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 no.<\/tt>\r\n<tt>&gt;=\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1<\/tt>\r\n<tt>and<\/tt>\r\n<tt>select\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 no.<\/tt>\r\n<tt>&lt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 9999<\/tt>\r\n<tt>export<\/tt>\r\n<tt>field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 no.<\/tt>\r\n<tt>field header\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NO.<\/tt>\r\n<tt>case\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proper<\/tt>\r\n<tt>field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 FIRST NAME<\/tt>\r\n<tt>field header\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 First Name<\/tt>\r\n<tt>case\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proper<\/tt>\r\n<tt>field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 LAST NAME<\/tt>\r\n<tt>field header\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Last Name<\/tt>\r\n<tt>case\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proper<\/tt>\r\n<tt>field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 AGE<\/tt>\r\n<tt>field header\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Age<\/tt>\r\n<tt>case\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proper<\/tt>\r\n<tt>field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 SEX<\/tt>\r\n<tt>field header\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Sex<\/tt>\r\n<tt>case\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proper<\/tt>\r\n<tt>field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 EVENT<\/tt>\r\n<tt>field header\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Event<\/tt>\r\n<tt>case\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proper<\/tt>\r\n<tt>field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CITY<\/tt>\r\n<tt>field header\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CS<\/tt>\r\n<tt>case\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proper\r\n\r\ndestination\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 C:\\Users\\timing_PC\\Dropbox\\shared\\MAD\\%RACE NAME%.csv<\/tt><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/ul>\n<ul>\n<ul>\n<li>\n<h2><a id=\"mozTocId354340\" class=\"mozTocH2\"><\/a>Starting\/Configuring MAD<\/h2>\n<p>Start MAD by selecting the application icon:<\/p>\n<div style=\"margin-left: 40px;\"><img decoding=\"async\" src=\"pics\/mad_72.png\" alt=\"mad72Pic\" \/><\/div>\n<p>The first screen that will come up is the configuration screen:<\/p>\n<p><a href=\"https:\/\/www.runlimitedfc.com\/wp-content\/uploads\/2015\/08\/Screenshot_2015-09-18-12-33-23.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-4220 alignnone\" src=\"https:\/\/www.runlimitedfc.com\/wp-content\/uploads\/2015\/08\/Screenshot_2015-09-18-12-33-23-1024x768.png\" alt=\"\" width=\"752\" height=\"564\" srcset=\"https:\/\/www.runlimitedfc.com\/wp-content\/uploads\/2015\/08\/Screenshot_2015-09-18-12-33-23.png 1024w, https:\/\/www.runlimitedfc.com\/wp-content\/uploads\/2015\/08\/Screenshot_2015-09-18-12-33-23-300x225.png 300w\" sizes=\"auto, (max-width: 752px) 100vw, 752px\" \/><\/a><\/p>\n<p>Under connection information you will find the <span style=\"font-weight: bold;\">IP address and the port<\/span> to be used to configure <span style=\"font-weight: bold;\">MyLaps ToolKit <\/span><span style=\"font-weight: bold;\">TCP\/IP exporter <\/span>&#8211; if no IP address is present that means that the pad has not connected to Wifi or GPRS network correctly. The <strong>participant DB<\/strong> that has been loaded from the folder &#8220;MAD&#8221; along with the number of entries (#:) and the number of duplicate Bib numbers (d:) is shown on the line &#8220;Race:&#8221;.<\/p>\n<p><span style=\"font-weight: bold;\">Two races<\/span> can be set in this version that are being run at the same time with one and the s<span style=\"font-weight: bold;\">ame participant database<\/span>. Check the first or both races and set distance and start time for correct finish time and average pace computation.<\/p>\n<p>The <span style=\"font-weight: bold;\">&#8220;Start Now..&#8221; <\/span>button will fill in the current system (pad) time &#8211; if the pad is s<span style=\"font-weight: bold;\">ynchronized with GPS time<\/span> it should be close enough to the start time used on the <span style=\"font-weight: bold;\">MyLaps BibTags<\/span> (<span style=\"font-weight: bold;\"><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.pautinanet.smarttimesync\">Smart Time Sync<\/a> <\/span>is the android application of choice to get GPS time and can be found on the android market place) .<\/p>\n<p><span style=\"font-weight: bold;\"> Metric or Statute <\/span>representation of average pace can be set under &#8220;options&#8221;.<\/p>\n<p>All settings on this screen will be <span style=\"font-weight: bold;\">saved <\/span>and automatically loaded at the next launch of MAD.<\/li>\n<li>\n<h2><a id=\"mozTocId587514\" class=\"mozTocH2\"><\/a>The Announcer Display<\/h2>\n<p>Once you&#8217;ve started the announcer screen you will see a notification informing you about:<\/p>\n<ul>\n<li>What is the <span style=\"font-weight: bold;\">name of the file <\/span>that was loaded. (should be same as on main screen)<\/li>\n<li><span style=\"font-weight: bold;\">How many runners<\/span> have been imported.<\/li>\n<li>How many <span style=\"font-weight: bold;\">duplicate Bib Numbers <\/span>were found and a list of the duplicate Bib Numbers.<\/li>\n<\/ul>\n<p>The brown bar will inform you about the <span style=\"font-weight: bold;\">status of the connection<\/span> to MyLaps ToolKit TCP\/IP exporter. If it has successfully connected it will indicate the <span style=\"font-weight: bold;\">name of the BibTag and Location<\/span> MAD is getting it&#8217;s data from.<\/p>\n<p><img decoding=\"async\" style=\"width: 640px; height: 375px;\" src=\"pics\/MADRunScreen.png\" alt=\"\" \/><\/p>\n<p>Runners <span style=\"font-weight: bold;\">not found in the loaded DB <\/span>will be displayed as &#8220;N\/A&#8221; with the time they crossed the mat and the average pace only if one race has been selected.<\/p>\n<p><span style=\"font-weight: bold;\">Selecting a specific entry (runner) <\/span>on the display will temporarily display all the columns that have been loaded from the .csv file.<\/p>\n<p>All the passings over the mat (runners) will be displayed, <span style=\"font-weight: bold;\">newest entry will be at the top<\/span>, older entries will be pushed down. Reviewing older entries can be achieved by scrolling up the display.<\/p>\n<p><span style=\"font-weight: bold;\">The keyboard can be used to search\/filter for specific criteria<\/span> &#8211; e.g. name, age, city &#8211; a subset of entries matching the search criteria will be displayed as long as there is text entered on the keyboard filed.<\/li>\n<li>\n<h2><a id=\"mozTocId920610\" class=\"mozTocH2\"><\/a>Runner Lookup<\/h2>\n<p>The <span style=\"font-weight: bold;\">Runner Lookup<\/span> button will provide you with the ability to simply look up runner information based on one or several Bib Numbers you enter into the text field. This is handy for an announcer at the finish line to look up information during a race if the lead bicyclist (or spotters) will call in periodically with the Bib Numbers of the first few runners along the course.<\/li>\n<li>\n<h2><a id=\"mozTocId920611\" class=\"mozTocH2\"><\/a>Finish Line<\/h2>\n<p>The finish line display is experimental and was designed to be used to display runners finishing onto a large LCD screen &#8211; e.g. with google chromecast or any other HDMI connected android devices.<\/li>\n<li>\n<h2><a id=\"mozTocId920614\" class=\"mozTocH2\"><\/a>GunShot<\/h2>\n<p>The GunShot display was an idea to capture the exact start time(s) of a race (waves, XC, ..) and have it archived along with the backup timing of that race. The critical part for this to work is to synchronize the clock of the Android device with the time of the timing equipment e.g. BibTags. Assuming the BibTags are synchronized with GPS time then <span style=\"font-weight: bold;\"><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.pautinanet.smarttimesync\">Smart Time Sync<\/a> <\/span>would be the android application of choice to get GPS time on the android device. For that to work the Android device needs to be &#8220;rooted&#8221;.<\/p>\n<p><a href=\"https:\/\/www.runlimitedfc.com\/wp-content\/uploads\/2015\/08\/Screenshot_2015-09-29-12-25-04.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-4314 alignnone\" src=\"https:\/\/www.runlimitedfc.com\/wp-content\/uploads\/2015\/08\/Screenshot_2015-09-29-12-25-04-1024x768.png\" alt=\"Screenshot_2015-09-29-12-25-04\" width=\"683\" height=\"512\" srcset=\"https:\/\/www.runlimitedfc.com\/wp-content\/uploads\/2015\/08\/Screenshot_2015-09-29-12-25-04.png 1024w, https:\/\/www.runlimitedfc.com\/wp-content\/uploads\/2015\/08\/Screenshot_2015-09-29-12-25-04-300x225.png 300w\" sizes=\"auto, (max-width: 683px) 100vw, 683px\" \/><\/a><\/p>\n<ul>\n<li>To record a GunShot just push the large &#8220;GunShot &#8211; Fire!&#8221; button. The exact TimeOfDay (of the Android device) and Date will be recorded.<\/li>\n<li>Optionally a label for that gunshot will be added if there was any text entered in the text box above the gunshot button.<\/li>\n<li>A permanent history of the last 8 gunshots is stored. The history can be cleared.<\/li>\n<li>The push of the gunshot button will also set the start time for Race1 and reset the RunningClock (red, top right)<\/li>\n<li>When you exit the GunShot display using the &#8220;back&#8221; button all the GunShots will be save in this race&#8217;s backup timing file (see Record Finishers)<\/li>\n<\/ul>\n<\/li>\n<li>\n<h2><a id=\"mozTocId920612\" class=\"mozTocH2\"><\/a>Record Finishers<\/h2>\n<p>Do you have aging TimeMachine&#8217;s ? Looking for a replacement that does not involve rolls of paper and\/or expensive parts for repair ? Backup Timing is designed to match the functionality of the TimeMachine. The android device paired with a bluetooth keypad not only achieves that (no independent &#8220;clicker&#8221; though) but also adds participant information if found.<\/p>\n<p>Following keypads seem to work well:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.microsoft.com\/hardware\/en-id\/d\/bluetooth-number-pad\">Microsoft Bluetooth Number Pad<\/a><\/li>\n<li><a href=\"http:\/\/www.satechi.net\/index.php\/computer\/control\/keyboards\/satechi-bluetooth-wireless-smart-keypad\">Satechi\u00ae Bluetooth\u00a0 Wireless Smart Keypad<\/a><\/li>\n<\/ul>\n<p>Since the bluetooth keypads have limited keys we mapped some keys to have special functions.<\/p>\n<ul>\n<li>Both &#8220;enter&#8221; and &#8220;+&#8221; keys will add an entry (preventing fat fingers &#8211; LOL)<\/li>\n<li>The &#8220;.&#8221; acts as a space to enter multiple runners finishing at the same time<\/li>\n<li>Just &#8220;enter&#8221; without typing a bib# is adding a time entry labled as &#8220;pass&#8221;<\/li>\n<li>The &#8220;-&#8221; sign clears the entry field (e.g. misstyped number)<\/li>\n<li>&#8220;****&#8221; orders the pad to save all current entries into a csv file (same is done if you exit the app or you click the &#8220;save&#8221; button on the pad inside the backup timing app)<\/li>\n<\/ul>\n<p>The data on the screen can be saved repeatedly, the csv file will be appended monotonically increasing by time. The resulting .csv file will be named after your participant filename +&#8221;_BT.csv&#8221; in a sub-folder of the MAD folder called &#8220;BackupTiming&#8221;<\/li>\n<\/ul>\n<\/ul>\n<ul>\n<ul>\n<li>\n<h2><a id=\"#mozTocId920613\" class=\"mozTocH2\"><\/a>Running Clock<\/h2>\n<p>In the Title Bar on the right side you will find a <strong>Running Clock<\/strong> (red font) that is showing the time passed since the <strong>Start Time<\/strong> set for <strong>Race1<\/strong> (main screen). The Running Clock will be shown on all the race function screens except for <em>Runner Lookup<\/em>.<\/li>\n<li>\n<h2><a id=\"mozTocId646412\" class=\"mozTocH2\"><\/a>Options Menu<\/h2>\n<p>The Android options menu inside MAD contains two buttons:<\/p>\n<p><span style=\"font-weight: bold;\">HELP <\/span>-&gt; Will display this page, provided the tab is able to get to the <span style=\"font-weight: bold;\">internet<\/span>..<br \/>\n<span style=\"font-weight: bold;\">ABOUT <\/span>-&gt; Will display version information.<\/li>\n<li>\n<h2><a id=\"mozTocId397419\" class=\"mozTocH2\"><\/a>Other Use Cases for MAD<\/h2>\n<p>Here are a few potential other uses of MAD:<\/p>\n<ul>\n<li>Android devices can be connected to an LCD screen (HDMI), thus you could have a large screen for runners and spectators to see in real time who is finishing the race.<\/li>\n<\/ul>\n<\/li>\n<li>\n<h2><a id=\"mozTocId161042\" class=\"mozTocH2\"><\/a>Compatibility<\/h2>\n<p>Generally compatible for Android devices (phones\/tablets) with <strong>version &lt;5<\/strong> (<a title=\"Android Jelly Bean\" href=\"https:\/\/en.wikipedia.org\/wiki\/Android_Jelly_Bean\">Jelly Bean<\/a> (4.1\u20134.3.1)<a title=\"Android KitKat\" href=\"https:\/\/en.wikipedia.org\/wiki\/Android_KitKat\">, KitKat<\/a> (4.4\u20134.4.4, 4.4W\u20134.4W.2))<\/p>\n<p>Following is the list of compatible devices this application has been running on:<\/p>\n<ul>\n<li>Samsung Galaxy Tab P1000, or any provider locked version of the tab.<\/li>\n<li>Samsung Galaxy Tab 10.1 and 7<\/li>\n<li>Samsung Phones: Infuse, Galaxy SII, SIII, S4.<\/li>\n<li>Google Nexus 10 tab, Nexus 5 &amp; 6 phones<\/li>\n<li>HP 8 G2 Tablet.<\/li>\n<\/ul>\n<\/li>\n<li>\n<h2><a id=\"mozTocId899481\" class=\"mozTocH2\"><\/a>Known not to work devices<\/h2>\n<p>Following Devices have known problems:<\/p>\n<ul>\n<li>Samsung Phone: Galaxy S4 -&gt; display problems in the announcer screen (fixed, 4\/15)<\/li>\n<li><span id=\"btAsinTitle\">Android Mini PC RK3066 -&gt; display problems on 60&#8243; VIZIO LCD TV (working on it)<br \/>\n<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/ul>\n<ul>\n<ul>\n<li>\n<h2><a id=\"mozTocId514525\" class=\"mozTocH2\"><\/a>Bugs &amp; Limitation List<\/h2>\n<p>Following is a list of known bugs or limitations<\/p>\n<ul>\n<li>The <span style=\"font-weight: bold;\">lag time<\/span> of a runner passing over the announcer mats until the entry for that runner shows up on the pad is largely dependent on the networking setup.\n<ul>\n<li>BibTags and ToolKit connected over Ethernet: almost immediate to 1s<\/li>\n<li>BibTags connected to MyLaps servers: generally we see about 2s lag time (factor this in when placing the announcer mats).<\/li>\n<\/ul>\n<\/li>\n<li>On newer devices there is an <a href=\"http:\/\/code.google.com\/p\/android\/issues\/detail?id=38282\">MTP bug<\/a> that causes you to not see the <span style=\"font-weight: bold;\">MAD directory<\/span> after the first start of MAD &#8211; please reboot your device and you should see the MAD directory.<\/li>\n<li>The toggle button &#8220;<span style=\"font-style: italic;\">Keep Saved Display Data<\/span>&#8221; functionality has been disabled due to a bug in the google API &#8211; currently working on a different solution to persist the announcer data across MAD restarts.<\/li>\n<li>Some PADs can have <span style=\"font-weight: bold;\">GPRS connectivity<\/span> (SIM card) which would allow for ToolKit to connect to the pad over large distances (anywhere inside a GPRS coverage area really) &#8211; Mobile network providers however generally do not allow &#8220;incoming&#8221; connections (e.g. port 3097 on the pad) unless you purchase a SIM card with a static IP address. Please check with your service provider for options. MAD does support GPRS connectivity, however it has not been tested.<\/li>\n<li>If the pad is connected to an <span style=\"font-weight: bold;\">LTE mobile network<\/span> is seems to be getting an IPV6 IP address. This has not been implemented\/tested.<\/li>\n<li>Only <span style=\"font-weight: bold;\">one<\/span> location in ToolKit is allowed to send data to MAD.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/ul>\n<ul>\n<ul>\n<li>\n<h2><a id=\"mozTocId557608\" class=\"mozTocH2\"><\/a>Contact<\/h2>\n<p>For questions please contact <a href=\"mailto:pascal@runlimitedfc.com\">pascal@runlimitedfc.com<\/a><\/li>\n<\/ul>\n<\/ul>\n<div style=\"margin-left: 40px;\">\n<div style=\"text-align: center;\">Page last updated on:<span style=\"font-style: italic;\"><br \/>\nOctober 2, 2015<br \/>\n<\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mobile Announcer Display is primarily designed to provide a way for a race announcer to get real time data on participants approaching the finish line in order to provide them with a personalized experience while allowing the announcer to move around freely only carrying microphone and a compatible Android based device with him. TOC Technical [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":3951,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3954","page","type-page","status-publish","hentry","has-post-title","has-post-date","has-post-category","has-post-tag","has-post-comment","has-post-author",""],"builder_content":"","_links":{"self":[{"href":"https:\/\/www.runlimitedfc.com\/index.php?rest_route=\/wp\/v2\/pages\/3954","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.runlimitedfc.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.runlimitedfc.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.runlimitedfc.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.runlimitedfc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3954"}],"version-history":[{"count":160,"href":"https:\/\/www.runlimitedfc.com\/index.php?rest_route=\/wp\/v2\/pages\/3954\/revisions"}],"predecessor-version":[{"id":7485,"href":"https:\/\/www.runlimitedfc.com\/index.php?rest_route=\/wp\/v2\/pages\/3954\/revisions\/7485"}],"up":[{"embeddable":true,"href":"https:\/\/www.runlimitedfc.com\/index.php?rest_route=\/wp\/v2\/pages\/3951"}],"wp:attachment":[{"href":"https:\/\/www.runlimitedfc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}