* Fixed issue with subtract operation triggering unusal behavior.
* Unified handling of the add,sub,mul,div operations.
* Updated and verified existing unit tests and added new ones covering
unhandled cases.
* Added basic requirements/readme.
Split module-utils into smaller components for better dependency
management. Fix many dependencies throughout the project.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Modify calculator behavior according to PO input:
* Compute existing equation before entering next operation
* Limit digit input to 7 digits
* Start each number input from empty input
1. Fix possibility to write illogical operations.
2. Fix possibility to write multiple '0' when it is not needed.
3. Add scientific notation when result do not fit on screen.
Due to vfs deprecation there is need to remove all vfs calls from code. This PR covers module gui. There are some modifications in other modules included which are necessary because of build system issues.
Change filename of internationalization files from i18 to i18n.
I18n should stand for internationalization, not i18. That's why I changed in 'module-utils' name of the folder 'i18' and both .cpp and .hpp files to 'i18n'.
Reduce firmware size by refactoring global data defined in public
headers.
Each global variable which require runtime initialization adds
initialization code to every translation unit which includes the header
where the variable is defined and declared.
Crush was caused when using std::to_string() on rt1051 to convert double (result from equation) to string.
Other methods f.e. using std::stringstream, sprintf also do not work.
Add own floating point converter to string.