Android Apps‎ > ‎

Greenpower Lap Plotter

Please note the latest version of this app is still in beta test mode - APP V77 is the most stable

The Greenpower Lap Plotter by Jack Joynson Software.
An android app which plots the lap times directly from the BBK race server, allowing you to compare your car with competitors and possibly change your race strategy to improve your position in the race!

The .apk for this app can be downloaded from the bottom of this page, simply enable unknown sources in your settings and click the downloaded file to install. Android 4+ may be required, internet connection is required.

This page and its contents, including the application and its files are property of Jack Joynson. They may not be sold, redistributed, reverse engineered or copied in any way. Questions:

Note neither this app or JJS has any affiliation with BBK in any way, this app is still in a test stage so you are using this app at your own risk. This app has no guarantees associated with it
 Beta Release Versions (Stable) Alpha Debug Versions (Unstable)
Tested on Android API 18 (4.3 -jellybean) and Android API 21 (5.0 - Lollipop). Stable, crashes on comparing the same competitor ID from different race sources. 
Bugs: Only first 5 competitors have race data due to another android array bug. Compare dialog shows no output- added debug. Graph y value setter not enabled - not important. Title bar messy.
Tested on Android API 21;
Catastrophic data array non defined error. 

Graph options +FULL SCREEN

PV78 - LOGO STILL NEEDS UPDATING AND GRAPH OPTIONS NEED ADDING. Compare box has debug added to be fixed next update. Data array fix added hopefully. Title bar tidied up. NEED TO FIX ADDING DATA CRASHING
PV77 - fixed comp box. Updated wrong title. Updated action bar. Updated logo.
PV76 - Added newrace data button as was hidden in last version. Logo added and Donate in menu. New app logo
PV75 - Improved UI for refresh. Attempt to fix settings and compare function. Major data change to allow data from multiple races.
PV74 - Added refresh options. Added compare function.
PV73 - Added try catch on settings to try to stop errors. Added recent races and logic. REMOVE SETS NOT WORKING. 
PV72 - Added refresh button. Additional graph settings. Remove datasets logic added. Max datasets now displays. 
PV71 - asdialog now false by default. Fixed dialog being empty. fixed debug button closing settings, new menu items. 
PV70 - Dialog vs non dialog option added to settings and to program. Attempt to fix index error. Title update. 
PV69 - Slight UI tweaks. Settings dialog added. COMPETITOR 1 SHOWING AS COMP 2
PV68 - Further UI tweaks. Index data changed so competitors are lined up correctly. Dialog set to 200dp and gravity attempted to be changed.
PV67 - Tweaks to graph appearance. Graph data stored as array so should add multiple series to same graph. Touch controls should all work. Clear unlikely to work.
PV66 - Added repeat definition of graph object to try and fix the graph visibility failing.
PV65 - Added try-catches to all graph interactions in an attempt to fix crashing.
PV64 - Cleaned and rebuilt project as 63 wont install on my samsung - There is some serious issue with the permissions on lollipop for S5. [CRASHES]
PV63 - Added graph visibility setting true, added touch enabled.
PV62 - Changed signature again due to bug on samsung.
PV61 - CHANGED CHART TO MPCHART. Unlikely to be stable

PV60 - Added VC, Welcome message and latest race from server to app, incl dialogs. Removed array from series generator to see if graph will start rendering again. (Delete button wont work in this version)
PV59 - Changed symbols on last version to correct symbols. Added apply button to test if this rerendering technique would be feesable. Added graph initialization back into rendering method as last version was failing to render any data.
PV58 - Graph series now stored in array. Dialog now allows selection and deselection of competitor series. graph initialization now performed by dialog not by rendering to improve responsiveness. Clear all button added.
PV57 - Dialog adds loop to convert integer array back to string so can be set to arrayadapter ready for listview. On selection graph of selected series should be rendered.
PV56 - PV55 refractor worked. Set graph visible, still single draw mode. Added array of type double to see what happens to values. Added initialization loop for arrays. (NOTE: INTEGER ARRAY KEPT VALUES!!! SO GOING TO USE THIS IN NEXT VERSION)
PV55 - Package name changed from PV55 &Version in title to help show if fixed Android studio to S5 app installation via USB debug.
PV54 - Graph not drawn till dialog used. Single plot
PV53 - Debug view to see why competitors missing.
PV52 - Added competitors back. Changed colours
PV51 - Changed findViewById
PV50 - Removed competitors from dialog. Using preset string
PV49 - Changed context for dialog due to crash
PV48 - Added zoom and scroll back to graph. Added select button with dialog containing listview
PV47 - Coloured series, set axis manual limits. Render data auto
PV46 - Stopped repeat definition of graph to see if it helps during rendering and added fixed axis. As 44 draws an out of scale graph
PV45 - 44 drew data so render button now iterativly adds data to graph.
PV44 - 43 showed that the symbol was incorrect from the server. quick swap
PV43 - Using debug view to view value of temp laptime to see if it is null
PV42 - Using split method instead of loop to check it wasnt loop which was sticking. Added loop escape
PV41 - Back to full sequence mode. Changed b index from int at 1 to int at 0 due to android index
PV40 - 39 seems to hang and not update anything. So button now starts step 2 to prove that is issue.
PV39 - Bounds adjusted further
PV38 - Splitrow was failing due to string index array being out of bounds. Bounds symbol adjusted.
PV37 - Added all debug lines to debug view to step through and see why step 2 fails
PV36 - Removed debug set to string to allow it to be used for debug
PV35 - Removed enddata>startdata check as lack of space caused loop to stop which lead to the end loop not being called hence the lack of data.
PV34 - Added log function so can debug which stage is failing to parse data correctly as V33 is not returning any data from the squared array - Appears that rows are not completing
PV33 - Appeared that no data was being processed - added rows text to display if rows being called.
PV32 - Added post and prebuild data to debug view
PV31 - Fix array index on below.
PV30 - Still failing to parse, Data vals displayed in about button for debug purposes.
PV29 - Scrollview added for debug purposes.
PV28 - Exemption handler added to parse. Help button displays y values
PV27 - Actual data added on button
PV26 - Added additional declaration
PV25 - Adding data using datapointarray generator
PV24 - Adding real data using PV23 method.
PV23 - using alternate datapoint sync method. Button adds datapoint
PV22 - removed viewport settings to eliminate. Step 1 and 2 auto. Render preset and render actual on buttons
PV21 - Render preset and render actual for debug
PV20 - Locked graph height
PV19 - Exemption handler added. Data removed
PV18 - Changed index variable in render loop.
PV17 - Added step through debug buttons
PV16 - Removed outer render loop for debug purposes. Removed heat text in case of error.
PV14 - Attempt to render actual data
PV13 - Fix graph exemption
PV12 - Added exemption handlers
PV11 - Readded all steps.
PV10 - Changed array initializer
PV9 - Changed index conditional check value.
PV8 - Readded cmpspl with index conditionals
PV7 - Added index blank conditionals
PV6 - Removed toast.
PV5 - Just UI step enabled

Jack Joynson,
7 Nov 2015, 11:11
Jack Joynson,
14 Nov 2015, 11:58
Jack Joynson,
14 Nov 2015, 12:13
Jack Joynson,
16 Nov 2015, 14:19