06-07-2019, 09:29 AM
Building on the AriCalculator project, I am now developing a hand held calculator featuring the following:
1) Texas Instruments EK-TM4C1294XL development board, with 32-bit ARM Cortex processor, 120MHz, 1MB Flash, 256 KB RAM and code unlimited IDE Code Composer Studio, which supports C, C++ and assembly programming (available for Windows, macOS and Linux).
2) 320 x 240 colour display, specifically designed for TI’s LaunchPad series of development boards:
3) An 8 row, 6 column keypad. The keypad layout can be changed by the user. The following is the default layout:
4) Standard scientific functions. For the AriCalculator project I wrote my own floating-point routines in assembly using BCD and CORDIC algorithms, but for this project I am using the math library and IEEE doubles and floats, resulting in much faster execution. All of the scientific functions on the keypad have been implemented, and there is an exact mode for working with fractions.
5) Keystroke programming. This has been completed and includes an editor, debugger and a large number of commands.
6) A high level programming language, similar to C. I have added shortcuts to the keypad (in light blue). The following program calculates 1+2+...+ num (entered on the command line) using a do-while loop:
I will add while and for loops next, then function calls.
7) Support for floats and doubles. At the moment all arithmetic is in double precision in user mode, with programs supporting double and single precision.
8) 99 level stack with SWAP, PICK etc., as well as an algebraic entry option for the command line. This is completed.
9) Additional math functions: complex numbers, graphing, matrices, a solver, statistics and a generic math folder for additional functions. Complex numbers are done, and I have started implementing graphing and matrices.
10) Variable clock speed (up to 120MHz for this particular microcontroller). The user can also change the keypad layout, cursor blink rate, debounce duration and display colours, and there are six custom menus to store programs and variables.
11) The development board features breadboard connection headers to attach it to a breadboard. By adding commands to the keystroke/high level language one can program GPIO pins and other peripherals without connecting to a computer. TI have also developed a number of booster packs to attach to the LaunchPad series of development boards.
Dirk Heisswolf, creator of the AriCalculator, has kindly agreed to design PCB’s for the keypad and power supply to turn the device into a hand held unit.
1) Texas Instruments EK-TM4C1294XL development board, with 32-bit ARM Cortex processor, 120MHz, 1MB Flash, 256 KB RAM and code unlimited IDE Code Composer Studio, which supports C, C++ and assembly programming (available for Windows, macOS and Linux).
2) 320 x 240 colour display, specifically designed for TI’s LaunchPad series of development boards:
3) An 8 row, 6 column keypad. The keypad layout can be changed by the user. The following is the default layout:
4) Standard scientific functions. For the AriCalculator project I wrote my own floating-point routines in assembly using BCD and CORDIC algorithms, but for this project I am using the math library and IEEE doubles and floats, resulting in much faster execution. All of the scientific functions on the keypad have been implemented, and there is an exact mode for working with fractions.
5) Keystroke programming. This has been completed and includes an editor, debugger and a large number of commands.
6) A high level programming language, similar to C. I have added shortcuts to the keypad (in light blue). The following program calculates 1+2+...+ num (entered on the command line) using a do-while loop:
Code:
main {
num = cmdLine;
sum = 0;
do {
sum = sum + num;
num -= 1;
} while (num > 0);
print (sum);
}
I will add while and for loops next, then function calls.
7) Support for floats and doubles. At the moment all arithmetic is in double precision in user mode, with programs supporting double and single precision.
8) 99 level stack with SWAP, PICK etc., as well as an algebraic entry option for the command line. This is completed.
9) Additional math functions: complex numbers, graphing, matrices, a solver, statistics and a generic math folder for additional functions. Complex numbers are done, and I have started implementing graphing and matrices.
10) Variable clock speed (up to 120MHz for this particular microcontroller). The user can also change the keypad layout, cursor blink rate, debounce duration and display colours, and there are six custom menus to store programs and variables.
11) The development board features breadboard connection headers to attach it to a breadboard. By adding commands to the keystroke/high level language one can program GPIO pins and other peripherals without connecting to a computer. TI have also developed a number of booster packs to attach to the LaunchPad series of development boards.
Dirk Heisswolf, creator of the AriCalculator, has kindly agreed to design PCB’s for the keypad and power supply to turn the device into a hand held unit.