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>
3
Makefile
|
@ -164,6 +164,9 @@ help/$(TARGET).md: $(wildcard doc/*.md doc/calc-help/*.md doc/commands/*.md)
|
|||
sed -e 's/DB48X/$(PRODUCT_NAME)/g' \
|
||||
-e 's/DM42/$(PRODUCT_MACHINE)/g' > $@
|
||||
cp doc/*.png help/
|
||||
mkdir -p help/img
|
||||
rsync -av --delete doc/img/*.png help/img/
|
||||
|
||||
check-ids: help/$(TARGET).md
|
||||
@for I in $$(cpp -xc++ -D'ID(n)=n' src/ids.tbl | \
|
||||
sed -e 's/##//g' | sed -e 's/^#.*//g'); \
|
||||
|
|
|
@ -1,10 +1,30 @@
|
|||
# Quickstart guide
|
||||
|
||||
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
|
||||
|
||||
|
@ -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
|
||||
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
|
||||
the _'()_ key. The editor contains quotes, `''` with the cursor between
|
||||
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 _+_
|
||||
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
|
||||
matched during computations. Using one or the other is stricly a matter of
|
||||
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_,
|
||||
_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
|
||||
calculators, DB48X by default perform exact computations on fractions instead of
|
||||
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
|
||||
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²_,
|
||||
_+_, _√x_ (_C_), _1_, _0_, _0_, _0_, _×_. The decimal result,
|
||||
`3 605.55127 546`, 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
|
||||
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
|
||||
argument of the square root function, as follows: _'()_, _√x_,
|
||||
_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?
|
||||
|
||||
<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_,
|
||||
_×_. The result is shown in scientific format as `8.68240 88833 5×₁₀⁻¹`.
|
||||
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
|
||||
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
|
||||
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 🟨,
|
||||
|
@ -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
|
||||
_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°20′30″, you simply
|
||||
need to type _1_, _0_, _._, _2_, _0_, _._, _3_, _0_, _ENTER_.
|
||||
|
||||
On the command-line, this shows up as `10°20′30_hms`. Once you hit the _ENTER_
|
||||
key, this shows on the stack as `10°20′30″`.
|
||||
|
||||
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°20′30″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
|
||||
|
||||
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.368ⅈ m` We can then convert that result in yards by selecting
|
||||
the `→yd` command with the 🟨 _F2_ key.
|
||||
|
||||
**Saving and restoring DM42 state**
|
||||
|
||||
**Saving and restoring DB48X state**
|
||||
|
||||
**Shared state between the two programs**
|
||||
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
|
||||
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
|
||||
`NXT` and `PREV` features appear in the menu itself as _F6_ and 🟨 _F6_.
|
||||
|
||||
|
||||
## Operations on whole numbers
|
||||
|
|
BIN
doc/img/1-arithmetic-rpl.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
doc/img/10-complex.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
doc/img/2-arithmetic-cmd.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
doc/img/3-fractions.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
doc/img/4-basic-math.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
doc/img/5-mixing-rpl-alg.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
doc/img/6-trigonometrics.png
Normal file
After Width: | Height: | Size: 4 KiB |
BIN
doc/img/7-display-modes.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
doc/img/8-help.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
doc/img/9-angles.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
doc/img/command-line-and-catalog.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
doc/img/stack-and-menus.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
125
help/db48x.md
|
@ -934,10 +934,30 @@ programmed solution.
|
|||
# Quickstart guide
|
||||
|
||||
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
|
||||
|
||||
|
@ -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
|
||||
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
|
||||
the _'()_ key. The editor contains quotes, `''` with the cursor between
|
||||
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 _+_
|
||||
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
|
||||
matched during computations. Using one or the other is stricly a matter of
|
||||
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_,
|
||||
_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
|
||||
calculators, DB48X by default perform exact computations on fractions instead of
|
||||
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
|
||||
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²_,
|
||||
_+_, _√x_ (_C_), _1_, _0_, _0_, _0_, _×_. The decimal result,
|
||||
`3 605.55127 546`, 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
|
||||
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
|
||||
argument of the square root function, as follows: _'()_, _√x_,
|
||||
_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?
|
||||
|
||||
<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_,
|
||||
_×_. The result is shown in scientific format as `8.68240 88833 5×₁₀⁻¹`.
|
||||
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
|
||||
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
|
||||
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 🟨,
|
||||
|
@ -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
|
||||
_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°20′30″, you simply
|
||||
need to type _1_, _0_, _._, _2_, _0_, _._, _3_, _0_, _ENTER_.
|
||||
|
||||
On the command-line, this shows up as `10°20′30_hms`. Once you hit the _ENTER_
|
||||
key, this shows on the stack as `10°20′30″`.
|
||||
|
||||
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°20′30″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
|
||||
|
||||
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.368ⅈ m` We can then convert that result in yards by selecting
|
||||
the `→yd` command with the 🟨 _F2_ key.
|
||||
|
||||
**Saving and restoring DM42 state**
|
||||
|
||||
**Saving and restoring DB48X state**
|
||||
|
||||
**Shared state between the two programs**
|
||||
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
|
||||
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
|
||||
`NXT` and `PREV` features appear in the menu itself as _F6_ and 🟨 _F6_.
|
||||
|
||||
|
||||
## Operations on whole numbers
|
||||
|
|
125
help/db50x.md
|
@ -934,10 +934,30 @@ programmed solution.
|
|||
# Quickstart guide
|
||||
|
||||
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
|
||||
|
||||
|
@ -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
|
||||
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
|
||||
the _'()_ key. The editor contains quotes, `''` with the cursor between
|
||||
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 _+_
|
||||
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
|
||||
matched during computations. Using one or the other is stricly a matter of
|
||||
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_,
|
||||
_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
|
||||
calculators, DB50X by default perform exact computations on fractions instead of
|
||||
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
|
||||
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²_,
|
||||
_+_, _√x_ (_C_), _1_, _0_, _0_, _0_, _×_. The decimal result,
|
||||
`3 605.55127 546`, 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
|
||||
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
|
||||
argument of the square root function, as follows: _'()_, _√x_,
|
||||
_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?
|
||||
|
||||
<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_,
|
||||
_×_. The result is shown in scientific format as `8.68240 88833 5×₁₀⁻¹`.
|
||||
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
|
||||
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
|
||||
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 🟨,
|
||||
|
@ -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
|
||||
_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°20′30″, you simply
|
||||
need to type _1_, _0_, _._, _2_, _0_, _._, _3_, _0_, _ENTER_.
|
||||
|
||||
On the command-line, this shows up as `10°20′30_hms`. Once you hit the _ENTER_
|
||||
key, this shows on the stack as `10°20′30″`.
|
||||
|
||||
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°20′30″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
|
||||
|
||||
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.368ⅈ m` We can then convert that result in yards by selecting
|
||||
the `→yd` command with the 🟨 _F2_ key.
|
||||
|
||||
**Saving and restoring DM32 state**
|
||||
|
||||
**Saving and restoring DB50X state**
|
||||
|
||||
**Shared state between the two programs**
|
||||
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
|
||||
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
|
||||
`NXT` and `PREV` features appear in the menu itself as _F6_ and 🟨 _F6_.
|
||||
|
||||
|
||||
## Operations on whole numbers
|
||||
|
|
BIN
help/img/1-arithmetic-rpl.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
help/img/10-complex.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
help/img/2-arithmetic-cmd.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
help/img/3-fractions.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
help/img/4-basic-math.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
help/img/5-mixing-rpl-alg.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
help/img/6-trigonometrics.png
Normal file
After Width: | Height: | Size: 4 KiB |
BIN
help/img/7-display-modes.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
help/img/8-help.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
help/img/9-angles.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
help/img/command-line-and-catalog.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
help/img/stack-and-menus.png
Normal file
After Width: | Height: | Size: 3.4 KiB |