HP Forums

Full Version: Plus42 Equations, Preview Release
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
(05-01-2022 07:31 PM)Thomas Okken Wrote: [ -> ]Swiping sideways to switch between calculator and print-out, and n-key rollover for reliable fast typing. I couldn't get those to work right on Android and ended up giving up on them. Also, Copy Print-Out as Image, couldn't get that to work because Android doesn't seem to support images on the clipboard. And finally, proper file extension mapping, and general polish.

Nothing major, but still, it bugs me a bit that it always seems to be harder to accomplish things on Android, and sometimes just too arcane or just flat-out impossible. Such is life, I guess.

Thank you! My pleasure. Smile

Slide-over views are a classic iOS UX pattern and perfect for the print view on Plus42. Thanks for highlighting this as I probably would have missed it. But what's n-key typing? Is this similar to my request for a proper alpha keyboard?
(05-02-2022 09:49 AM)jonmoore Wrote: [ -> ]Slide-over views are a classic iOS UX pattern and perfect for the print view on Plus42. Thanks for highlighting this as I probably would have missed it.

What the iOS version does with sliding sideways is not the same thing as Slide Over on the iPad, I think, and there's also Split View. I think I'll get those features essentially for free when I turn on iPad targeting in the Xcode project settings, but there are some issues having to do with the Free42/Plus42 views are managed. In a nutshell, the UI structure in my apps is not the way iOS apps are really supposed to be structured (Free42 is my first iOS app, I didn't know any better...), and while I have been able to get away with that on the various iPhones and iPod touches, it starts to cause real problems when trying to support the iPad properly. So, there is some work to be done there.

(05-02-2022 09:49 AM)jonmoore Wrote: [ -> ]But what's n-key typing? Is this similar to my request for a proper alpha keyboard?

Rollover refers to the behavior of electronic keyboards that allow multiple keys to be down at the same time. As in: press A, press B, release A, release B: in that sequence of key events, you want both A and B to be recognized as typed characters, even though B was pressed before A was released. Without this, you start to get dropped or out-of-order key events when users are typing quickly.

The n in n-key rollover means that the keyboard will allow pressing arbitrarily many keys without dropping keystrokes. Early keyboards sometimes had only 2-key rollover, or no rollover at all. And in Free42 for Android and iOS, I tried to implement n-key rollover for the touchscreen. I got it to work in the iOS version, but in the Android version, it was a disaster.

So, no, not related to proper alpha keyboards. (Which is another feature that has turned out to be a lot easier on iOS than Android, but I digress.)
@Thomas - Split-view would be very welcome on larger format iPads such as the iPad Pro. And this would be something of a first for a classic calculator emulation. At the moment I use PCalc in RPN mode if I want a split-view calculator alongside e.g. Desmos (the graphing calculator), or OneNote (great for taking handwritten notes alongside your calculations).

Most definitely looking forward to Plus42 gaining split-view capabilities alongside a proper alpha entry mode. With luck, Plus42 will bring in enough coin that you'll be able to evolve Plus42 over time, without your efforts being a complete sacrifice of time. Smile
Sort of Off Topic but I think still worth mentioning for iOS learning is a class that Stanford has cs193p. They release videos of the classes on YouTube. The Instructor, Paul Hegarty is fantastic IMHO.

Might be basic for someone that has done a lot of iOS programming but it covers the latest design models and shows best practices for using Xcode to build apps.

Not sure if he did split view in the latest class online (Spring 2021) but I know he has done it in the past.

Latest info Here:
https://cs193p.sites.stanford.edu/

YouTube Playlist of the latest lectures here:
https://www.youtube.com/playlist?list=PL...-dQYoC3VVu
(05-02-2022 03:21 PM)ndzied1 Wrote: [ -> ]Sort of Off Topic but I think still worth mentioning for iOS learning is a class that Stanford has cs193p. They release videos of the classes on YouTube. The Instructor, Paul Hegarty is fantastic IMHO.

Might be basic for someone that has done a lot of iOS programming but it covers the latest design models and shows best practices for using Xcode to build apps.

Thanks for the tip! I kind of stumbled into iOS development back in 2008, and while I have always managed to get things to work the way I wanted to, I have never really managed to shake that impostor-syndrome feeling that I don't actually know what I'm doing. So watching a course, even one for beginners, might not be the worst idea. Smile
Regarding that open Stanford course, it's great to see that it's centred on Swift. There are still a ton of online tutorials dealing with Ojective-C iOS development. This was fine whilst Swift was an immature language but I think the tipping point has been reached where Swift is robust enough for many use cases. And much as the course is pitched as entry-level it's still 20+ hours of lecture time, which when coupled with decent reference literature will add up to a decent amount of learning material.

But much like you only learn math by doing math, I reckon you'll be best served if you actually create the projects the lectures teach. Unless you're fortunate enough to have a photographic memory, watching videos alone has scant pedagogical value.
It was pointed out to me that Free42 3.0.11 for Windows is a lot slower than 3.0.10 when running display-intensive programs.

This is because of how the display is drawn on the screen: 3.0.10 did this using GDI, BitBlt() to be precise, but 3.0.11 uses GDI+, in order to support non-integral display scales. And the GDI+ bitmap render apparently takes twice as long.

There is actually a deeper issue with Free42 and Plus42 for Windows: they paint the display immediately, whenever the core updates it. This is really inefficient, because the human eye can't keep up with that kind of frame rate anyway, and it makes more sense to put a limit on the number of repaint operations per second, and allow program execution to hog the CPU the rest of the time. Which is what the Android, iOS, and MacOS versions do as well.

I made this change in Free42 and verified that, instead of being 2x slower than 3.0.10, it is now 5x faster, despite still using GDI+.

The improved display update code for Windows will be in Free42 3.0.12 and Plus42 1.0.1. In addition, I uploaded Plus42 test builds here.

It looks like the Linux version may benefit from this type of surgery as well. I'll look into that tomorrow.
(05-04-2022 06:03 PM)Thomas Okken Wrote: [ -> ]The improved display update code for Windows will be in Free42 3.0.12 and Plus42 1.0.1. In addition, I uploaded Plus42 test builds here.
It seems to me that it works great!
Beautifully done.


Thanks for the IOS version which is worth more than the 10CHF I paid with great pleasure.

Pierre
(05-04-2022 06:03 PM)Thomas Okken Wrote: [ -> ]The improved display update code for Windows will be in Free42 3.0.12 and Plus42 1.0.1. [...]

It looks like the Linux version may benefit from this type of surgery as well. I'll look into that tomorrow.

I made the change in the Linux version, and it did indeed get a lot faster as well, running display-intensive programs.

I released interim versions with these changes: Free42 3.0.11a and Plus42 1.0a. They are on my web site now.
(04-21-2022 10:50 PM)Thomas Okken Wrote: [ -> ]
(04-21-2022 08:52 PM)tgray Wrote: [ -> ]- is there a beta I could try for iOS yet?

If you send me an email with your phone's UDID, I'll add you to the ad hoc profile so you can install the betas. (You can use https://udid.tech/ to get the UDID without connecting the phone to a computer.)

(04-21-2022 08:52 PM)tgray Wrote: [ -> ]- any chance of this ever making it to a Swiss micros hardware unit?

I'm not aware of any such plans.

No worries. I saw it was for sale now in the App Store so I just bought it. I see that it needs an extra row of keys so probably won’t be compatible with the DM42 keypad.

Looking forward to using this more - it looks like it adds the two killer features I always wanted with the equation solver and units. Thanks!
(05-06-2022 01:29 PM)tgray Wrote: [ -> ]I see that it needs an extra row of keys so probably won’t be compatible with the DM42 keypad.

But the functions on the 2nd extra keys can be used from the menu, not? Just as when using an old skin with Plus42. The row of blank keys is already there on the DM42.
Quite possible it could work with only 8 rows of keys. I was just commenting that my DM42 has 8 rows while the iOS app has 9. I’d love to have a hardware version too, so hopefully SM pursues the option.
It could indeed work with 8 rows, or even with 7. You can try it out by loading any Free42 skin with the standard HP-42S layout, if you're curious about the 7-row experience, or try the DM42 skin to see what it's like with 8 rows.

Also: https://www.hpmuseum.org/forum/thread-17...#pid159478

With the added note that the PLOT issue has been fixed; the PLOT menu can now be reached using XEQ "PLOT.M".
I'm a bit confused about directories in Plus42. Can I do the following?

- Make a directory
- Store some programs in the directory
- Stay in the HOME directory
- Assign one of the programs in the subdirectory to a custom key so I can run that program (shift-custom -> assigned key) while in the top level directory

I know I can do the first three steps, but I'm unsure of the last one. Reading about the program references, I think it might be possible, but I'm not quite sure. Any ideas?
Yes, that is possible.

Since the programs aren't in the default search path – which is the current directory and its ancestors all the way to HOME – you'll have to create a PATH list in HOME. Here's how to do that:

1. Create a reference to the directory containing the programs you want to run. There are two ways to do that: CHDIR into the directory itself, and press [Shift] [..], or CHDIR into its parent, and press [Shift] [DirectoryName].
2. Use UPDIR or HOME to go to the HOME directory.
3. If PATH already exists, add the new directory reference to it: RCL "PATH" X<>Y APPEND STO "PATH", or else create a new one: NEWLIST X<>Y APPEND STO "PATH".

Now you'll be able to run all the programs in the referenced directory using XEQ, or using the CUSTOM menu, regardless of which directory you're in.

(Note that UPDIR is [..] in the DIR menu, and APPEND is mapped to the [+] key when there is a list or a string in the Y register.)

If you want to add directories to an existing PATH, you can streamline the process a bit by doing RCL "PATH" before creating the reference: if you create a reference while there is a list in the X register, the reference is automatically added to the list. Also, if you create a reference while there is a reference in the X register, the two will be combined into a list. Thus, you can assemble a list of directory references with only a few keystrokes. Once the list is complete, go back to HOME and do STO "PATH" and you're done.
Note that you don't use program references for this: PATH is a list of directory references only. If you add objects that aren't directory references to PATH, nothing bad will happen, but they will be ignored.

Program and variable references are used only for copying and moving things between directories. (Directory references can be used for that, too, so you can move or copy entire directories all at once.)

https://thomasokken.com/plus42/#directories
I am a big fan of Free42, and now Plus42. I also purchased the DM42.

I am glad that you charged for the Plus42 app, as I want to see you rewarded for your efforts.

My biggest wish, like many others, is that Plus42 finds its way onto the DM42 hardware someday. But until then, I will use it on my iphone.

I have a question regarding TVM. Perhaps I am simply using this incorrectly. Please try this:

1. Open TVM menu
2. Key in 12 for N
3. Key in 0 for I%YR
4. Key in -10000 for PV
5. Key in 1000 for PMT
6. Press FV.

I expect to see 2000, but instead I see -2000. It seems (to me) like the sign is not handled properly once the balance changes sign.

If I try the same thing in the AMRT table, I see what I expect.

Perhaps I am looking at this the wrong way. Let me know.

Again, I am a huge fan.
Ahhh thank you. I would not have figured this out. I need to read through the new functions more.

I hacked together a theme but am still struggling through the expandable display a bit. I’ll try to share when finished.
Hi Thomas, first of all congratulations on your achievement and very happy to purchase Plus42 to support your efforts on this and Free42.
  • Overall enjoying it so far but the extra rows of buttons makes it a bit less desirable to use on a smaller screen as the buttons are even smaller. Very much looking forward to an iPad app when you get around to it.
  • I can't seem to pinpoint but I'm definitely have some stability issues with the application just crashing out at certain circumstances (will try to report if repeatable)
  • I did notice that there is now the ability to exit the app with "OFF" which is off by default for Plus42 ... In the documentation not sure why this is highlighted under the Plot Viewer.
  • Am I nuts or does it seem to provide the opposite sign? For example the integral for Y=X^2, with LLIM=0 and ULIM=1 I'm getting -0.3333 ... In my experimentation I was also getting some weird results with integrals but perhaps that was on me.

Kind regards,
S
(05-07-2022 10:40 PM)TeamTricky Wrote: [ -> ]I have a question regarding TVM. Perhaps I am simply using this incorrectly. Please try this:

1. Open TVM menu
2. Key in 12 for N
3. Key in 0 for I%YR
4. Key in -10000 for PV
5. Key in 1000 for PMT
6. Press FV.

I expect to see 2000, but instead I see -2000. It seems (to me) like the sign is not handled properly once the balance changes sign.

That is the correct result.

The sign indicates which way the payment is going. Let's say negative means money you pay, while positive means money you receive. (You could do it the other way around. Either choice is fine, as long as it's applied consistently.)

So in this case, you start by paying 10,000, so it looks like you're lending money to someone else. Next, you receive 12 payments of 1,000 each. So now you've actually been repaid more than you lent out, so you end up owing, and the future value, which is the final payment, is -2000, because you have to pay what you've been overpaid.

(05-07-2022 10:40 PM)TeamTricky Wrote: [ -> ]If I try the same thing in the AMRT table, I see what I expect.

That's because the AMRT table shows the balance, which is the opposite of the future value. That is, it represents the unpaid part of the loan, while FV represents the final payment. Thus, BAL represents a payment to the borrower, while FV represents a payment to the lender, so the quantities have the same magnitude but opposite signs.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Reference URL's