The Free42 FAQ

This FAQ was last updated on September 30, 2016.

Contents

Why does my HP-42S program not work properly in Free42?
Why can't the Android version print / export to the SD card?
Why does the Android version want permission to access the GPS?
How can I turn off the key click sound?
Why does OFF not work in the iOS version?

Why does my HP-42S program not work properly in Free42?

There are several potential reasons why an HP-42S program might not work correctly in Free42. To get the most obvious out of the way first: make sure to check that you entered the program correctly, and that the relevant settings, such as register size, angular and display modes, etc., are all correct.

Having ruled out human error, the reasons an HP-42S program may not work correctly in Free42 are:

Why can't the Android version print / export to the SD card?

Under Android 4.4 (KitKat) and later, apps are no longer allowed to write freely to just any location on the SD card.

Apps are still allowed to write to a specific directory, dedicated to just that app. These app-specific directories are named Android/data/<app-id>. In order to allow Free42 to write to your SD card, you should create a directory named Android/data/com.thomasokken.free42 on the SD card. Free42 will be able to write to this directory.

Why does the Android version want permission to access the GPS?

Free42 for Android and iOS have ACCEL, LOCAT, and HEADING functions, for querying the devices' accelerometer, GPS, and compass, respectively. You can use these interactively or in programs.

These functions have existed for quite some time, but in releases prior to 1.4.78, LOCAT in the Android version didn't work, because the app didn't have permission to access the GPS. Someone brought this to my attention, and I released 1.4.78 for Android to fix this bug. So now LOCAT works, but whether you ever use it or not, you will have to grant permission to access the GPS -- that's the all-or-nothing Android permissions model, unfortunately.

Free42 does not query your GPS and then send that data somewhere behind your back. If you don't use the LOCAT function, Free42 won't touch the GPS, and when you do use LOCAT, the GPS coordinates are placed in the calculator's stack registers, nowhere else.

The LOCAT function, and all the other functions that Free42 has that aren't HP-42S functions, are documented on this page: http://thomasokken.com/free42/extensions.html.

How can I turn off the key click sound?

In the Android version, press the menu button to bring up the main menu (on newer devices that lack a dedicated menu button, there may be a three-dot symbol in the lower right corner of the screen, or else try pressing and holding the task switch button); from the menu, select Preferences. Use Enable Key Clicks and Enable Key Vibration to turn on or off the click sound and haptic feedback, then press OK.

The iOS version does not yet have Enable Key Clicks and Enable Key Vibration settings in its Preferences screen, but you can turn off key clicks by setting the calculator to Quiet mode: QUIET: [Shift] [+/-] [▼] [1/x], or CF 26: [Shift] [6] [1/x] [2] [6]. Note, however, that this turns off all sounds, i.e. the TONE and BEEP functions, and the short beep when you press an incorrect key; controlling key clicks separately from the sounds generated by the calculator is not yet possible.

Why does OFF not work in the iOS version?

Apple's User Interface guidelines for iOS specify that apps should not have commands for exiting the app; exiting should only take place at the operating system's request, which in turn will only happen when the user presses the home button or uses the task switcher. Thus, the Free42 OFF command causing the app to exit was a violation of those guidelines.

For the longest time, Apple didn't seem to mind, but when I submitted 1.4.75a, it was rejected because of this issue. I had no choice but to comply, and so now, OFF just beeps, and OFF in a program causes the program to stop.

For people who liked and used the original OFF functionality, I added a back door to re-enable that behavior. Follow these steps:

Enter ALPHA mode: [Shift] [ENTER]
Type YESOFF using the ALPHA menu: [XEQ] [√x] [Σ+] [LN] [LN] [1/x] [LOG] [1/x] [1/x] [Σ+] [1/x] [Σ+]
Store the text in the X register using ASTO ST X: [STO] [.] [√x]
Perform OFF: [Shift] [EXIT]

With the string YESOFF in the X register, OFF works again. You only have to do this once; executing OFF this way sets a hidden flag telling Free42 to always perform the old-style OFF behavior from then on, regardless of the contents of the X register.

If you ever uninstall and reinstall Free42, you will have to repeat the procedure. You will not have to repeat the procedure when you get updates.

Go back.