update readme

This commit is contained in:
Jeff Wang 2020-10-13 01:40:51 -04:00
parent 714cd69b9c
commit d3cddc1326

View File

@ -91,7 +91,7 @@ The keys on the *original* calculator map as follows:
- acts as acos(x) when shifted down
- `3 `: acts as tan(x) when shifted
- acts as atan(x) when shifted down
- all trig functions are currently calculated in degrees
- all trig functions are currently calculated in radians (TODO: change to degrees by default)
- `- `: acts as to radians when shifted
- acts as to degrees when shifted down
- `+ `: acts as LastX when shifted
@ -119,7 +119,7 @@ Github releases has prebuilt binaries for the calculator. Building is fairly str
- See https://sourceforge.net/p/sdcc/discussion/1865/thread/9589cc8d57/
- Luckily SDCC has few dependencies, and older versions can be installed fairly easily.
- CMakeLists.txt is for building the Qt desktop application, and also the decimal-number-library test application.
- build similarly to other cmake projects:
- build similarly to other cmake projects, see [Dockerfile](Dockerfile) for build dependencies:
- `mkdir build_qt && cd build_qt`
- `cmake -DCMAKE_BUILD_TYPE=Debug -G "Eclipse CDT4 - Ninja" ..`
- (you can choose a different generator, I prefer using Ninja to build, because it's fast)
@ -322,7 +322,7 @@ The number `0.135` would be stored the same way, except now the exponent is `0x7
The keyboard matrix is scanned once every 5ms. The keyboard debouncing is based on the quick draw/integrator hybrid algorithm described [here](https://summivox.wordpress.com/2016/06/03/keyboard-matrix-scanning-and-debouncing/). This algorithm combines the advantages of both methods:
1. It signals a key press immediately, the very first instant a keyboard matrix scan detects a key is pressed (similar to the "quick-draw" method).
1. It has an "integrator" to determine both when a key is fully pressed and when a key is fully released. This prevents the mechanically bouncy keys from registering multiple times when pressed.
1. It has an "integrator" (a saturating up/down counter) to determine both when a key is fully pressed and when a key is fully released. This prevents the mechanically bouncy keys from registering multiple times when pressed.
In practice, the keyboard debouncing works much better than the original firmware (which would occasionally miss keystrokes).