![]() |
New compile-time options for WP-34S - Printable Version +- HP Forums (https://archived.hpcalc.org/museumforum) +-- Forum: HP Museum Forums (https://archived.hpcalc.org/museumforum/forum-1.html) +--- Forum: Old HP Forum Archives (https://archived.hpcalc.org/museumforum/forum-2.html) +--- Thread: New compile-time options for WP-34S (/thread-237845.html) |
New compile-time options for WP-34S - Nigel J Dowrick - 01-27-2013 Since revision 3361 there are some new compile-time options for the WP34S firmware. As the phrase "compile-time" suggests, these options will only be available to those of you who compile the WP34S firmware from source on your own computer. I thank Pauli, Walter, and Marcus for allowing these patches to be included as part of the project. These patches can be enabled by uncommenting the relevant #define directives in features.h . There is some documentation for them in the file wp34s_ND_patches_readme.txt in the doc directory of the project. Here's a list:
INCLUDE_EEX_PI
INCLUDE_CASIO_SEPARATOR
INCLUDE_DOUBLEDOT_FRACTIONS
INCLUDE_SIGFIG_MODE
INCLUDE_YREG_CODE There are a couple of other cosmetic options as well.
Nigel (UK)
Re: New compile-time options for WP-34S - Dieter - 01-27-2013 All these are useful options that can make life easier for the one or other user - some more so, some less. However, now there are three different ways to set user preferences: directly (e.g. decimal dot or comma), within the mode menu (e.g. thousands separator, date display) and now also within the source code. Let's take a look at the way this is handled on other portable devices, for instance digital cameras: there is a set of user-definable settings (so-called custom functions) where personal preferences can be set. For instance the exposure display (full, 1/2 or 1/3 steps), key assignments etc. On a calculator like the 34s, thirty different settings with sixteen options (= 4 bit) each can be stored in 15 Bytes. Alternatively a set of system flags could be defined to store such settings - like it was done in the 41-series. The 34s currently has 100+ flags, so 20 or 30 less reserved for internal use would not hurt. Dieter
Edited: 27 Jan 2013, 10:04 a.m.
Re: New compile-time options for WP-34S - Walter B - 01-27-2013
Quote:OK - no problem from the UI side - extra variability in "online" settings will cost some bytes on the code side, however.
d:-)
Re: New compile-time options for WP-34S - fhub - 01-27-2013 Quote:And being compile-time options these nice features will certainly be unusable by 99% of all WP34s users! Who would really want (or be able) to download a complete C-compiler package and the whole source project just for making his own preferred vereion? So I can only agree with Dieter - all those useful features should indeed be user-definable mode settings (at the cost of a few flags).
Franz
Re: New compile-time options for WP-34S - Dieter - 01-27-2013 I am not sure if I get you right, but just to be sure: there is no need to reflect each and every setting in a user command. Take a look at the 41-series:
Dieter
Re: New compile-time options for WP-34S - Walter B - 01-27-2013 Quote:Dieter, I concur. But nevertheless you'll (actually: we'll) need some code like 'if flagXY then ... else ...' for each such option. This will add to the code we already maintain - not much but >0 for sure. At that very moment we (!) have to ask if it's worth it and what will be the cost.
d:-)
Re: New compile-time options for WP-34S - Doug (NYC) - 01-27-2013 Source available. Go ahead and recode the newly provided compile time options into flag-based options. :) That actually seems like a reasonable/fun thing to do if you've never worked on the WP34S code before and would like to get your hands dirty... Both sets of code are there in front of you, plus other flag-dependent code elsewhere, so you have everything you could ask for to get your feet wet. Cheers,
Doug
Re: New compile-time options for WP-34S - Dieter - 01-27-2013 Quote:Do you really think it makes a difference whether the answer is "Look into the MODE menu, and scroll down to SEPON resp. SEPOFF" or "Simply SF or CF 99" ?-) Come on... Quote:Walter, I did not say that every possible setting should be handled by flags exclusively. For instance RDX. and RDX, or E3ON/E3OFF may remain available as separate commands. But this is not required for every single possible user preference. Especially not for those you once set and then forget. Quote:Of course every new and additional setting that is handled by flags will require some additional code, compared to a compiler directive that procuces a hard-coded firmware which does not allow any changes (except a new compiler run). On the other hand, the one or other configuration command could be dropped.
Finally - maybe most important: Quote:And can be used by next to no users.
Dieter
Re: New compile-time options for WP-34S - Nigel J Dowrick - 01-27-2013 I think that this is a problem without a solution. There's a limit to the configurability of any calculator, and (in an open-source project like this) someone will always add features that aren't part of the standard set-up. I'd agree that vital features (e.g., date format, stack size, dot or comma) must be configurable by the user, but my changes aren't vital. The calculator is fine without them and I feel that they wouldn't merit the extra space needed to fit them in alongside the standard behaviour. Also, making them part of the standard calculator would mean that Pauli, Walter, and Marcus would have to maintain and document code that they didn't write. Having them available as compile-time options seems like a good compromise. Incidentally, downloading the compiler and using it is not as hard as one might expect. I won't pretend it was trivial to get it working (see this link for my experience) but it wasn't impossible either. Finally: if you want to see what the calculator is like with these modifications, without compiling the code yourselves, you can look here. You'll find the windows emulator and various bin files that you can copy onto your calculator. These are build 3361 with all my compile-time patches turned on.
Nigel (UK)
Re: New compile-time options for WP-34S - fhub - 01-27-2013 Quote:Thanks Nigel, great service! :-)
Franz
Re: New compile-time options for WP-34S - Walter B - 01-27-2013
Quote:Good idea for sure - eases further discussion.
d:-)
Re: New compile-time options for WP-34S - Marcus von Cube, Germany - 01-27-2013 I'm against the flag setting method as long as we don't have enough code space to offer a menu like the RPL machines which show each setting in clear text while the implementation relies on flags. The only option I can see is to use dedicated commands which you can identify by their name in the mode menu. We could have decided to map the flags to these settings so that they serve double duty (flag and mode setting) but this can have strange side effects if you don't know exactly the position in the flag array and the logical limits imposed on the values. Remember PEEK and POKE? BTW, with RCLM, bit manipulation, and STOM, you can cause some havoc if you need to but this is not recommended.
OTH, it might be an option to make the newly available options dependent on the named flags, such as I, J, K, L, X, Y or Z. T is already reserved for such a setting (Trace mode in the printer enabled builds). Flags A, B, C and D already have special meanings, too.
Re: New compile-time options for WP-34S - Stephan - 01-28-2013 Thanks for those nice features. As a user I would like to have YREG runtime selectable (e.g. DISPXYON, DISPXYOFF). I like it when working with tuple like data, but find it distracting in other situations. Personally, I also find the casio separator easier to grasp, because it is easier to distinguish from digits.
One more proposal: How about having a summary mode setting to return all mode settings to sane defaults? This would be helpful for users getting lost in some accidental mode setting (c.f. the troubleshooting guide.) How about [h] [mode] DONTPANIC?
Re: New compile-time options for WP-34S - Walter B - 01-29-2013
Quote::-D There's already a command called RESET ;-) And as long as you backup your important data regularly there's no need to lose your towel. BTW, command names are limited to six characters on the WP 34s.
d:-)
Re: New compile-time options for WP-34S - Paul Dale - 01-29-2013 Even better, do ON (& hold) STO STO to save your current state and ON (& hold) RCL RCL to restore it. All mode settings, registers and RAM programs are saved and restored this way. I generally do this right after flashing to save custom mode settings etc.
Re: New compile-time options for WP-34S - Stephan - 01-29-2013 Nice, I didn't know about this one yet, thanks. I knew about about RESET, but sometimes that's just... too much reset.
And thank you both for this very nice calculator. It surprises me all the time how many things about it "just feel right." It must have been a lot of work to get to this point.
|