The Museum of HP Calculators

HP Forum Archive 21

[ Return to Index | Top of Index ]

[WP34s] Stopwatch
Message #1 Posted by fhub on 13 Apr 2012, 10:12 a.m.

I've just tried the STOPW command on the WP34s emulator and it's really a nice feature. :-)

There are 2 minor glitches I've found:
1) on the normal emulator the small '=' indicator does not show (or blink) when you temporarily EXIT the stopwatch (on the QtGui emulator it's working).
2) I'm using the 'compact' skin on my netbook, and here I only see '-' instead of '=', although when I look at the file 'wp34s_V3_compact.png/bmp' with an image-viewer I definitely see a '=' (with both lines).

And then I would have an idea for an additional mode for the stopwatch - a kind of 'round mode':
Similar to the 'split' times a ENTER should store the current time into a register (and increase the register number), but the stopwatch should automatically be set to zero and start running again. Such a 'round' mode would allow to store the different times for each single round.

Just an idea, I don't know if anyone else would find this useful ... ;-)

Franz

Edited: 13 Apr 2012, 10:18 a.m.

      
Re: [WP34s] Stopwatch
Message #2 Posted by Marcus von Cube, Germany on 13 Apr 2012, 10:48 a.m.,
in response to message #1 by fhub

The non-blinking issue is known and will probably addressed by Pascal later.

The crippled "=" in the compact skin is definitely an error in the original skin files that has propagated to the Qt skins by the initial automatic transformation. I expect the problem to appear in the old emulator in the same way. The indicators are not drawn by the software but copied from the original bitmap and the skin files contain the coordinates of the bounding rectangle which is obviously to small to get the sign copied completely.

            
Re: [WP34s] Stopwatch
Message #3 Posted by pascal_meheut on 13 Apr 2012, 10:55 a.m.,
in response to message #2 by Marcus von Cube, Germany

I will adress the issues but I'm on holidays next week.

The "round mode" is a good idea indeed. We just have to find a nice way to implement it. I do not like the idea of a mode where ENTER means something different.

Maybe using another key?

                  
Re: [WP34s] Stopwatch
Message #4 Posted by fhub on 13 Apr 2012, 11:06 a.m.,
in response to message #3 by pascal_meheut

Quote:
The "round mode" is a good idea indeed. We just have to find a nice way to implement it. I do not like the idea of a mode where ENTER means something different.

Maybe using another key?


Yes, that's certainly better. Maybe [x<>y] or [+/-]?
                        
Re: [WP34s] Stopwatch
Message #5 Posted by Marcus von Cube, Germany on 13 Apr 2012, 11:27 a.m.,
in response to message #4 by fhub

I would vote for the decimal point because it's near the R/S key.

                              
Re: [WP34s] Stopwatch
Message #6 Posted by fhub on 13 Apr 2012, 11:33 a.m.,
in response to message #5 by Marcus von Cube, Germany

Quote:
I would vote for the decimal point because it's near the R/S key.
Well, the key is not so important, but the longer I think about it the more I'd really prefer separate 'split' and 'round' modes.

Think about what happens if someone mixes up both keys, once pressing ENTER and the next time pressing the other ('round time') key: in this case the register values would become quite confusing.

BTW, I've written such a STOPWATCH program long time ago in TurboPascal (DOS program), and I always thought that 'Split' would be what I called 'round mode' above ("Rundenzeiten"), and that the usual "Zwischenzeit" (in German) would be 'Lap'!?

Edited: 13 Apr 2012, 11:37 a.m.

                                    
Re: [WP34s] Stopwatch
Message #7 Posted by pascal_meheut on 13 Apr 2012, 11:51 a.m.,
in response to message #6 by fhub

Quote:
Well, the key is not so important, but the longer I think about it the more I'd really prefer separate 'split' and 'round' modes.

Problem with modes is having a visual feedback. And the screen is already crowded in STOPWATCH mode.

Quote:
Think about what happens if someone mixes up both keys, once pressing ENTER and the next time pressing the other ('round time') key: in this case the register values would become quite confusing.

Well, having 2 modes can lead to confusion too especially if there is no strong visual feedback. Having 2 different and not too close keys as the advantage of relying on "muscle memory" so to speak.

                                          
Re: [WP34s] Stopwatch
Message #8 Posted by fhub on 13 Apr 2012, 12:05 p.m.,
in response to message #7 by pascal_meheut

Quote:
Problem with modes is having a visual feedback. And the screen is already crowded in STOPWATCH mode.
And what about switching the Alpha-display between "Stopwatch-Split" and "Stopwatch-Lap"? (maybe in small font if it's too long otherwise).
And the mode-switching could be done by x<>y or +/- key.
                                          
Re: [WP34s] Stopwatch
Message #9 Posted by Paul Dale on 13 Apr 2012, 7:23 p.m.,
in response to message #7 by pascal_meheut

The dot matrix line isn't being used well in stopwatch mode. The lower line distinguishes this mode from H.MS mode by the presence of the 'h' and the different display of the decimal seconds.

Additionally, the RPN annunicator ought to be disabled and the angle mode forced to 360 perhaps? The BEG annunicator is also less than useful here.

I think there is room here for the split and round modes to be distinguished and swapped between (x<>y seems like a natural key for this).

However, the stopwatch consumes around 1.5kb of flash which isn't available for libraries. Adding more functionality to it will possibly reduce free flash further.

- Pauli

                                                
Re: [WP34s] Stopwatch
Message #10 Posted by pascal_meheut on 13 Apr 2012, 9:14 p.m.,
in response to message #9 by Paul Dale

STOPW was just a personal pet project. It is only recently that it attracted more interest.

And as you say, adding functionalities and even fixing small glitches like the annunciators consumes memory.

I'll fix what I have to, maybe implement the "round" function but probably by using the "." key instead of a mode as it uses less code hence less memory but that's it.

                                                      
Re: [WP34s] Stopwatch
Message #11 Posted by Paul Dale on 13 Apr 2012, 9:19 p.m.,
in response to message #10 by pascal_meheut

I can't imagine that the code space difference between the two will be significant. We're only really interested when flash page boundaries get crossed so there is usually a bit of head room.

- Pauli

                                                            
Re: [WP34s] Stopwatch
Message #12 Posted by pascal_meheut on 13 Apr 2012, 9:34 p.m.,
in response to message #11 by Paul Dale

Quote:
I can't imagine that the code space difference between the two will be significant. We're only really interested when flash page boundaries get crossed so there is usually a bit of head room.

Code space difference may not be that big but it is clearly in favour of the non-modal approach. And I still think this one is better. STOPW is already a different mode just like programming and running and a good system design should not have too many of them.

One can also imagine someone wanting to store split times during a "round" of whatever he is timing and then store the full time, reset to 0 and restart the timer.

With 2 keys, this is obvious. With a mode, less so.

                                                                  
Re: [WP34s] Stopwatch
Message #13 Posted by Walter B on 14 Apr 2012, 12:04 p.m.,
in response to message #12 by pascal_meheut

I concur with Pascal. And after all, we may rely on assuming a little bit of brains in a typical WP 34S user. Remember: "If you make a device fool-proof, only fools will use it."

                                                
Re: [WP34s] Stopwatch
Message #14 Posted by fhub on 14 Apr 2012, 4:59 a.m.,
in response to message #9 by Paul Dale

Quote:
I think there is room here for the split and round modes to be distinguished and swapped between (x<>y seems like a natural key for this).
It's really funny: now that Pauli agrees with me (the first time at all as I can remember) about 2 different modes, it's Pascal who disagrees with both of us and implements it the other way.

That was now really the last time that I've made any suggestions for the WP34s ...

Franz

                                                      
Re: [WP34s] Stopwatch
Message #15 Posted by pascal_meheut on 14 Apr 2012, 5:05 a.m.,
in response to message #14 by fhub

I implemented the function you wanted the day after you asked for it. I made this choice because it was faster to code and it seemed more logical.

And of course, we can always change it in the future should it prove inadequate.

Did you at least try it? Because if you are unhappy because people implement your suggestions quickly (and freely) but not exactly the way you would have done it, you should indeed consider to stop suggesting and to start coding yourself.

P.S: Pauli, Walter, Marcus & others including myself disagree often on the best way to implement something. Usually, the one implementing does what he thinks best after exchanging with the others... This is exactly what happened here.

Edited: 14 Apr 2012, 5:06 a.m.

                                                            
Re: [WP34s] Stopwatch
Message #16 Posted by fhub on 14 Apr 2012, 5:12 a.m.,
in response to message #15 by pascal_meheut

Quote:
... and it seemed more logical.
Well, that's really nonsense!
Do you know any situation (e.g. any kind of sports) where split-times and lap/round-times are mixed up???
Certainly not - you've EITHER split-time OR round-times in any sports discipline.

But as I said - I'm out of it ...

                                                                  
Re: [WP34s] Stopwatch
Message #17 Posted by pascal_meheut on 14 Apr 2012, 6:00 a.m.,
in response to message #16 by fhub

A pleasure talking to you, as always.

I sometimes wonder if you have any idea of how rude you can be, especially about such harmless points.

If your out of it, ok. But I seriously doubt you will be able to restrain yourself... I may know nothing about HP calculators and timers as you already pointed out but I've spend some time on Internet forums :-)

                                                                  
Re: [WP34s] Stopwatch
Message #18 Posted by Walter B on 14 Apr 2012, 12:07 p.m.,
in response to message #16 by fhub

57 and counting ;-)

            
Re: [WP34s] Stopwatch
Message #19 Posted by fhub on 13 Apr 2012, 11:11 a.m.,
in response to message #2 by Marcus von Cube, Germany

Quote:
the skin files contain the coordinates of the bounding rectangle which is obviously to small to get the sign copied completely.
Do you know which 'poly=nnn' is the right one for this small '=' indicator?
I've tried to find a rectangle with coordinates near to this '=' but had no success yet.

                  
Re: [WP34s] Stopwatch
Message #20 Posted by Marcus von Cube, Germany on 13 Apr 2012, 11:59 a.m.,
in response to message #19 by fhub

It must be one of the negative values. The 6 values are arguments to the BitBlt routine: x-dest, y-dest, x-size, y-size, x-source, y-source. I don't know for sure the base values but the destination coordinates and the source coordinates differ so there must be some offset.

                        
Re: [WP34s] Stopwatch
Message #21 Posted by pascal_meheut on 13 Apr 2012, 12:52 p.m.,
in response to message #20 by Marcus von Cube, Germany

I've fixed it. I'll commit it later.

      
Re: [WP34s] Stopwatch
Message #22 Posted by Alexander Oestert on 13 Apr 2012, 1:59 p.m.,
in response to message #1 by fhub

I'm running V3 2725 from calc.bin 2726 (!,?) on a real 30b. From what I gathered from the version history, it should have STOPW, but I can't seem to find it. I can execute it in the respective emulator though. What am I doing wrong?

            
Re: [WP34s] Stopwatch
Message #23 Posted by fhub on 13 Apr 2012, 2:06 p.m.,
in response to message #22 by Alexander Oestert

Quote:
I'm running V3 2725 from calc.bin 2726 (!,?) on a real 30b. From what I gathered from the version history, it should have STOPW, but I can't seem to find it. I can execute it in the respective emulator though. What am I doing wrong?
For being able to run STOPW on a real calc you need calc_xtal.bin and you must have an additional clock-chip (Quartz) in your 30b - I hope I understood this correctly. ;-)
                  
Re: [WP34s] Stopwatch
Message #24 Posted by Alexander Oestert on 13 Apr 2012, 2:08 p.m.,
in response to message #23 by fhub

That might be it: I'm running calc_full.bin and no crystal.

                        
Re: [WP34s] Stopwatch
Message #25 Posted by pascal_meheut on 13 Apr 2012, 3:11 p.m.,
in response to message #24 by Alexander Oestert

It is possible to have STOPW without having a crystal installed but it is very imprecise. So it is not compiled into the default calc.bin image.

                              
Re: [WP34s] Stopwatch
Message #26 Posted by Alexander Oestert on 13 Apr 2012, 4:14 p.m.,
in response to message #25 by pascal_meheut

Quote:
not compiled into the default calc.bin image.
...and also not in calc_full.bin, right? Or am I missing something?
                                    
Re: [WP34s] Stopwatch
Message #27 Posted by fhub on 13 Apr 2012, 4:18 p.m.,
in response to message #26 by Alexander Oestert

Quote:

...and also not in calc_full.bin, right? Or am I missing something?


No, you're right, calc_full.bin is just calc.bin with the library programs from wp34s-lib.dat integrated.
                                          
Re: [WP34s] Stopwatch
Message #28 Posted by Alexander Oestert on 13 Apr 2012, 4:22 p.m.,
in response to message #27 by fhub

Thanks to all!

      
Re: [WP34s] Stopwatch
Message #29 Posted by pascal_meheut on 14 Apr 2012, 2:48 a.m.,
in response to message #1 by fhub

The "glitch" should be fixed and the "." key now implements a kind of "round" timer.


[ Return to Index | Top of Index ]

Go back to the main exhibit hall