WP43 Alternative key layout --> C43

This area is for discussion about these families of custom high-end Scientific Calculator applications for SwissMicros devices.
User avatar
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

bruno_h wrote:
Mon Oct 19, 2020 6:39 pm
Thanks for the release!

BTW, a little bug, perhaps already identified: when you press CATALOG and then MENUS the calculator is frozen after a warning that it is a bug. A reset is necessary.
Thanks for the report. I will investigate what happened there and fix ;-)

I expect my DM42 repair to arrive in maybe 2 weeks’ time. I will see in the mean time if I can trap the bug using the simulator only; with most bugs sim is ok. But for some not. Otherwise it has to wait.

J
Jaco Mostert
Elec Eng, South Africa
https://47calc.com C47 (s/n 03818 & 06199), WP43 (0015). In box: HP42S, HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; ex: FX702P, 11C, HP67 & HP85; iOS: 42s Byron, Free42+, WP31S/34S, HCalc.
toml_12953
Posts: 795
Joined: Wed May 03, 2017 7:46 pm
Location: Malone, NY USA

Re: 43S Alternative key layout --> WP43C

Post by toml_12953 »

Jaymos wrote:
Mon Oct 19, 2020 10:05 am
Walter wrote:
Mon Oct 19, 2020 8:58 am
Just one small correction for sake of clarity: "The graph is now contained in a quadratic form, ..." (cf. the WP43S Reference Manual, p. B-20).
Maybe I referred to the 242x240 pixel box as 'rectangular', maybe it was just poor word choice after midnight, but either way I should have referred to the inside space available to the graph which is 240x240, so I changed it to 'square', as I do not like describing that shape as being 'quadratic'. Tx.
A square is a rectangle. It's a special case of a rectangle where all sides are the same length. You were OK in calling it rectangular.
Tom L

Some people call me inept but I'm as ept as anybody!
DM10L SN: 059/100
DM41X SN: 00023 (Beta)
DM41X SN: 00506 (Shipping)
DM42 SN: 00025 (Beta)
DM42 SN: 00221 (Shipping)
WP43 SN: 00025 (Prototype)
User avatar
Walter
Posts: 3070
Joined: Tue May 02, 2017 11:13 am
Location: On a mission close to DRS, Germany

Re: 43S Alternative key layout --> WP43C

Post by Walter »

Jaymos wrote:
Mon Oct 19, 2020 10:05 am
... I should have referred to the inside space available to the graph which is 240x240, so I changed it to 'square', as I do not like describing that shape as being 'quadratic'. Tx.
Advantage to native speakers. Maybe a "false friend" since in German it's "quadratisch". Anyway, square hits the nail...
WP43 SN00000, 34S, and 31S for obvious reasons; HP-35, 45, ..., 35S, 15CE, DM16L S/N# 00093, DM42β SN:00041
User avatar
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

bruno_h wrote:
Mon Oct 19, 2020 6:39 pm
Thanks for the release!

BTW, a little bug, perhaps already identified: when you press CATALOG and then MENUS the calculator is frozen after a warning that it is a bug. A reset is necessary.
I found and removed the bug. Thanks for the headsup.
I also updated to the latest update from 43S, including John B's Gudermannian functions imported.

Dani, whenever convenient, could you please compile a Win Sim for 43B, #3c7ad5f ?

C43 DM42 software image file: https://classic43.com/downloads/C43_43BL2.zip. Be sure to do CLR/RESET after resetting the first time.

.
20201020-01513100.bmp
20201020-01513100.bmp (12.31 KiB) Viewed 3429 times
GD^-1 function plot.
Jaco Mostert
Elec Eng, South Africa
https://47calc.com C47 (s/n 03818 & 06199), WP43 (0015). In box: HP42S, HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; ex: FX702P, 11C, HP67 & HP85; iOS: 42s Byron, Free42+, WP31S/34S, HCalc.
Dani R.
Posts: 349
Joined: Fri May 05, 2017 10:23 pm

Re: 43S Alternative key layout --> WP43C

Post by Dani R. »

Jaymos wrote:
Tue Oct 20, 2020 2:02 am
Dani, whenever convenient, could you please compile a Win Sim for 43B, #3c7ad5f ?
Jaco, you can pick up the Windows Simulator (#3c7ad5f1).
C47(DM42) SN:00032 WP43 SN:00016
https://47calc.com
User avatar
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

Thanks Dani for the on-demand compile ... ;-)

For the bug fixed release #43B,

C43 Simulator for Windows: https://classic43.com/downloads/C43_EMU ... Rel43B.zip

Be sure to delete the binary.bin file from the C43 folder prior to running.
Jaco Mostert
Elec Eng, South Africa
https://47calc.com C47 (s/n 03818 & 06199), WP43 (0015). In box: HP42S, HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; ex: FX702P, 11C, HP67 & HP85; iOS: 42s Byron, Free42+, WP31S/34S, HCalc.
User avatar
pauli
Posts: 252
Joined: Tue May 02, 2017 10:11 am
Location: Australia

Re: 43S Alternative key layout --> WP43C

Post by pauli »

Jaymos wrote:
Mon Oct 19, 2020 2:05 am
[Detail FIB test.
I think your programs can be simplified by using the `(-1)^x` command. For real and complex arguments, it does the `cos(\pi x)` computation without loss of accuracy.


Pauli
User avatar
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

pauli wrote:
Wed Oct 21, 2020 10:04 am
Jaymos wrote:
Mon Oct 19, 2020 2:05 am
[Detail FIB test.
I think your programs can be simplified by using the `(-1)^x` command. For real and complex arguments, it does the `cos(\pi x)` computation without loss of accuracy.

Pauli
Interesting! Sounded great, definitely no accuracy loss in that. But when I did it, the result stayed the same. It will make a difference in other examples, but let's look at this one:

There was one formula with COS, below, which was the second in my post, and the answer was 27.44252643321958516083103651069646

Code: Select all

 // FOR REALS R
PHI RCL 01 Y^X 
RCL 01 PI * COS 
PHI RCL 01 CHS Y^X *
-
5 EXIT SQRT / 
When the COS is changed to the (-1)^x, below, the answer is still 27.44252643321958516083103651069646.

Code: Select all

 // FOR REALS R
PHI RCL 01 Y^X 
RCL 01 (-1)^X 
PHI RCL 01 CHS Y^X *
-
5 EXIT SQRT /
 

The inaccuracy is because the PHI constant in the X-register, is 34 digits only, and raised to the power of -8.555, brings the inaccuracy.

C43: PHI -8.555 Y^X is 0.01629711528218138991126278964525609 where Wolfram states the answer should have been
0.0162971152821813899112627896452560803093295353369992465819..., hence the incorrect last single digit.

The problem is we use a rounded value for PHI 1.6180339887498948482045868343656381177203091798057628621354486227... in the X-register, and if I ask Wolfram to use the same rounded number, the last term's rounded result
0.01629711528218138991126278964525609045... matches the C43 result above and shows that the inaccuracy comes from this term.
Jaco Mostert
Elec Eng, South Africa
https://47calc.com C47 (s/n 03818 & 06199), WP43 (0015). In box: HP42S, HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; ex: FX702P, 11C, HP67 & HP85; iOS: 42s Byron, Free42+, WP31S/34S, HCalc.
User avatar
pauli
Posts: 252
Joined: Tue May 02, 2017 10:11 am
Location: Australia

Re: 43S Alternative key layout --> WP43C

Post by pauli »

Nice work tracking the source of the error. Gathering some appreciation for `(-1)^x` function is useful nonetheless. `cos(\pi x)` appears in a lot of reflection formulae.
User avatar
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

This week's contributions to download:

C43 Simulator for Windows: https://classic43.com/downloads/C43_EMU ... _Rel44.zip
Be sure to delete the binary.bin file from the C43 folder prior to running.
Thanks Dani for the help compiling!

C43 DM42 software image file: https://classic43.com/downloads/C43_44L2.zip
Be sure to do CLR/RESET after resetting the first time.
The C43 firmware still requires DM42 DMCP firmware 3.18 or 3.20.

My hardware testing might commence next week again, the replacement DM42 PCB is in the post from SwissMicros... Thank you for the great support Michael.

Let me share my C43 use case story. Skip if you aren't interested in personal shares, as this ain't really Facebook ;-)
So, my DM42's problem is that essentially it got stuck two weeks ago as my USB socket promptly broke directly after loading firmware. The calculator works fine except for comms. The point is that I have had the same C43 revision 42 firmware on it for two weeks, so it is the first time since I started the WP43C a.k.a. C43 fork, that I have had the exact same firmware on the unit for a stretch of two weeks. So for me it was sort of a step back and eagle's eye look. I used the C43 on battery power only for the daily tasks in my day office, and this time it remained in my office, together with my trusty HP duo, and I am pretty satisfied on what we achieved as I never even reached for the HP companions on the side desk. I used basic functions mostly (if not exclusively) on the keyboard and used SIG and FIX display modes for various tasks. I found C43 on DM42 a valid replacement for the mundane real life tasks in the office and the kind of work I had to do, for which I have BOTH HP32SII and HP42S on my desk. Yes, I have BOTH of those units on the same desk. Why you may ask, and for that of course there are valid reasons: The 32SII has more functions marked out on keys. I use that but dislike the single line. And the 42S has useful and practical complex operations and the bigger display. And I use that. So my C43 replaced BOTH.

The positive of this was that together with the replacement parts coming from Switzerland for the old DM42, I ordered a new DM42 on its way now. I realised that I can have a C43 that stays in my day office; and a DM42 with me with a different firmware version every day for C43 testing :D :lol: :roll:. I recognise though that I soon may retire the HP Pioneer duo to the box.


Changes made:

Graphing system

I added an "equal x/y ticks" button TICKS which forces the X and Y auto scaling to both be the same, as the normal behaviour is to fit both axes to the screen independently. Best seen in the example below:
.
20201025-16101000.bmp
20201025-16101000.bmp (12.31 KiB) Viewed 3095 times
The Binet graph on XEQM button 12, default auto scaled
.
20201025-16101400.bmp
20201025-16101400.bmp (12.31 KiB) Viewed 3095 times
The Binet graph on XEQM button 12, auto scaled with TICKS pressed
.


Softmenu system

I became irritated with the softmenu nesting behaviour, or lack there-of, when calling a new softmenu. I made some changes as an experiment. Try it out and comment: that is how we can improve it.

Current behaviour:

Pressing a menu key, eg. g[ENTER] to call CPX, clears the previous menu and displays the CPX softmenu.
Calling another menu using a key, eg. g[X<>Y] to call EXP, clears the softmenu LIFO buffer, and displays EXP.

This, is stock standard behaviour as per the HP42S, but further to this HP42S paradigm, WP43S also supports calling another softmenu from within a softmenu, eg. BITS from the BASE menu, as follows: it stores the previous menu inside a LIFO buffer, and EXIT would return to the previous menus, up to 7 menus deep.

I changed part of the softmenu user interface behaviour as follows:

1. I removed the red section above, with the result that all menus called will keep on storing.
2. To keep the LIFO buffer from overflowing:
2a. prevent overrun by discarding the oldest item each time the 8th level is reached;
2b. prevent menu entry duplication by checking if a duplicate already exists, (i.e. the second time a user presses the same menu), discarding that prior menu and all menus prior than that, assuming a user does not want to revolve in circles when exiting menus;
2c. even the Simon game will be easy if you would apply the same rules ... (joke);
3. In all cases Longpress EXIT, i.e. EXITCLR clears the complete menu buffer together with entry modes, etc.

Example 1: buffer already contains 6 menus: EXP CPX BASE X.FN STAT: If you press BASE again, the oldest entries up to BASE are removed, i.e. EXP CPX BASE will be removed and BASE will be added. X.FN STAT BASE will be the final state.

Example 2: buffer already contains 7 menus: BITS EXP CPX BASE X.FN STAT SUMS. If you press FIN, the oldest is removed as it is full. BITS will be removed and FIN will be added. EXP CPX BASE X.FN STAT SUMS FIN will be the final state.

A consequence of this change, if it works well, and if it works as I expect, then softmenu items within menus, like SUMS and STAT below in the Graph menu, may be re-considered as it is not needed anymore. Calling the keyboard menus will have the same (storing) effect.
.
20201025-16091600.bmp
20201025-16091600.bmp (12.31 KiB) Viewed 3095 times
.
Jaco Mostert
Elec Eng, South Africa
https://47calc.com C47 (s/n 03818 & 06199), WP43 (0015). In box: HP42S, HP32Sii, WP34S&C, HP28C, HP35s, EL-506P, EL-W506, PB700; ex: FX702P, 11C, HP67 & HP85; iOS: 42s Byron, Free42+, WP31S/34S, HCalc.
Post Reply