Robot Calculator, v1.0.0
Posted on

The electronic calculator.
Major version. Implement the calculator firmware.
Change Log
- components:
- displaying is made through the 16x2 character LCD;
- controls:
- expression input and evaluation is made through a 4x4 matrix membrane keypad;
- clearing whole input is made through a separate button;
- erasing one character is made through a separate button;
- displaying:
- display an input expression in the first line of the display, aligned by the right side;
- display a result of expression evaluation in the second line of the display, aligned by the right side.
Features
- evaluation:
- number evaluation:
- support for a whole number;
- support for a fractional number:
- support for a fractional number without a whole part;
- support for a fractional number without a fractional part;
- ignore duplicated zeros at the beginning of a number;
- return NaN:
- return NaN for an incorrect number;
- return NaN for a number causing overflow;
- truncate a number longer than the internal buffer;
- operation evaluation:
- supported operations:
- addition;
- subtraction;
- multiplication;
- division;
- typo processing:
- support for several operations in a row (only the first operation will be used);
- support for expression starting with an operation (the leading operation will be ignored);
- support for expression ending with an operation (the trailing operation will be ignored);
- supported operations:
- number evaluation:
- components:
- displaying is made through the 16x2 character LCD;
- controls:
- expression input and evaluation is made through a 4x4 matrix membrane keypad;
- clearing whole input is made through a separate button;
- erasing one character is made through a separate button;
- displaying:
- display an input expression in the first line of the display, aligned by the right side;
- display a result of expression evaluation in the second line of the display, aligned by the right side.
Photos
Assignment of keys on the 4x4 matrix membrane keypad
