Post Reply 
Thoughts on User Mode
12-17-2017, 08:16 PM
Post: #1
Thoughts on User Mode
First, a short back story. I've been attempting to make the HP Prime my primary calculator for regular use, simple calculations mostly with some conversions between units and angular representation, etc. Until now, I was using the 50g in RPN mode quite efficiently for all of these requirements and I know there have been multiple posts about RPN mode limitations on the Prime already, but I'm re-opening this topic to come up with some possible suggestions on how to make this easier for myself, and of course many other potential users.

A. The User Keyboard appears to be a good candidate for customizing the calculator behaviour and implementing some handy functionality to be easily accessible. The problem is that the user can't do much in there and in my opinion expanding some of the basics would open many doors in this area. So how can this be done? I think two components are required.
  1. Making the command/edit line accessible through PPL similar to System RPL commands such as:
    • EditLExists? - Flag indicating wheter an EditLine exists
    • RCL_CMD - Returns a copy of the current EditLine
    • DEL_CMD - Clears EditLine
    • CMD_PLUS - Inserts string into EditLine
    How would this be useful? A user key assignment could check if an edit line exists, if yes then perform some parsing and return some derived value, which could be a unit conversion, or anything really. If no edit line, then examine the stack history with Ans(x).
  2. Make it possible to not just read Ans(x) history, but also write in order to delete, insert or append the stack. I know some will argue this is dangerous, but I would counter that this should be "user beware". One way to possibly keep a lid on the potential problems would be to limit deleting or adding only to the Level 1, which would make it easy for the system to protect against complex scenarios that may corrupt things. Probably even just two new commands here would do it:
    • DelAns1() - No argument, delete the last entry (Level 1) of the history, or do nothing if depth is zero, update screen, etc.
    • AppendAns(value) - Some value as argument, inserts into Level 1, update screen, etc.


B. Similar to how User key definitions are declared, a User Menu definition that would basically just be a label for the menu key, and pretty much identical "key" definition for the action. The Home view has no menu anyways, so a custom menu definition would be displayed if User Mode is set and such a definition is declared. Example code with proposed flag as described above:
Code:
// assign function to menu position 1
SOFTKEY M_1("Label")
BEGIN
  IF EditLExists? THEN
    // code to parse and handle command line
  ELSE
    // code to work with stack history
  END;
END;

For me, these suggestions would make this calculator far more interesting to use and customize, and because they are tucked into the User Mode, they wouldn't get in the way for those who don't want it or need it.

Thoughts? Good or bad ideas?
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
Thoughts on User Mode - Jacob Wall - 12-17-2017 08:16 PM
RE: Thoughts on User Mode - salvomic - 12-18-2017, 04:38 PM
RE: Thoughts on User Mode - David Hayden - 12-18-2017, 05:00 PM
RE: Thoughts on User Mode - Jacob Wall - 12-20-2017, 02:59 AM
RE: Thoughts on User Mode - StephenG1CMZ - 02-16-2018, 11:07 PM
RE: Thoughts on User Mode - Gene222 - 02-25-2018, 05:50 PM
RE: Thoughts on User Mode - Eddie W. Shore - 02-20-2018, 01:27 PM
RE: Thoughts on User Mode - primer - 12-18-2017, 10:33 PM
RE: Thoughts on User Mode - Jacob Wall - 12-20-2017, 03:02 AM
RE: Thoughts on User Mode - Tim Wessman - 12-20-2017, 01:30 AM
RE: Thoughts on User Mode - Jacob Wall - 12-20-2017, 03:04 AM
RE: Thoughts on User Mode - Carlos295pz - 12-21-2017, 12:59 AM
RE: Thoughts on User Mode - Giancarlo - 12-21-2017, 08:27 AM
RE: Thoughts on User Mode - primer - 12-21-2017, 08:29 PM



User(s) browsing this thread: 1 Guest(s)