Tag Archives: Calculator App

Version 3.05

Release date: 15th July 2014

Changelog:
(1) In “Settings”, long press cursor keys ([LEFT] or [RIGHT]) to change TC restart time fast.


Version 3.03

Release date: 23rd September 2013

Changelog:
(1) Fixed rounding error. (Occurred when freezone was more than 3 hours.)


Version 3.02

Release date: 20th June 2013

Changelog:
(1) Added a new results type, “HMA” (click here for details).


Version 2.97

Release date: 1st March 2013

Changelog:
(1) Changed some default values in “Settings”.
(2) Fixed UI bug in “Penalties”.
(3) Refactored code, some optimizations done.
(4) Added ‘Splash Screen’ in “Settings” to enable/disable start animation. Default is ON.
(5) To avoid confusion, changed ‘No Decimal’ to affect values only in “Speed Chart”.
(6) Press [F2] to insert a new TC in “Penalties”. Useful for adding Self TCs after the rally is over.
(7) See (and edit) details of individual TCs in “Penalties” by selecting a TC and pressing [EXE].


Version 2.89

Release date: 10th January 2013

Changelog:
(1) “Rally” screen can show either Car or Roadbook odo information (press [F5] to toggle) when used in ‘Stock/GPS’ mode. Option ‘Sekar Toggle’ can be turned on or off in “Settings”. Default is off.
(2) Grouped options in “Settings” better.
(3) Debug mode in “Penalties”.


Version 2.83

Release date: 25th December 2012

Changelog:
(1) Fixed performance issues (noticed when more than 80 speed sectors were present).
(2) Consolidated ‘TC Restart Time’ options.
(3) Added more information in “Penalties”. Press [F5] to toggle between screens.


Version 2.73

Release date: 17th November 2012

Changelog:
(1) Added ‘No Decimal’ in “Settings”. When on, you can save time by entering distances and speeds (only kmph, not minutes) without the decimal place. e.g. 43.85 can be entered by pressing [4], [3], [8], [5], [EXE]. Any distance or speed (kmph only) value which has more than 3 digits and without a decimal point will have a decimal automatically placed. Default is off.
(2) Press [VARS] in “Rally” to goto “Penalties”.
(3) Option to show whether penalties are ‘late’ or ‘early’. Default is off.
(4) Option to show penalties in HH:MM:SS format. Default is on.
(5) Made speed change warning configurable. Default is 200m.
(6) [F4] in “Settings” reverts all settings to default values.


We are one year old!

We are a bunch of rally navigators, software developers and rock stars who are passionate about TSD rallying.

It was exactly a year ago that we discovered the FX9860GII. We were thrilled of course; this was the first piece of programmable hardware that fit all our requirements. Big numeric keyboard, inexpensive, large screen, battery life that ran into days. While programming in BASIC was the easy way to go, we knew from the beginning that our product had to have a kickass UX and that BASIC was not up to the task. C and ASM it was, and after dusting off the old K & R and with a little prayer to the pointer Gods, we wrote the first main() we had in more than 20 years.

Half a bottle of Old Monk and five Pearl Jam albums later, the alpha version of TSDMeter was born.

We knew ‘TSD Rallying’ was a niche market. There was no money to be made making a product for it and we had no business plan or model. But we did have a clear goal: ‘make TSD Rallying an easy sport to get into’. After more than 9000 lines of code, many iterations to the product, countless rally wins and helping many a novice come into the sport, we are proud to have lived up to that goal!

But the success is not ours alone, it is yours too, our passionate customers! It is you who helped us through all of last year to improve the product and market it.

“We are all rockstars” -:)

Version 2.71

Release date: 18th September 2012

Changelog:
(1) Support the new version of FX9860GII (called “USB Power Graphic 2″).
(2) In “Penalties”, press [F5] to toggle between ideal time and penalties at individual TCs.
(3) Ability to specify any value (0 – 999 seconds) as ‘TC Restart Time’.
(4) Setting to reverse the order of ‘addition keys’ in “Rally”.
(5) Popup error in case one enters ODO values less than previous TC odo in “Rally”.
(6) Change start TC to TC number 0 in “Penalties”.


TSD rallying with a programmable calculator

All programmable calculators support the BASIC language (albeit in different flavours). It is trivial to implement TSD functionality in BASIC. Below is the listing of a rudimentary program that calculates ideal times for a given speed chart (test it here):

 010 CLEAR
 020 INPUT "Total speed zones: "; N
 030 DIM BE(N)
 040 DIM EN(N)
 050 DIM SP(N)
 060 BE(0) = 0
 070 FOR I = 0 TO N - 1
 080 PRINT (I + 1); " of "; N
 090 PRINT "Begin (KM): "; BE(I) / 1000
 100 INPUT "End (KM): "; EN(I)
 110 INPUT "Speed (KMPH): "; SP(I)
 120 SP(I) = SP(I) * 1000
 130 EN(I) = EN(I) * 1000
 140 IF I < N - 1 THEN BE(I + 1) = EN(I) 
 150 NEXT 
 160 INPUT "Start time at TC (HH): "; HH 
 170 INPUT "Start time at TC (MM): "; MM 
 180 INPUT "Start time at TC (SS): "; SS 
 190 INPUT "ODO reading at TC (KM): "; KM 
 200 KM = KM * 1000 
 210 INPUT "Distance (KM, 0 for TC): "; D 
 220 IF D = 0 THEN GOTO 160 
 230 D = D * 1000 
 240 SECS = 0 
 250 PRSD = 0 
 260 PART = 1 
 270 J = 0 
 280 GOTO 370 
 290 PART = 0 
 300 GOTO 440 
 310 DT = EN(I) - KM 
 320 PART = 1 
 330 GOTO 420 
 340 SECS = SECS + (DT / SP(I)) 
 350 PRSD = PRSD + DT 
 360 GOTO 440 
 370 FOR I = 0 TO N - 1 
 380 J = I 
 390 DT = EN(I) - BE(I) 
 400 IF KM >= EN(I) THEN GOTO 290
 410 IF PART = 0 THEN GOTO 310
 420 IF D > EN(I) THEN GOTO 340
 430 GOTO 450
 440 NEXT
 450 SECS = SECS + ((D - KM - PRSD) / SP(J))
 460 SECS = SECS * 3600 + HH * 3600 + MM * 60 + SS
 470 H = INT(SECS / 3600)
 480 M = INT((SECS - H * 3600) / 60)
 490 S = INT(SECS - H * 3600 - M * 60)
 500 IF H >= 24 THEN H = H - 24
 510 PRINT "Time: "; H; ":"; M; ":"; S
 520 GOTO 210
 530 END

It is left to the reader to do input validation, handle boundary conditions, optimize, make it more user friendly, port to target device etc.