UPDATE: DMCP-3.14 / DM42-3.14
Posted: Tue Jul 16, 2019 12:19 pm
This latest update to both the DMCP and DM42/Free42 parts of the DM42's firmware brings the following improvements:
- LCD Refresh speed boost
- Keyboard handling completely reworked
- Changed RTC read method
- Added RTC calibration
- Update Free42 core to 2.2
- Fixed block graphics in "Graphics in text" print
- Removed byte order marker in UTF-8 printed output
- Fixed bitmap error in print to graphics file
- Added double new-line printing
- Added support for YMD date format
- Added [←] as option to back out of settings screens
Screen data is now transferred to the LCD via DMA, which frees the CPU up to perform other tasks.
RTC read has been reworked to speed up clock extraction and help get rid of bad clock readings at system start-up.
There is now a method to calibrate the RTC in the DM42 and reduce drift. If you place an integer in the range -511 to 512 in the file "rtccalib.cfg" in the root of the FAT disk, this file will be read every time the FAT disk is disconnected and at every system restart. A correction coefficient is calculated from the integer value, is stored in the RTC's configuration and is used to adjust the RTC clock tick frequency.
If the calibration value is "c" then the adjustment "a" in ppm is:
a = 10^6 * c / (2^20 - c)
However, most of the time you'll know the required correction and need to find the corresponding value "c":
c = 2^20 * a / (10^6 + a)
To make things easier, a program to calculate the correction to use will be published in the DM42 Software Library.
Free42 core 2.2
This adds local variables, "infinite" (well, not quite, but much better than the original 8 levels) RTN stack and YMD date format to the DM42.
Details can be found on the Free42 history page Thomas Okken's site.
We know that Free42 2.4 is already out but that and 2.3 were released after DM42-3.14 went into feature freeze. Incorporating the changes in Free42 2.4 is planned but that'll be for a future version of the DM42 firmware.
The DM42 encoder/decoder now recognises the LSTO and YMD functions.
Fixed block graphics
A minor error in the choice if pseudo-graphic glyphs for the "graphics in print-to-file" meant that lines of "pixels" didn't always mesh up correctly. Fixed.
BOM in output text removed
The Byte Order Marker is unnecessary in text encoded using UTF-8 since it is a sequential stream of bytes that appear in an order clearly defined by the standard. A BOM is only needed in encodings where each codepoint is encoded using more than a single byte, e.g. UTF-16 or UTF-32.
The output from "print to graphics" would sometimes yield a .BMP file that was malformed. Fixed.
Double newline printing
Print output can sometimes be clearer with more space between lines.
"SETUP > Printing > Double Newline" allows you to have newlines sent to the printer to be doubled, thus introducing space between the lines. Note that this only affects actual printed output, not the "print-to-file" output.
The "SETUP > Settings > Set Date" page had to be altered to allow for the new YMD date format introduced in Free42 2.2.
The first soft menu entry cycles between "M>D>Y", "D>Y>M" and "Y>M>D".
If it shows "M>D>Y" then it means that the current mode is MDY and pressing F1 will make the mode switch to "DMY.
If it shows "D>Y>M" then it means that the current mode is DMY and pressing F1 will make the mode switch to "YMD.
If it shows "Y>M>D" then it means that the current mode is YMD and pressing F1 will make the mode switch to "MDY.
[←] as option to back out of settings screens
Both [EXIT} and [←] now allow you to back out of DM42 system menus and screens.
The method for updating your DM42 is covered in the manual.
The latest firmware binaries are available here.
Code: Select all
92635bda4b79f4e93df60c38cff138cf04fa37ed DM42-3.14.pgm 0c9b267ae3ff41765e56728c4d2aa55bd8fa93d3 DMCP_flash_3.14.bin 02bb36bc414eac674bea1e88c0cf3a9ea18289eb DMCP_flash_3.14_DM42-3.14.bin