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 »

I changed the 43C emulator keyboard to fully implement CTRL key functionality. So it does the normal expected CTRL-C and some more.

CTRL-H does hard copy to clipboard
CTRL-C does copy X to clipboard
CTRL-D does copy XYZT to clipboard
I also fixed a bug that made clipboard copy on Mac unreliable.

The latest pushed code does that.
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
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

Dani R. wrote:
Sun Oct 06, 2019 10:48 am
Jaymos wrote:
Sun Oct 06, 2019 2:23 am
Dani R. wrote:
Sat Oct 05, 2019 11:30 pm
Activating the HOME menu by pressing the Shift key three times only works if you start with 'blank'. So press the Shift key once, think about it, I want to open the HOME, and then press the Shift key three times doesn't work.
The concept is to bring up the HOME menu WHEN it clears the flags. So, more accurately, the HOME activation works as follows:
If you reach SHIFT CLEAR within 500 ms, then pop up HOME.
If you start a shift, and miss the 500 ms mark, then the detection only starts again from the point where the flags are clear.
Do you think it would be better to detect the shift key operation, at any point in the shift cycle, for 3 shifts within 500 ms? I think that sound better.
I don't know if it's better, but it's more intuitive. You have one less condition to worry about.

Personally, I only want to call HOME when I'm in 'blank', 'MyMenu' or 'HOME'. But this is not an issue (anymore).
Generally the behaviour of the menus is confusing, e.g. if you call CNST indirectly via 'HOME' and then use EXIT you fall back on 'HOME'. If you call CNST directly with g[8] when 'HOME' is active, EXIT causes all menus to be deleted, you no longer fall back to 'HOME'. But this is probably the logic.
Question; Wasn't the idea that the switch HOME should causes the 'blank' menu to be replaced with the HOME menu?


I recoded the Shift timing logic. I also increased restriction time from 0.5 to 0.6 sec, to give the slow DM42 on battery only a bit more chance.

It now activates [f][f][f] at any point in time - needs not be in shift clear state. Example, it can be in f for a few seconds and then if [f][f][f] within 0.6 sec, it will pop up HOME, and directly will cancel shift mode.

The settings are in change at the moment:
1. HOME.3 This switches on/off whether the HOME menu pops on/off within SH.3T timeout. This is a testing option, makes no sense in real life. Options 2 and 3 is all that needs changing.
2. SH.4s ShiftTimoutMode: This switches off the 4 second shift time-out
3. SH.3T. Home3TimerMode: This switches off the 600 ms triple shift timer

The actual HOME screen logic and EXIT also need revamping. It is frustrating at the moment. It must, and it will work the way we want to make it most practical.

The problem at the moment is that the original concept from 43S is hampering smooth navigation and accurate popping on/off of HOME. I will improve this logic as part of the HOME base screen concept, which is not yet working.

Code is uploaded.
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
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

Status report

My last status report was 16 Sept 2019, just before Guenter went to HHC. Here Guenter's video is linked again at the bottom.

Firstly, the goods, upfront:

Dani's WP43S Layout1A Windows emulator compile: http://cocoon-creations.com/download/WP ... -10-06.zip

My DM42 WP43C Layout2 compile: http://cocoon-creations.com/download/43C_15L2.pgm


Secondly, make no mistake regarding the quality work that Martin is putting into this project. I am impressed time and again when his updates are coming through. Also make no mistake, the 43C is going nowhere without the work the main Dev team is putting in.

Thirdly, here so salient points from the "DONE" list. Where applicable the old TODO list (in previous status reports) reference numbers are quoted, and in some cases the # number which refers to the gitlab source issues listed on that site, https://gitlab.com/Jaymos/wp43c/issues:

DONE. Fixed bug in UNITS. to cancel the UNITS mode if ENG is chosen.
DONE. Fixed bug in SIGFIG (#8), to cancel the UNITS mode if ENG is chosen.
DONE. Win emulator: greek font too large. Fixed.
DONE. Bottom 4 menu items in ALPHA mode location too low. Fixed.
DONE. [f]CLR not working in AIM. Fixed.
DONE: Added ELEC menu with operators j, a and a.a. Parallel calculations. Star(Wye)/delta impedance conversion. Voltage and current symmetrical components conversion from 3x phases to 3x seq. components. Added: e^jΦ
DONE: Add CLRSTK into STK. Re-arranged STK.
DONE: Menu re-arrangements made to CPX.
DONE: As we have plenty space in the area underneath ENTER, I decided to change the labels on the layouts: REGS to REGS.V and FLAG.V to FLAGS.V
DONE: Bugfix on double tab [<-] DROP.
DONE: Numerous improvements behind the scenes on Alpha Input Mode AIM.
DONE: Context sensitive emulator changing names and labels when in Alpha mode, and in Greek mode.
DONE. 623. Find place for IP, >DP and >SP in menu. Temporarily placed into HOME. Changed both >SP and IP to << and >> see below.

DONE. 702. STAT menu: it makes more sense to have both E+ and E- on a primary FN1 and FN2. A solution would be to put E+ and E- next to one another on primary FN keys. Tried this. Changed back to original layout where E- is on f[E+].

DONE. Added CC, CC1 and COMPLEX. CC is original 43S complex entry. CC1 is CC without X & Y resister complex entry. COMPLEX is register only (42S style). Tested. CC1 was found not useful. As default, CC replaces in USER mode on E+ (top left). Strict HP42S style complex entry using the default COMPLEX.

DONE. Added D% to the FIN menu

DONE. Added a function (currently on USER key) [>>] which does automatic type conversion (UP SCALE):
if Angle mode: change to SP or DP as applicable using .d.
If SHORTINT: change to SP
if SP: change to DP
if DP: change to LONGINT
if ComplexSP change to ComplexDP

DONE. Added a function (currently on USER key) [<<] which does automatic type conversion (DOWN SCALE):
if Angle mode: change to SP or DP, as applicable using .d
If LONGINT: change to DP
if DP: change to SP
if SP: change to ShortInt
if ComplexDP change to ComplexSP

DONE. Assigned USER keys: E+: CC f[E+]: << g[E+]: >>
DONE. Copy X, Stack, Screen image and All registers to clipboard.
DONE. Fixed 43C emulator keyboard support to include conventional CTRL commands do do copy to clipboard.
DONE. Fixed GTK Mac clipboard reliability issue.
DONE: Pauli chimed in and fixed a fairly complex issue on Complex numbers, originating from the WP34S legacy, where he also fixed the bug there.
DONE: Martin started to implement more and more math functions on the 43S, which of course get transferred to the 43C as soon as they are done: FLOOR, CEIL,
DONE: Added setting options for the BASE HOME menu and BASE MyMENU. Flag are added but the code aint done.

Most important DONE: This usability modification is the Shift x 3 HOME screen activation. HOME screen activation now only happens if 3 x shifts within 0.6 seconds is detected. After 0.6 seconds elapsed, detection will restart at any time, before or after the 4 seconds shift time-out. Once HOME is detected, the shift status is cancelled.

Most important TODO: Integrate the BASE menu concept. Setting options are done, but the code not. To sort out the integration of the HOME menu screen, MyMenu, with the original WP43S button menus. I need to review the integration of the soft menu tree with the button menu which mostly kills the softmenu stack when executed. This needs to change as it really upsets the logical and effective flow of menus, i.e. the return to the correct prior menu. I am sure this need collaborative effort on this forum.

Some perspective: I consider both of these items most important, because both of these speak to the core of the limitations that we have in the 43C. It is our choice to have this layout and a SINGLE shift key. It is VERY important to think and re-think, and smooth out what is required to operate this single shift button on a machine with three functions on each button. Also to use the technology of the menu system and the 6 FN keys, including the benefits of HOME, to navigate more easily, NOT more complexly, to get to a level of smooth usability that we need.



Guenther's WP43C talk at HHC: https://www.youtube.com/watch?v=s5GN1Jz3RpA

My demo video of the WP43C: https://youtu.be/ty1Oz91Xw1Y

WP43C emulator showing the default USER mode buttons:
Image

WP43C Layout1A emulator layout, including the clipboard control:
Image
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
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

We have some WP43C work that can be tested and commented on:

New emulator http://www.cocoon-creations.com/downloa ... -10-14.zip

New DM42 image http://cocoon-creations.com/download/43C_16L2.pgm

The WP43S will provide functionality to re-assign keys in USER mode using the ASN command. This is not yet ready and according to the Gitlab site the 43S dev team is currently working on the CATALOG function. CATALOG, in my opinion, is essential for assigning a function to a key of choice. So it is coming.

ASN & USER will allow customisation of keys with arbitrary functions. In preparation for this functionality we investigated USER mode and identified and implemented draft functions that can already be useful:

USER MODE KEY ASSIGNMENT

WP43S will have an ASN command to allocate any function to almost any key on the keyboard. The first need we saw in addition to this was to have pre-set groups of keys for different applications, eg. WP43S key “packs” for various use cases. The cases currently identified were put onto a WP43C softmenu that is currently on the f[ASN] menu:
s0.png
s0.png (719 Bytes) Viewed 5131 times
f[ASN] menu


The WP43C has the f[ASM] menu for USER mode key setup as below (“U” for USER mode in each case). The “packs” work like key bundles, assigning groups of USER mode keys: The 4 “packs” defined at the moment are in draft form, and sensible suggestions for more combinations will be considered:

Σ+ CC: CC on [Σ+], << on f[Σ+], >> on g[Σ+]
NORMAL mode [Σ+] is reset to Σ+.

ENTER^ CC: CC on g[ENTER], [Σ+] is left unchanged, << on f[Σ+], >> on g[Σ+]
NORMAL mode [Σ+] is set to MyMENU

SHIFT: TRIG on [SIN], f on [COS], g on [TAN], USER on f[SIN], RTN on g[SIN], USER on [Σ+]
f[Σ+] and g[Σ+] are left unchanged.
NORMAL mode [Σ+] is set to USER

RESET: Cancel ALL previous USER mode settings and
NORMAL mode [Σ+] is reset to Σ+.

FN.ASN: FN.ASN is a temporary function to assign a keyboard function to keys.
This will will be removed once the 43S ASN function supercedes it.
FN.ASN works by first asking for a function to be pressed on the keyboard, then asks for the key to be re-assigned. It is effective, but only useful for current keyboard function, i.e. it is only re-arranging the keyboard, not adding functions.
  • CC: The CC function is from the original WP43S, and does either interactive complex number entry or converts the X and Y registers to a complex number in X. The COMPLEX functionality on the WP43C does only the register conversion as per HP42S, hence the need to have CC available.
  • << and >>: Data type modifier keys, to easily change between:
    SHORTINT >> SP; SP >> DP; DP >> LONGINT
    DP << LONGINT; SP << DP; Shortint << SP
  • TRIG: is the WP43S TRI menu
  • SHIFTS: The WP43C is operated by the single shift key as opposed to the straight forward separate f and g keys on the WP43S. The effective double tap scheme was devised, but we thought of another option using USER keys, i.e. to provide a f and g key as USER mode keys on the SIN, COS & TAN buttons, functioning much like the shifts on the WP43S.
    6 f g keys.png
    6 f g keys.png (3.74 KiB) Viewed 5131 times
NORMAL MODE E+ KEY ASSIGNMENT

In addition to the USER mode keys which are functional only in USER mode when the U is lit top right of the screen, we identified that a normal key should be available for re-assignment without the need to first go into USER mode.
On the DM42 the key I have long been targeting for the Σ+ for custom purposes, as this is the key that I have never used on both my HP42S and DM42. Furthermore, the STAT menu was recently thoroughly discussed on this forum, and it suffices to say on the WP43C there is a softmenu containing Σ+ and many more useful stats keys, so the Σ+ key can be optionally used for better purposes.
We introduced assignment of the NORMAL MODE Σ+ key for six settable options using the following softmenu accessed by f[ASN] g[FN1]:

The re-assignments possible are:
  • s1.png
    s1.png (1007 Bytes) Viewed 5131 times
  • Σ+: To restore the original Σ+ function
  • USER, PRGM, ALPHA: To be able to effortlessly go to USER mode without a shift key
  • CC: WP43S CC command not on 43C keyboard
  • MyMENU: Non-shifted key for the future custom menu
The assignment status of the six options can be requested by a program using the appropriate question key. Integer 1 will appear on the stack if the key is selected, otherwise 0.


Ass additional information, a quick graphical overview is on this draft PDF page, but note that the menus of these images are slightly outdated. The concepts are well illustrated though. http://cocoon-creations.com/download/20 ... _draft.pdf
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
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

Update time again.

The emulator, courtesy of Dani: http://www.cocoon-creations.com/downloa ... -10-27.zip.

The DM42 image which I made: http://www.cocoon-creations.com/download/43C_17L2.pgm.

Biggest improvements the last two weeks were
  • fine tuning of the assign and user mode. I fiddled with these ones.
  • the addition of "radio button" method of indicating which options are selected. That is also courtesy Dani.
  • the introduction of a choice of Longint or SP Real or DP Real input of numbers into the 43C.
The Display Mode screen below
  • illustrates the "radio button" showing display mode SIGFIG, (SIGFIG 4 was selected) and it is clear to see the number of digits stay 4+1, regardless of the position of the decimal point.
Clipboard05.png
Clipboard05.png (3.17 KiB) Viewed 4922 times

In the standard MODE menu below,
  • the selections are DEG, RECT, DENANY, SSIZE8 (Stack size 8) and CPXRES (complex result) which are my standard selections:
Clipboard06.png
Clipboard06.png (1.79 KiB) Viewed 4922 times
- Both DEG and RECT can be deduced from the icons in the top line. That is good to have a look while you operate, but I find it easier when selecting the new option, that the status is clear at the button.
- It is also clear that when the text is too long, the radio button clashes with the text. We are still thinking what to do about that.


In the image below, the MODE options for input number type are shown.
  • The first one "In Dft" (Input Default), is exactly like the 43S, i.e. integers typed register as type LONGINT (with no adherence to FIX/SCI/ENG/SIGFIG/UNITS display modes), unless a decimal is typed in which case it inputs as Real, SP.
  • The second button "In SP" (Input Single Precision) when selected, inputs all numbers whether integer or not, as single precision REAL SP.
  • The third button "In DP" (Input Double Precision) when selected, inputs all numbers whether integer or not, as double precision REAL DP.
Clipboard07.png
Clipboard07.png (2.48 KiB) Viewed 4922 times
- The numbers on the stack were entered by first selecting the appropriate button (for this demo), i.e. X contains a DP Real (look at the decimal dot revealing DP), Y contains a SP Real (normal dot decimal) and Z and T contain Longint integers.
- Note the fourth button is a query which puts on the stack 0, 1, 2 which would indicate to a program which mode is selected. This could be handy in forcing types.
- The option names still come across a bit cryptic - but there are only 6 character spaces ... Any ideas?

*edit: corrected DP typo above.
Last edited by Jaymos on Mon Oct 28, 2019 9:21 am, edited 1 time in total.
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
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 28, 2019 12:37 am
- The option names still come across a bit cryptic - but there are only 6 character spaces ... Any ideas?
Please remember there is a wide variety of space characters. Some pixel work may pay.:)

BTW, a comprehensive text about your user interface would ease the path for potential users of your WP34C. Easier than reading some 580 posts at least. Just my personal opinion though.
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 »

Walter wrote:
Mon Oct 28, 2019 9:01 am
Some pixel work may pay.:)

BTW, a comprehensive text about your user interface would ease the path for potential users of your WP34C. Easier than reading some 580 posts at least. Just my personal opinion though.
Thank you Walter, I will have a look on the spacing.
I’ve also thought about underlining, as that takes up 2 vertical pixels only.

There is a document of differences linked on p1 of this thread that I will update. The last update was in the beginning of September and a lot was added since. It is on the todo list to update.

http://cocoon-creations.com/download/WP ... s_v042.pdf
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
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

Jaymos wrote:
Mon Oct 28, 2019 9:45 am
Walter wrote:
Mon Oct 28, 2019 9:01 am
Some pixel work may pay.:)
Walter's suggestion pixel playing paid off. I fixed the pixel spacing and Dani completed the radio buttons and added check boxes as well.

The underlining idea did not work on the DM42, but the compressing of the words did work and saved some pixels to make space for the radio buttons on the sides.

Clipboard09.png
Clipboard09.png (3.02 KiB) Viewed 4793 times
In this screen, UNITS 3 is selected.

Dani also added some tick boxes for settings that are simply on or off:

Clipboard10.png
Clipboard10.png (3.67 KiB) Viewed 4793 times
In this screen eRPN is shown "on" in a check box, while "In DP" is selected as a radio button to make number input Double Precision.

Another example of radio button selection:
Clipboard11.png
Clipboard11.png (832 Bytes) Viewed 4793 times
In this case, the 6 options for the custom assignment of the E+ button of the DM42 makes use of radio buttons. This assignment is in the normal mode, i.e. NOT the USER mode. The reason for changing a single key in normal mode is that E+ is so seldomly used, that more useful functions can be selected to be on this button.

FN1: USER is place on the E+ button, so this is an easy change to the full set of USER key changes and back to standard mode.
FN2: Standard E+ operation |(currently selected).
FN3: The standard 43S CC complex entry and breakup key
FN4: PRGM is in place of the E+ button
FN5: MyMENU, the future custom menu is called up with the E+ button.
FN6: Alpha mode is started using this E+ button.
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
Jaymos
Posts: 1635
Joined: Sun Nov 04, 2018 7:03 pm
Location: Cape Town

Re: 43S Alternative key layout --> WP43C

Post by Jaymos »

I forgot to link the emulator and DM42 image of the latest version, commit 04c04a42 of 30 Oct 2019.

Both the Windows Emu and the DM42 image are in the zip file: http://cocoon-creations.com/download/WP ... -10-30.zip

Remember to do a WP43C RESET from the keyboard otherwise the options may have strange values. [f][CLEAR][g][RESET].
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
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 28, 2019 9:45 am
Walter wrote:
Mon Oct 28, 2019 9:01 am
BTW, a comprehensive text about your user interface would ease the path for potential users of your WP34C. Easier than reading some 580 posts at least. Just my personal opinion though.
There is a document of differences linked on p1 of this thread that I will update. The last update was in the beginning of September and a lot was added since. It is on the todo list to update.
Apparently not. You (pl.) have lots of ideas but I miss a comprehensive document covering your (pl.) overall concept. And I think I am not the only person. Please take your (pl.) time and explain it to us. I am confident this investment will pay.

(Did I mention that I love the English language for its ambiguity?)
WP43 SN00000, 34S, and 31S for obvious reasons; HP-35, 45, ..., 35S, 15CE, DM16L S/N# 00093, DM42β SN:00041
Post Reply