• There were many reasons for the change of the site software, the biggest was security. The age of the old software also meant no server updates for certain programs. There are many benefits to the new software, one of the biggest is the mobile functionality. Ill fix up some stuff in the coming days, we'll also try to get some of the old addons back or the data imported back into the site like the garage. To create a thread or to reply with a post is basically the same as it was in the prior software. The default style of the site is light colored, but i temporarily added a darker colored style, to change you can find a link at the bottom of the site.

Our 2 Spyder's Odometers aren't accurate, but the Trip meters are - anyone else notice?

Patti... :shocked:
I have no idea what you just said...
But it sure sounds good! :D :thumbup:
I'm just gonna ride mine.
Each mile that I've added; is less important to me, than the next mile that I'll add...
 
Patti... :shocked:
I have no idea what you just said...
But it sure sounds good! :D :thumbup:
I'm just gonna ride mine.
Each mile that I've added; is less important to me, than the next mile that I'll add...

Iagree with this other Bob. I am one too.
My speedometer seems to agree with my GPS on that account. I would suggest writing down the milage at the start of a trip/time period, then seting the trip to 0 and after 200 or three hundred miles checking the difference.
Just a thought
Oldmanzues
 
Hi Patti :thumbup:

It's great to see your intelligent reply with further analysis, but I must still respectfully disagree with your conclusions. Your approach of using the 2 costs is very good, but the analysis doesn't compare all the required activity deeply enough, in my opinion.

I'll expand on this by embedding my comments within your quote, in bold like this. And then follow-up with......... after the quote.

Nice try, but I don't think your assumptions will hold water. I have been a systems analyst, though we wouldn't know about how the Spyder systems work without having the algorithms to see, or commentary from the system developers.
I'll attempt to demonstrate that my assumptions could hold water quite well. I too have enjoyed a very successful career as a programmer/analyst, although in a quite different field than would be required here. (Manufacturing, production control, etc. on mainframe and mini-computers.)

In a system you have 2 costs: storage and processing. When storage costs more than processing, you recalculate whenever you need to. When processing is more expensive you use storage and retrieve as needed. So far, so good. Excellent, in fact! Your speculation about the system recalculating mileage each time you turn on your Spyder NO, NO, much more often than that. Every 1/10th of a mile, at least. heavily uses both storage and processing - keeping lots of mileage numbers NO. No mileage numbers, just one simple count of total wheel revolutions, as they occur. and adding them up every time you turn on the key. Again, boot-up is not described here, though it would be involved also, of course.


It's also overly complex, when all the system really has to do is store three numbers: the last odometer reading, and the Trip A and Trip B totals. This is where I believe your analysis isn't thorough enough: first the system needn't store "odometer" readings at all; this is what I say is too expensive. To do so would require computing them from the wheel-counter each time that counter increments. For an 80-inch tire tread, that counter increments 792 times per mile, which at 60mph would be 792rpm, or 47,520 times each hour. The least expensive thing for the system to be doing this often is to increment and store ONE simple counter (for the life of the machine). All other desired information is converted from this one count. But there is NO NEED to do the conversion every time the counter increments. This is what I say is an unnecessary burden on Miss Nanny, because such information is not needed with every wheel turn. It's only needed every 79.2 turns, at the event of having covered .1 linear mile. How would it know when .1 mile has been covered? This could be incorporated in the much higher-priority task that updates the speedometer display, that is also being driven by the wheel-count function, compared against elapsed time. There would be an algorithm in that routine to indicate when to invoke the odometer display task, which would within itself reset the event-indicator used by the speedometer task.

(Even though the odometer doesn't display tenths of miles, the system has to keep track of it to know when to incrementally increase the display.) No processing is needed except to retrieve those three pieces of data and put them in the appropriate area of the display.

As to prioritization of the ongoing addition of miles to the trip counters and odometer, I doubt that is necessary. The same input (not sure of this, but maybe number of rotations of the rear tire) go into a trigger to advance the three data fields. and a simple "add .1 mile" isn't that complex of a process. In fact, the same .1 mile increment probably goes into the odometer total, but it doesn't display an increase until it occurs 10 times.
Remember, the system must accommodate the user-selectable option to give the displays in either kilometers or miles. A single running copy of each processing task would serve either choice because it would use constants that get initiated during the user setup function. All these constants would have many decimal places, to provide accuracy in the rounded, truncated output.

We haven't analyzed the speedometer task at all, but it would be heavily coordinated in all of this, and leads me to surmise about the task prioritizing within a very busy multi-tasking system. Other tasks would have even higher priority than these, as they would have to do with safety and these are only casual displays.

You're right that we cannot know the whole truth until someone more knowledgeable chimes in. But it's been fun to speculate and debate with you about it; it keeps the ol' gray matter exercised, doesn't it?
What a great forum!:yes:
 
Well...at least we got some good technical stuff to spar about. Just what the posters were screaming for about a week or so ago. :roflblack::roflblack:
 
I'll defer to MissouriBoy about the system. I'm a logical analyst and not a programmer. Also, my eyes are spinning trying to figure it all out. It's a good thing I'm retired.

In any case, I don't think the software is the problem, or everyone would notice discrepancies.
 
Last edited:
Why the Variance?

Well, I don't think we've made any great conclusions here, I've only touched on some possible ways the system could work, without really coming up with a good answer to the OP's original question: Why the .6 to 1.3 variation in the 'total' odometer tick-over, when the 'trip' meter seems to update much more accurately? I only surmised it could be the lower priority of the screen-update task, but I don't feel I've actually proven a single thing.

I know this variance occurs, even on my own machine. But WHY? :banghead:

And has anyone else concluded that their main odometer could be off by up to 20%? I believe my own is NOT off by anything like that amount, so Rutger has really found a glitch here. Or has he?

Anybody else have similar observations? :dontknow:
 
Now, I also surmise that miles/kilometers are not even stored anywhere, but are simply computed from scratch each time the screen-display is updated. Constantly storing them is an unnecessary burden for Miss Nanny! Only the total wheel-count needs to be permanently stored, for the life of the machine, and then all displays are computed from that value, when needed.

Granted that all programmers bring their own ideas to the table, I can't see one taking your approach. A simple counting function is not really a burden on a computing system. The easiest way to do this process, IMHO, is one simple counting loop that sends a count to three different storage areas. One, the odometer has no reset capability and is written to storage (doesn't lose the value even when battery is disconnected). The other two would give the operator the ability to reset the count to zero, not sure if they save the data even without power but at least a couple of times that techs have had my bike for work that I would have disconnected the battery for the count has remained in the trip meters. As has been mentioned before it makes sense for the system to maintain the tenths even though it is not displayed in the odometer function.

But without the code or at least the flowchart none of us have the answer.
 
:shocked: I think that we cab all agree that a computer can pretty much count in it's sleep... :D
How is it getting the inputs from the wheel's rotation? Is there any way for THAT input to be getting scrambled a bit, along the way? :dontknow:
 
:shocked: I think that we cab all agree that a computer can pretty much count in it's sleep... :D
How is it getting the inputs from the wheel's rotation? Is there any way for THAT input to be getting scrambled a bit, along the way? :dontknow:

There are Hall effect wheel speed sensors on each wheel. Every time a certain spot on the wheel comes by it sends a signal to the VCM. Any sensor can go bad, but I would believe that a code would be thrown if one was no longer reporting wheel movement. I don't know how the computer correlates the data from all three sensors, my experience has been with bikes that have one sensor for speed/distance.
 
Granted that all programmers bring their own ideas to the table, I can't see one taking your approach. A simple counting function is not really a burden on a computing system. The easiest way to do this process, IMHO, is one simple counting loop that sends a count to three different storage areas. One, the odometer has no reset capability and is written to storage (doesn't lose the value even when battery is disconnected). The other two would give the operator the ability to reset the count to zero, not sure if they save the data even without power but at least a couple of times that techs have had my bike for work that I would have disconnected the battery for the count has remained in the trip meters. As has been mentioned before it makes sense for the system to maintain the tenths even though it is not displayed in the odometer function.

But without the code or at least the flowchart none of us have the answer.
This would work fine too, but the value to be added would not simply be '1'. And there would have to be six counters, not just three:
Remember, the system must accommodate the user-selectable option to give the displays in either kilometers or miles. A single running copy of each processing task would serve either choice because it would use constants that get initiated during the user setup function. All these constants would have many decimal places, to provide accuracy in the rounded, truncated output.
So, lets say the wheel being counted has a 25" diameter... the values to be added would be .0012395 for the three 'miles' counters, and .0019949 for the three 'kilometers' counters.

So at each rotation, these six 'decimal add' operations would have to occur, instead of the single-counter bump of '1 bit' in a binary counter, to be edited only 2 ways, later, at each .1 mile.

Either way, the odometer-display update routine has approximately the same amount of work to do, each time it executes, 10 times per mile. The 'wheel-count' update happens about 806 times per mile.

So then the question of 'cost' is: do we choose a simple binary-increment of '1' to a single counter, 800+ times per mile? Or do we choose to execute a decimal-add operation against six counters each time, instead?

Let's just let the boss choose! :clap:
 
This would work fine too, but the value to be added would not simply be '1'. And there would have to be six counters, not just three: So, lets say the wheel being counted has a 25" diameter... the values to be added would be .0012395 for the three 'miles' counters, and .0019949 for the three 'kilometers' counters.

There is really no need for six counters. The diameter of the wheel, in inches and centimeters is a constant. The hall sensor counts each revolution of the wheel. If the display is set to miles, the count is multiplied by the inch constant, if you set it to kilometers, it is multiplied by the metric constant.
 
stop_sign-3669.gif
Please!!!!

I woke up this morning writing in my mind some structured English logic for how to keep track and display the odometer and trip counters!!! I don't get paid for that anymore and I have more fun things to think about. I'm a recovering analyst and just because my mind is wired that way doesn't mean I have to keep doing it!!:gaah:
 
There is really no need for six counters. The diameter of the wheel, in inches and centimeters is a constant. The hall sensor counts each revolution of the wheel. If the display is set to miles, the count is multiplied by the inch constant, if you set it to kilometers, it is multiplied by the metric constant.
ABSOLUTELY TRUE! And that puts back exactly to my original approach: the one that...

quote_icon.png
Originally Posted by Gray Ghost

Granted that all programmers bring their own ideas to the table, I can't see one taking your approach. <snip>

Review my original approach, which stated:

Only the total wheel-count needs to be permanently stored, for the life of the machine, and then all displays are computed from that value, when needed. There would be two more such counter-fields, one for each trip meter; when you reset them, the main counter is simply copied to it, then its display is computed from the difference between it and the total counter. That's why its display is always zero at reset, though the counter is not really zero at all!

Thus, the hall sensor only has to bump one counter each time. Thanks for validating it! :ohyea:
 
Sorry, Patti, I didn't mean to stress you!
I don't get paid for this either, but the mental exercise is fun! :yes:

It was fun when I realized there's a job for the way my brain works. But sometimes I can't turn it off!! No worries. I got off the wagon when I first responded to you.
 
Three displays. Three little men. Two are tea totalers--they are in charge of trip A and trip B. They are unionized and very content.

The third man is a drunk. He is never sober. His favorite beverage is double malt. Once he went on the wagon and got the DTs. It was so bad all the guys who work on the cluster went on strike, and the cluster was just black--no display at all. Now, they just let him drink. At least he doesn't smoke and hang around with loose women--that would be really bad.
 
Back
Top