doc: Add videos and pictures to quickstart guide

Add some quick videos and screen snapshots to the quickstart guide.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
This commit is contained in:
Christophe de Dinechin 2024-02-29 22:15:51 +01:00
parent 14708167f7
commit 3db955b2ab
28 changed files with 345 additions and 33 deletions

View file

@ -164,6 +164,9 @@ help/$(TARGET).md: $(wildcard doc/*.md doc/calc-help/*.md doc/commands/*.md)
sed -e 's/DB48X/$(PRODUCT_NAME)/g' \ sed -e 's/DB48X/$(PRODUCT_NAME)/g' \
-e 's/DM42/$(PRODUCT_MACHINE)/g' > $@ -e 's/DM42/$(PRODUCT_MACHINE)/g' > $@
cp doc/*.png help/ cp doc/*.png help/
mkdir -p help/img
rsync -av --delete doc/img/*.png help/img/
check-ids: help/$(TARGET).md check-ids: help/$(TARGET).md
@for I in $$(cpp -xc++ -D'ID(n)=n' src/ids.tbl | \ @for I in $$(cpp -xc++ -D'ID(n)=n' src/ids.tbl | \
sed -e 's/##//g' | sed -e 's/^#.*//g'); \ sed -e 's/##//g' | sed -e 's/^#.*//g'); \

View file

@ -1,10 +1,30 @@
# Quickstart guide # Quickstart guide
This quickstart guide will rapidly give you an overview of the capabilities of This quickstart guide will rapidly give you an overview of the capabilities of
DB48X, and show you how to use it efficiently. DB48X, and show you how to use it efficiently. Make sure that you have
[installed the latest version](#installation).
[![Installation process](https://img.youtube.com/vi/rVWy4N0lBOI/maxresdefault.jpg)](https://www.youtube.com/watch?v=rVWy4N0lBOI&list=PLz1qkflzABy-Cs1R07zGB8A9K5Yjolmlf) The _ON_ / _EXIT_ button is at the bottom left of the calculator. It can be used
to power the calculator on, but also to exit operations, for example aborting a
data entry.
DB48X is a RPL calculator, which means that:
* It inherits the stack-based "reverse polish" approach to operations that has
been a central feature of practically all Hewlett-Packard scientific
calculators since the HP-35. You enter arguments to a functions by pushing
them on the stack, and the operation removes its arguments from the stack
before putting its result(s). Unlike earlier HP calculators, the RPL stack is
practically unlimited.
![Stack and menus](img/stack-and-menus.png)
* Unlike simpler calculators, it uses a _command line_ for data entry, with
advanced text editing capabilities, and a rich text-based command
language. One way to access the hundreds of available commands is by simply
typing their name.
![Command-line and catalog](img/command-line-and-catalog.png)
## Arithmetic operations ## Arithmetic operations
@ -17,6 +37,8 @@ _._, _5_, _ENTER_, _2_, _._, _8_, _×_, _+_. The result, `59.6`, shows on the
stack. Prior to pressing the _+_ key, the intermediate results for the two stack. Prior to pressing the _+_ key, the intermediate results for the two
multiplications, `49.8` and `9.8`, could be seen on the stack. multiplications, `49.8` and `9.8`, could be seen on the stack.
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/e185f3e8-dd36-4beb-a6c5-03bf489d91a7"></video>
RPL also supports the standard algebraic notation. Begin the computation with RPL also supports the standard algebraic notation. Begin the computation with
the _'()_ key. The editor contains quotes, `''` with the cursor between the _'()_ key. The editor contains quotes, `''` with the cursor between
them. The cursor shows the latter `A`, indicating algebraic entry. Type _6_, them. The cursor shows the latter `A`, indicating algebraic entry. Type _6_,
@ -26,6 +48,8 @@ or `'6×8.3+3.5×2.8'`. Press `ENTER` and the expression shows up on the
stack. Hitting the _=_ / _EVAL_ / _SPC_ key (located between the _._ and _+_ stack. Hitting the _=_ / _EVAL_ / _SPC_ key (located between the _._ and _+_
keys) evaluates the expression, to get the result `59.6`. keys) evaluates the expression, to get the result `59.6`.
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/ba81f9f0-ec4d-4619-bf95-c56c14210fc3"></video>
Algebraic and reverse-polish computations are equivalent, and can be mixed and Algebraic and reverse-polish computations are equivalent, and can be mixed and
matched during computations. Using one or the other is stricly a matter of matched during computations. Using one or the other is stricly a matter of
preference. Algebraic data entry makes it easier to view the entire preference. Algebraic data entry makes it easier to view the entire
@ -39,6 +63,8 @@ in 8 slices. Using the RPL approach, we would type _2_, _2_, _ENTER_, _8_,
_÷_. Using the algebraic notation, we would type _'()_, _2_, _2_, _÷_, _8_, _÷_. Using the algebraic notation, we would type _'()_, _2_, _2_, _÷_, _8_,
_ENTER_ and then use the _=_ to perform the computation. _ENTER_ and then use the _=_ to perform the computation.
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/89ebbf7a-f331-4729-a1b9-1527287daa3e"></video>
With the default settings, you should see a mixed fraction, `2³/₄`. Unlike many With the default settings, you should see a mixed fraction, `2³/₄`. Unlike many
calculators, DB48X by default perform exact computations on fractions instead of calculators, DB48X by default perform exact computations on fractions instead of
using approximate decimal numbers. using approximate decimal numbers.
@ -56,6 +82,8 @@ directly available on the keyboard.
We can compute the length of the diagonal of a rectangle with sides 2m and 3m We can compute the length of the diagonal of a rectangle with sides 2m and 3m
using the Pythagorean theorem, and display it in millimeters. using the Pythagorean theorem, and display it in millimeters.
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/899ad5f3-fd0b-4695-86bb-0b682a191422"></video>
In RPL, we can type the following sequence: _2_, _x²_ (🟨 _C_), _3_, _x²_, In RPL, we can type the following sequence: _2_, _x²_ (🟨 _C_), _3_, _x²_,
_+_, _√x_ (_C_), _1_, _0_, _0_, _0_, _×_. The decimal result, _+_, _√x_ (_C_), _1_, _0_, _0_, _0_, _×_. The decimal result,
`3605.55127546`, is shown on the stack. The digits in the whole part of the `3605.55127546`, is shown on the stack. The digits in the whole part of the
@ -75,6 +103,8 @@ In the algebraic expression, we have multiplied by 1000 first, whereas in the
RPL case, we multiplied by 1000 last. We can also multiply by 1000 last in RPL case, we multiplied by 1000 last. We can also multiply by 1000 last in
algebraic mode. There are at least two ways to do it. algebraic mode. There are at least two ways to do it.
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/88cb7865-87cb-427e-b18b-33086bcbabd5"></video>
A first method is to use the arrow key to exit the parentheses around the A first method is to use the arrow key to exit the parentheses around the
argument of the square root function, as follows: _'()_, _√x_, argument of the square root function, as follows: _'()_, _√x_,
_2_, _x²_, _+_, _3_, _x²_, _▶_, _×_, _1_, _0_, _0_, _0_, _2_, _x²_, _+_, _3_, _x²_, _▶_, _×_, _1_, _0_, _0_, _0_,
@ -99,6 +129,8 @@ like:
* If we need to reach 60 cm above ground, what is the required slope? * If we need to reach 60 cm above ground, what is the required slope?
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/a90b32c4-a903-4421-a768-c6b6b2afddec"></video>
In RPL, can answer the first question by typing _1_, _0_, _SIN_, _5_, In RPL, can answer the first question by typing _1_, _0_, _SIN_, _5_,
_×_. The result is shown in scientific format as `8.68240888335×₁₀⁻¹`. _×_. The result is shown in scientific format as `8.68240888335×₁₀⁻¹`.
In algebraic mode, we would type _'()_, _5_, _×_, _SIN_, _1_, _0_, _ENTER_ In algebraic mode, we would type _'()_, _5_, _×_, _SIN_, _1_, _0_, _ENTER_
@ -124,6 +156,8 @@ The scientific notation may not be the most readable in that case. How do we
display this result with three digits? We will use a *menu* for that. Menus are display this result with three digits? We will use a *menu* for that. Menus are
an essential component of the DB48X user interface. an essential component of the DB48X user interface.
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/be997041-74f9-489b-9583-b94036b9dc33"></video>
Let us type 🟨 _O_ (_Disp_). This shows the `DisplayModesMenu`. The menu Let us type 🟨 _O_ (_Disp_). This shows the `DisplayModesMenu`. The menu
occupies three rows at the bottom of the screen, with six columns. Menus can occupies three rows at the bottom of the screen, with six columns. Menus can
give a quick access to 18 functions directly, six more with a single shift 🟨, give a quick access to 18 functions directly, six more with a single shift 🟨,
@ -152,24 +186,93 @@ hold the corresponding key until the help shows up. For instance, to get
This also works for normal keyboard operations. For instance, if you hold the This also works for normal keyboard operations. For instance, if you hold the
_SIN_ key, you will get the [help about the sine command](#sin). _SIN_ key, you will get the [help about the sine command](#sin).
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/55d312a4-3977-421e-9cdf-65d8b5ff5036"></video>
You should refer to the on-line help whenever you have a question about a
specific command.
## Angle operations
The _sin⁻¹_ command we used previously returns an *angle* which was shown in
degrees, the default angle mode for DB48X. When applied to angles, the `Cycle`
command on the _EEX_ key cycles between various angle units: degrees, radians,
grads and pi-radians, i.e. a number of radians shown as a multiple of π.
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/5d23f388-b034-45cd-9d4d-7685b7f211f0"></video>
The function also alternates between decimal and fractional representations of
angles.
In order to access angle-related functions, we can use the Tools key _⚙_ which
invokes the `ToolsMenu` command. That command picks up a menu that is suited for
the value on the stack. For angles, this shows the `AnglesMenu`, which can be
used to perform angle conversions directly.
We can select the `→Deg` command to convert an angle to degrees by hitting the
🟨 _F1_ key while the `AnglesMenu` is active, and similarly for `→Rad` with
🟨 _F2_, and so on. To convert the angle to a Degrees/Minutes/Seconds (DMS)
representation, we can select the `→DMS` using the 🟦 _F1_ key, since that
function is on the second level of the menu.
There is a quick way to manually enter angles in DMS format by using the _._
more than once during data entry. For example, to enter 10°2030″, you simply
need to type _1_, _0_, _._, _2_, _0_, _._, _3_, _0_, _ENTER_.
On the command-line, this shows up as `10°2030_hms`. Once you hit the _ENTER_
key, this shows on the stack as `10°2030″`.
Using _._ more while on the command-line lets you add fractions of a second, for
example _1_, _0_, _._, _2_, _0_, _._, _3_, _0_, _._, _4_, _0_, _._, _5_, _0_,
_ENTER_, which will show on the stack as `10°2030″4/5`.
You can add or subtract angles directly using normal arithmetic functions. For
example, hitting the _+_ key will add angles, correctly adjusting the angle
units as necessary.
## Complex number operations ## Complex number operations
DB48X support complex numbers both in rectangular and polar (phasor) form.
For example, in our effort to build a plank ramp, we may need more than one
plank. How far and how high can you reach if you have a 5 meter plank with a
slope of 10 degrees, followed by a 3 meters plank with a slope of 30 degrees?
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/a17d5404-ad05-4a4d-8c62-069f327b3428"></video>
We can add two complex numbers in phasor form to answer that question.
In order to enter the complex number representing the first plank, we need the
`ComplexMenu`, which is activated with the _CPLX_ key (🟨 _G_). The _F1_ key
will be used to enter complex numbers in rectangular form, and the _F2_ key to
enter complex numbers in polar form.
To solve our problem, we simply need to enter _CMPLX_ (🟨 _G_), then _5_, _F2_,
_1_, _0_, _ENTER_ to enter the first complex number. The stack shows the complex
value as `5∡10°`. We can enter the second complex number using _3_, _F2_, _3_,
_0_, and add the two values using the _+_ key. The result shows as
`7.522+2.368`, which means that we can reach about 7.5 meters ahead and 2.3
meters above ground.
## Switching between DM42 and DB48X ## Unit conversions
**Checking that the DM42 firmware works with the DB48X QSPI file** If you are living in the United States, having the results in meters might not
be convenient. You can use the DB48X built-in units in order to convert the
result above into feet, yards or inches.
**Running the DB48X program** <video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/1fd54b22-5d1e-42bc-ac3a-2be5770422cf"></video>
**Running the DM42 program** Select the `UnitMenu` with 🟨 _5_. This shows a catalog of unit categories. We
can select the `Length` category using the _F4_ key. In order to indicate that
our result is in meters, we select the `m` unit by hitting _F1_. Our result now
shows as `7.522+2.368m` We can then convert that result in yards by selecting
the `→yd` command with the 🟨 _F2_ key.
**Saving and restoring DM42 state** You can convert to other units in the `Length` units menu the same way. This
menu is too large to fit on the screen, so the _F6_ key can be use to select the
**Saving and restoring DB48X state** next page in the menu with more units, such as `in` or `mm`. Note that DB48X
does not have a `NXT` key unlike HP calculators. Instead, when necessary, the
**Shared state between the two programs** `NXT` and `PREV` features appear in the menu itself as _F6_ and 🟨 _F6_.
## Operations on whole numbers ## Operations on whole numbers

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
doc/img/10-complex.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
doc/img/3-fractions.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
doc/img/4-basic-math.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

BIN
doc/img/7-display-modes.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
doc/img/8-help.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

BIN
doc/img/9-angles.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
doc/img/stack-and-menus.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

@ -934,10 +934,30 @@ programmed solution.
# Quickstart guide # Quickstart guide
This quickstart guide will rapidly give you an overview of the capabilities of This quickstart guide will rapidly give you an overview of the capabilities of
DB48X, and show you how to use it efficiently. DB48X, and show you how to use it efficiently. Make sure that you have
[installed the latest version](#installation).
[![Installation process](https://img.youtube.com/vi/rVWy4N0lBOI/maxresdefault.jpg)](https://www.youtube.com/watch?v=rVWy4N0lBOI&list=PLz1qkflzABy-Cs1R07zGB8A9K5Yjolmlf) The _ON_ / _EXIT_ button is at the bottom left of the calculator. It can be used
to power the calculator on, but also to exit operations, for example aborting a
data entry.
DB48X is a RPL calculator, which means that:
* It inherits the stack-based "reverse polish" approach to operations that has
been a central feature of practically all Hewlett-Packard scientific
calculators since the HP-35. You enter arguments to a functions by pushing
them on the stack, and the operation removes its arguments from the stack
before putting its result(s). Unlike earlier HP calculators, the RPL stack is
practically unlimited.
![Stack and menus](img/stack-and-menus.png)
* Unlike simpler calculators, it uses a _command line_ for data entry, with
advanced text editing capabilities, and a rich text-based command
language. One way to access the hundreds of available commands is by simply
typing their name.
![Command-line and catalog](img/command-line-and-catalog.png)
## Arithmetic operations ## Arithmetic operations
@ -950,6 +970,8 @@ _._, _5_, _ENTER_, _2_, _._, _8_, _×_, _+_. The result, `59.6`, shows on the
stack. Prior to pressing the _+_ key, the intermediate results for the two stack. Prior to pressing the _+_ key, the intermediate results for the two
multiplications, `49.8` and `9.8`, could be seen on the stack. multiplications, `49.8` and `9.8`, could be seen on the stack.
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/e185f3e8-dd36-4beb-a6c5-03bf489d91a7"></video>
RPL also supports the standard algebraic notation. Begin the computation with RPL also supports the standard algebraic notation. Begin the computation with
the _'()_ key. The editor contains quotes, `''` with the cursor between the _'()_ key. The editor contains quotes, `''` with the cursor between
them. The cursor shows the latter `A`, indicating algebraic entry. Type _6_, them. The cursor shows the latter `A`, indicating algebraic entry. Type _6_,
@ -959,6 +981,8 @@ or `'6×8.3+3.5×2.8'`. Press `ENTER` and the expression shows up on the
stack. Hitting the _=_ / _EVAL_ / _SPC_ key (located between the _._ and _+_ stack. Hitting the _=_ / _EVAL_ / _SPC_ key (located between the _._ and _+_
keys) evaluates the expression, to get the result `59.6`. keys) evaluates the expression, to get the result `59.6`.
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/ba81f9f0-ec4d-4619-bf95-c56c14210fc3"></video>
Algebraic and reverse-polish computations are equivalent, and can be mixed and Algebraic and reverse-polish computations are equivalent, and can be mixed and
matched during computations. Using one or the other is stricly a matter of matched during computations. Using one or the other is stricly a matter of
preference. Algebraic data entry makes it easier to view the entire preference. Algebraic data entry makes it easier to view the entire
@ -972,6 +996,8 @@ in 8 slices. Using the RPL approach, we would type _2_, _2_, _ENTER_, _8_,
_÷_. Using the algebraic notation, we would type _'()_, _2_, _2_, _÷_, _8_, _÷_. Using the algebraic notation, we would type _'()_, _2_, _2_, _÷_, _8_,
_ENTER_ and then use the _=_ to perform the computation. _ENTER_ and then use the _=_ to perform the computation.
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/89ebbf7a-f331-4729-a1b9-1527287daa3e"></video>
With the default settings, you should see a mixed fraction, `2³/₄`. Unlike many With the default settings, you should see a mixed fraction, `2³/₄`. Unlike many
calculators, DB48X by default perform exact computations on fractions instead of calculators, DB48X by default perform exact computations on fractions instead of
using approximate decimal numbers. using approximate decimal numbers.
@ -989,6 +1015,8 @@ directly available on the keyboard.
We can compute the length of the diagonal of a rectangle with sides 2m and 3m We can compute the length of the diagonal of a rectangle with sides 2m and 3m
using the Pythagorean theorem, and display it in millimeters. using the Pythagorean theorem, and display it in millimeters.
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/899ad5f3-fd0b-4695-86bb-0b682a191422"></video>
In RPL, we can type the following sequence: _2_, _x²_ (🟨 _C_), _3_, _x²_, In RPL, we can type the following sequence: _2_, _x²_ (🟨 _C_), _3_, _x²_,
_+_, _√x_ (_C_), _1_, _0_, _0_, _0_, _×_. The decimal result, _+_, _√x_ (_C_), _1_, _0_, _0_, _0_, _×_. The decimal result,
`3605.55127546`, is shown on the stack. The digits in the whole part of the `3605.55127546`, is shown on the stack. The digits in the whole part of the
@ -1008,6 +1036,8 @@ In the algebraic expression, we have multiplied by 1000 first, whereas in the
RPL case, we multiplied by 1000 last. We can also multiply by 1000 last in RPL case, we multiplied by 1000 last. We can also multiply by 1000 last in
algebraic mode. There are at least two ways to do it. algebraic mode. There are at least two ways to do it.
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/88cb7865-87cb-427e-b18b-33086bcbabd5"></video>
A first method is to use the arrow key to exit the parentheses around the A first method is to use the arrow key to exit the parentheses around the
argument of the square root function, as follows: _'()_, _√x_, argument of the square root function, as follows: _'()_, _√x_,
_2_, _x²_, _+_, _3_, _x²_, _▶_, _×_, _1_, _0_, _0_, _0_, _2_, _x²_, _+_, _3_, _x²_, _▶_, _×_, _1_, _0_, _0_, _0_,
@ -1032,6 +1062,8 @@ like:
* If we need to reach 60 cm above ground, what is the required slope? * If we need to reach 60 cm above ground, what is the required slope?
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/a90b32c4-a903-4421-a768-c6b6b2afddec"></video>
In RPL, can answer the first question by typing _1_, _0_, _SIN_, _5_, In RPL, can answer the first question by typing _1_, _0_, _SIN_, _5_,
_×_. The result is shown in scientific format as `8.68240888335×₁₀⁻¹`. _×_. The result is shown in scientific format as `8.68240888335×₁₀⁻¹`.
In algebraic mode, we would type _'()_, _5_, _×_, _SIN_, _1_, _0_, _ENTER_ In algebraic mode, we would type _'()_, _5_, _×_, _SIN_, _1_, _0_, _ENTER_
@ -1057,6 +1089,8 @@ The scientific notation may not be the most readable in that case. How do we
display this result with three digits? We will use a *menu* for that. Menus are display this result with three digits? We will use a *menu* for that. Menus are
an essential component of the DB48X user interface. an essential component of the DB48X user interface.
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/be997041-74f9-489b-9583-b94036b9dc33"></video>
Let us type 🟨 _O_ (_Disp_). This shows the `DisplayModesMenu`. The menu Let us type 🟨 _O_ (_Disp_). This shows the `DisplayModesMenu`. The menu
occupies three rows at the bottom of the screen, with six columns. Menus can occupies three rows at the bottom of the screen, with six columns. Menus can
give a quick access to 18 functions directly, six more with a single shift 🟨, give a quick access to 18 functions directly, six more with a single shift 🟨,
@ -1085,24 +1119,93 @@ hold the corresponding key until the help shows up. For instance, to get
This also works for normal keyboard operations. For instance, if you hold the This also works for normal keyboard operations. For instance, if you hold the
_SIN_ key, you will get the [help about the sine command](#sin). _SIN_ key, you will get the [help about the sine command](#sin).
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/55d312a4-3977-421e-9cdf-65d8b5ff5036"></video>
You should refer to the on-line help whenever you have a question about a
specific command.
## Angle operations
The _sin⁻¹_ command we used previously returns an *angle* which was shown in
degrees, the default angle mode for DB48X. When applied to angles, the `Cycle`
command on the _EEX_ key cycles between various angle units: degrees, radians,
grads and pi-radians, i.e. a number of radians shown as a multiple of π.
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/5d23f388-b034-45cd-9d4d-7685b7f211f0"></video>
The function also alternates between decimal and fractional representations of
angles.
In order to access angle-related functions, we can use the Tools key _⚙_ which
invokes the `ToolsMenu` command. That command picks up a menu that is suited for
the value on the stack. For angles, this shows the `AnglesMenu`, which can be
used to perform angle conversions directly.
We can select the `→Deg` command to convert an angle to degrees by hitting the
🟨 _F1_ key while the `AnglesMenu` is active, and similarly for `→Rad` with
🟨 _F2_, and so on. To convert the angle to a Degrees/Minutes/Seconds (DMS)
representation, we can select the `→DMS` using the 🟦 _F1_ key, since that
function is on the second level of the menu.
There is a quick way to manually enter angles in DMS format by using the _._
more than once during data entry. For example, to enter 10°2030″, you simply
need to type _1_, _0_, _._, _2_, _0_, _._, _3_, _0_, _ENTER_.
On the command-line, this shows up as `10°2030_hms`. Once you hit the _ENTER_
key, this shows on the stack as `10°2030″`.
Using _._ more while on the command-line lets you add fractions of a second, for
example _1_, _0_, _._, _2_, _0_, _._, _3_, _0_, _._, _4_, _0_, _._, _5_, _0_,
_ENTER_, which will show on the stack as `10°2030″4/5`.
You can add or subtract angles directly using normal arithmetic functions. For
example, hitting the _+_ key will add angles, correctly adjusting the angle
units as necessary.
## Complex number operations ## Complex number operations
DB48X support complex numbers both in rectangular and polar (phasor) form.
For example, in our effort to build a plank ramp, we may need more than one
plank. How far and how high can you reach if you have a 5 meter plank with a
slope of 10 degrees, followed by a 3 meters plank with a slope of 30 degrees?
<video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/a17d5404-ad05-4a4d-8c62-069f327b3428"></video>
We can add two complex numbers in phasor form to answer that question.
In order to enter the complex number representing the first plank, we need the
`ComplexMenu`, which is activated with the _CPLX_ key (🟨 _G_). The _F1_ key
will be used to enter complex numbers in rectangular form, and the _F2_ key to
enter complex numbers in polar form.
To solve our problem, we simply need to enter _CMPLX_ (🟨 _G_), then _5_, _F2_,
_1_, _0_, _ENTER_ to enter the first complex number. The stack shows the complex
value as `5∡10°`. We can enter the second complex number using _3_, _F2_, _3_,
_0_, and add the two values using the _+_ key. The result shows as
`7.522+2.368`, which means that we can reach about 7.5 meters ahead and 2.3
meters above ground.
## Switching between DM42 and DB48X ## Unit conversions
**Checking that the DM42 firmware works with the DB48X QSPI file** If you are living in the United States, having the results in meters might not
be convenient. You can use the DB48X built-in units in order to convert the
result above into feet, yards or inches.
**Running the DB48X program** <video src="https://github.com/c3d/DB48X-on-DM42/assets/1695924/1fd54b22-5d1e-42bc-ac3a-2be5770422cf"></video>
**Running the DM42 program** Select the `UnitMenu` with 🟨 _5_. This shows a catalog of unit categories. We
can select the `Length` category using the _F4_ key. In order to indicate that
our result is in meters, we select the `m` unit by hitting _F1_. Our result now
shows as `7.522+2.368m` We can then convert that result in yards by selecting
the `→yd` command with the 🟨 _F2_ key.
**Saving and restoring DM42 state** You can convert to other units in the `Length` units menu the same way. This
menu is too large to fit on the screen, so the _F6_ key can be use to select the
**Saving and restoring DB48X state** next page in the menu with more units, such as `in` or `mm`. Note that DB48X
does not have a `NXT` key unlike HP calculators. Instead, when necessary, the
**Shared state between the two programs** `NXT` and `PREV` features appear in the menu itself as _F6_ and 🟨 _F6_.
## Operations on whole numbers ## Operations on whole numbers

View file

@ -934,10 +934,30 @@ programmed solution.
# Quickstart guide # Quickstart guide
This quickstart guide will rapidly give you an overview of the capabilities of This quickstart guide will rapidly give you an overview of the capabilities of
DB50X, and show you how to use it efficiently. DB50X, and show you how to use it efficiently. Make sure that you have
[installed the latest version](#installation).
[![Installation process](https://img.youtube.com/vi/rVWy4N0lBOI/maxresdefault.jpg)](https://www.youtube.com/watch?v=rVWy4N0lBOI&list=PLz1qkflzABy-Cs1R07zGB8A9K5Yjolmlf) The _ON_ / _EXIT_ button is at the bottom left of the calculator. It can be used
to power the calculator on, but also to exit operations, for example aborting a
data entry.
DB50X is a RPL calculator, which means that:
* It inherits the stack-based "reverse polish" approach to operations that has
been a central feature of practically all Hewlett-Packard scientific
calculators since the HP-35. You enter arguments to a functions by pushing
them on the stack, and the operation removes its arguments from the stack
before putting its result(s). Unlike earlier HP calculators, the RPL stack is
practically unlimited.
![Stack and menus](img/stack-and-menus.png)
* Unlike simpler calculators, it uses a _command line_ for data entry, with
advanced text editing capabilities, and a rich text-based command
language. One way to access the hundreds of available commands is by simply
typing their name.
![Command-line and catalog](img/command-line-and-catalog.png)
## Arithmetic operations ## Arithmetic operations
@ -950,6 +970,8 @@ _._, _5_, _ENTER_, _2_, _._, _8_, _×_, _+_. The result, `59.6`, shows on the
stack. Prior to pressing the _+_ key, the intermediate results for the two stack. Prior to pressing the _+_ key, the intermediate results for the two
multiplications, `49.8` and `9.8`, could be seen on the stack. multiplications, `49.8` and `9.8`, could be seen on the stack.
<video src="https://github.com/c3d/DB50X-on-DM32/assets/1695924/e185f3e8-dd36-4beb-a6c5-03bf489d91a7"></video>
RPL also supports the standard algebraic notation. Begin the computation with RPL also supports the standard algebraic notation. Begin the computation with
the _'()_ key. The editor contains quotes, `''` with the cursor between the _'()_ key. The editor contains quotes, `''` with the cursor between
them. The cursor shows the latter `A`, indicating algebraic entry. Type _6_, them. The cursor shows the latter `A`, indicating algebraic entry. Type _6_,
@ -959,6 +981,8 @@ or `'6×8.3+3.5×2.8'`. Press `ENTER` and the expression shows up on the
stack. Hitting the _=_ / _EVAL_ / _SPC_ key (located between the _._ and _+_ stack. Hitting the _=_ / _EVAL_ / _SPC_ key (located between the _._ and _+_
keys) evaluates the expression, to get the result `59.6`. keys) evaluates the expression, to get the result `59.6`.
<video src="https://github.com/c3d/DB50X-on-DM32/assets/1695924/ba81f9f0-ec4d-4619-bf95-c56c14210fc3"></video>
Algebraic and reverse-polish computations are equivalent, and can be mixed and Algebraic and reverse-polish computations are equivalent, and can be mixed and
matched during computations. Using one or the other is stricly a matter of matched during computations. Using one or the other is stricly a matter of
preference. Algebraic data entry makes it easier to view the entire preference. Algebraic data entry makes it easier to view the entire
@ -972,6 +996,8 @@ in 8 slices. Using the RPL approach, we would type _2_, _2_, _ENTER_, _8_,
_÷_. Using the algebraic notation, we would type _'()_, _2_, _2_, _÷_, _8_, _÷_. Using the algebraic notation, we would type _'()_, _2_, _2_, _÷_, _8_,
_ENTER_ and then use the _=_ to perform the computation. _ENTER_ and then use the _=_ to perform the computation.
<video src="https://github.com/c3d/DB50X-on-DM32/assets/1695924/89ebbf7a-f331-4729-a1b9-1527287daa3e"></video>
With the default settings, you should see a mixed fraction, `2³/₄`. Unlike many With the default settings, you should see a mixed fraction, `2³/₄`. Unlike many
calculators, DB50X by default perform exact computations on fractions instead of calculators, DB50X by default perform exact computations on fractions instead of
using approximate decimal numbers. using approximate decimal numbers.
@ -989,6 +1015,8 @@ directly available on the keyboard.
We can compute the length of the diagonal of a rectangle with sides 2m and 3m We can compute the length of the diagonal of a rectangle with sides 2m and 3m
using the Pythagorean theorem, and display it in millimeters. using the Pythagorean theorem, and display it in millimeters.
<video src="https://github.com/c3d/DB50X-on-DM32/assets/1695924/899ad5f3-fd0b-4695-86bb-0b682a191422"></video>
In RPL, we can type the following sequence: _2_, _x²_ (🟨 _C_), _3_, _x²_, In RPL, we can type the following sequence: _2_, _x²_ (🟨 _C_), _3_, _x²_,
_+_, _√x_ (_C_), _1_, _0_, _0_, _0_, _×_. The decimal result, _+_, _√x_ (_C_), _1_, _0_, _0_, _0_, _×_. The decimal result,
`3605.55127546`, is shown on the stack. The digits in the whole part of the `3605.55127546`, is shown on the stack. The digits in the whole part of the
@ -1008,6 +1036,8 @@ In the algebraic expression, we have multiplied by 1000 first, whereas in the
RPL case, we multiplied by 1000 last. We can also multiply by 1000 last in RPL case, we multiplied by 1000 last. We can also multiply by 1000 last in
algebraic mode. There are at least two ways to do it. algebraic mode. There are at least two ways to do it.
<video src="https://github.com/c3d/DB50X-on-DM32/assets/1695924/88cb7865-87cb-427e-b18b-33086bcbabd5"></video>
A first method is to use the arrow key to exit the parentheses around the A first method is to use the arrow key to exit the parentheses around the
argument of the square root function, as follows: _'()_, _√x_, argument of the square root function, as follows: _'()_, _√x_,
_2_, _x²_, _+_, _3_, _x²_, _▶_, _×_, _1_, _0_, _0_, _0_, _2_, _x²_, _+_, _3_, _x²_, _▶_, _×_, _1_, _0_, _0_, _0_,
@ -1032,6 +1062,8 @@ like:
* If we need to reach 60 cm above ground, what is the required slope? * If we need to reach 60 cm above ground, what is the required slope?
<video src="https://github.com/c3d/DB50X-on-DM32/assets/1695924/a90b32c4-a903-4421-a768-c6b6b2afddec"></video>
In RPL, can answer the first question by typing _1_, _0_, _SIN_, _5_, In RPL, can answer the first question by typing _1_, _0_, _SIN_, _5_,
_×_. The result is shown in scientific format as `8.68240888335×₁₀⁻¹`. _×_. The result is shown in scientific format as `8.68240888335×₁₀⁻¹`.
In algebraic mode, we would type _'()_, _5_, _×_, _SIN_, _1_, _0_, _ENTER_ In algebraic mode, we would type _'()_, _5_, _×_, _SIN_, _1_, _0_, _ENTER_
@ -1057,6 +1089,8 @@ The scientific notation may not be the most readable in that case. How do we
display this result with three digits? We will use a *menu* for that. Menus are display this result with three digits? We will use a *menu* for that. Menus are
an essential component of the DB50X user interface. an essential component of the DB50X user interface.
<video src="https://github.com/c3d/DB50X-on-DM32/assets/1695924/be997041-74f9-489b-9583-b94036b9dc33"></video>
Let us type 🟨 _O_ (_Disp_). This shows the `DisplayModesMenu`. The menu Let us type 🟨 _O_ (_Disp_). This shows the `DisplayModesMenu`. The menu
occupies three rows at the bottom of the screen, with six columns. Menus can occupies three rows at the bottom of the screen, with six columns. Menus can
give a quick access to 18 functions directly, six more with a single shift 🟨, give a quick access to 18 functions directly, six more with a single shift 🟨,
@ -1085,24 +1119,93 @@ hold the corresponding key until the help shows up. For instance, to get
This also works for normal keyboard operations. For instance, if you hold the This also works for normal keyboard operations. For instance, if you hold the
_SIN_ key, you will get the [help about the sine command](#sin). _SIN_ key, you will get the [help about the sine command](#sin).
<video src="https://github.com/c3d/DB50X-on-DM32/assets/1695924/55d312a4-3977-421e-9cdf-65d8b5ff5036"></video>
You should refer to the on-line help whenever you have a question about a
specific command.
## Angle operations
The _sin⁻¹_ command we used previously returns an *angle* which was shown in
degrees, the default angle mode for DB50X. When applied to angles, the `Cycle`
command on the _EEX_ key cycles between various angle units: degrees, radians,
grads and pi-radians, i.e. a number of radians shown as a multiple of π.
<video src="https://github.com/c3d/DB50X-on-DM32/assets/1695924/5d23f388-b034-45cd-9d4d-7685b7f211f0"></video>
The function also alternates between decimal and fractional representations of
angles.
In order to access angle-related functions, we can use the Tools key _⚙_ which
invokes the `ToolsMenu` command. That command picks up a menu that is suited for
the value on the stack. For angles, this shows the `AnglesMenu`, which can be
used to perform angle conversions directly.
We can select the `→Deg` command to convert an angle to degrees by hitting the
🟨 _F1_ key while the `AnglesMenu` is active, and similarly for `→Rad` with
🟨 _F2_, and so on. To convert the angle to a Degrees/Minutes/Seconds (DMS)
representation, we can select the `→DMS` using the 🟦 _F1_ key, since that
function is on the second level of the menu.
There is a quick way to manually enter angles in DMS format by using the _._
more than once during data entry. For example, to enter 10°2030″, you simply
need to type _1_, _0_, _._, _2_, _0_, _._, _3_, _0_, _ENTER_.
On the command-line, this shows up as `10°2030_hms`. Once you hit the _ENTER_
key, this shows on the stack as `10°2030″`.
Using _._ more while on the command-line lets you add fractions of a second, for
example _1_, _0_, _._, _2_, _0_, _._, _3_, _0_, _._, _4_, _0_, _._, _5_, _0_,
_ENTER_, which will show on the stack as `10°2030″4/5`.
You can add or subtract angles directly using normal arithmetic functions. For
example, hitting the _+_ key will add angles, correctly adjusting the angle
units as necessary.
## Complex number operations ## Complex number operations
DB50X support complex numbers both in rectangular and polar (phasor) form.
For example, in our effort to build a plank ramp, we may need more than one
plank. How far and how high can you reach if you have a 5 meter plank with a
slope of 10 degrees, followed by a 3 meters plank with a slope of 30 degrees?
<video src="https://github.com/c3d/DB50X-on-DM32/assets/1695924/a17d5404-ad05-4a4d-8c62-069f327b3428"></video>
We can add two complex numbers in phasor form to answer that question.
In order to enter the complex number representing the first plank, we need the
`ComplexMenu`, which is activated with the _CPLX_ key (🟨 _G_). The _F1_ key
will be used to enter complex numbers in rectangular form, and the _F2_ key to
enter complex numbers in polar form.
To solve our problem, we simply need to enter _CMPLX_ (🟨 _G_), then _5_, _F2_,
_1_, _0_, _ENTER_ to enter the first complex number. The stack shows the complex
value as `5∡10°`. We can enter the second complex number using _3_, _F2_, _3_,
_0_, and add the two values using the _+_ key. The result shows as
`7.522+2.368`, which means that we can reach about 7.5 meters ahead and 2.3
meters above ground.
## Switching between DM32 and DB50X ## Unit conversions
**Checking that the DM32 firmware works with the DB50X QSPI file** If you are living in the United States, having the results in meters might not
be convenient. You can use the DB50X built-in units in order to convert the
result above into feet, yards or inches.
**Running the DB50X program** <video src="https://github.com/c3d/DB50X-on-DM32/assets/1695924/1fd54b22-5d1e-42bc-ac3a-2be5770422cf"></video>
**Running the DM32 program** Select the `UnitMenu` with 🟨 _5_. This shows a catalog of unit categories. We
can select the `Length` category using the _F4_ key. In order to indicate that
our result is in meters, we select the `m` unit by hitting _F1_. Our result now
shows as `7.522+2.368m` We can then convert that result in yards by selecting
the `→yd` command with the 🟨 _F2_ key.
**Saving and restoring DM32 state** You can convert to other units in the `Length` units menu the same way. This
menu is too large to fit on the screen, so the _F6_ key can be use to select the
**Saving and restoring DB50X state** next page in the menu with more units, such as `in` or `mm`. Note that DB50X
does not have a `NXT` key unlike HP calculators. Instead, when necessary, the
**Shared state between the two programs** `NXT` and `PREV` features appear in the menu itself as _F6_ and 🟨 _F6_.
## Operations on whole numbers ## Operations on whole numbers

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
help/img/10-complex.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
help/img/3-fractions.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
help/img/4-basic-math.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
help/img/8-help.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

BIN
help/img/9-angles.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB