Closed limbo666 closed 1 year ago
I think I might have sorted this but can you give me an example of the characters that don't display properly so I can test them
Tested on 5.5.3.6 again. Greek characters are not recognized
Way to replicate:
Extract the dll from zip into LCD Smartie plugins folder.
Place the omit.ini to C: drive (that's shoudl be C:\omit.ini)
Use the following line in your configuration: $dll(sandr,2,ΑΒΓΔΘΛΞΠΣΥΦΨΩ,)
If this works this should display this should display ΑΒΓΔΘΛΞΠΣΥΦΨΩ on virtual display or your LCD screen, In my case a line of question marks are displayed. This probably because the LCD Smartie doesn't get the correct character from the line and this cannot trigger the correct translation on the sandr.dll to generate the custom characters assigned to each letter.
It seems the problem was with DNBridge.dll but the omit.ini you sent has no mapping for the characters ΑΒΓΔΘΛΞΠΣΥΦΨΩ so I quickly made some edits
My display has mappings for Σ and Ω but the virtual display doesn't so they show as 6 and 4. I have extended the virtual font set but not filled in the data so let me know if there is any that should be in there.
Try this out. Let me know if it works DNBridge_x32.zip DNBridge_x64.zip
Yes! these DNBridge files are fixing the problem. Now we have the expected result. (BTW the ini is correct, it works in pairs of Search and Replace and I have all the Greek letters assigned to their equivalent character or custom character). GREAT WORK - KEEP ON!
Well It seems that I spoke too early. The situation is still tricky and now I don't really know where problem lies. While the new DNBrdge seems to solve the issue on the program interface and display correctly the characters when I'm using physical display the result is different under the same system with the very same configuration. Please note that the physical display can display these character (under the very same line) in old versions of LCD Smartie.
Program:
Actual Result:
Furthermore testing the same settings on my laptop the situations is completely different. Even on the program dispaly the result is not correct.
Any ideas?
Lets see if we can narrow this down. This smartie exe will output a debug.log for plugin loads and variable resolves. Run it for the minimum time as the file will grow very fast LCDSmartie-dbg-x64.zip
I have used the dbg executable to get the logs and I'm back with the results. First of all the issue with LCD Smartie hanging on my desktop PC (reported here https://github.com/stokie-ant/lcdsmartie-laz/issues/9) is gone with this executable.
On my desktop PC the translation seems to be done correctly the characters are displayed as expected on program interface. The log file is here: debug1(desktop).log System specs:
On my laptop the character translation still fails although I used the same settings and the same pieces of software. The log file is here: debug2(laptop).log System specs:
Unfortunately the I'm not able to verify that these characters are displayed correctly on LCD hardware since both display types (FTDI and WiFi based on ESP8266 μC) I have handy are not supported by the executable. (FYI the dll files are here: displays.zip) The project page of WiFi driver is here: https://github.com/eeyrw/LcdTcpDll
Trying to use them I get warning messages about compatibility
Sorry about the late reply. I've been really busy lately. I'll take a look and see if it could be some optimisation causing the issue. The incompatible dll message usually means smartie is 64 bit but the plugins is 32 bit. I'll see about changing the message to reflect that and I'll clone that repo and see about porting it to 64 bit
From laptop.log Param 1: ΑΒΓΔΘΛΞΠΣΥΦΨΩ Param 2: Result: ΑΒΓΔΘΛΞΠΣΥΦΨΩ
Obviously the plugin should have replied with custom char lines
From desktop.log Result: $CustomChar(1,31,16,16,16,16,16,16,0)$Chr(176)$CustomChar(2,4,10,10,17,17,17,31,0)$Chr(158)$CustomChar(3,4,10,17,21,17,10,4,0)$Chr(131)$CustomChar(4,4,10,10,17,17,17,17,0)$Chr(132)$CustomChar(6,31,17,17,17,17,17,17,0)$Chr(134)$CustomChar(8,17,21,21,14,4,4,4,0)$Chr(136)$CustomChar(8,14,17,17,17,14,0,31,0)$Chr(136)$CustomChar(7,31,16,8,4,8,16,31,0)$Chr(135)
There might still be a problem with DNBridge so here is DNBridge.dll compiled with a different charset support. I don't know if that will make a difference. If not I'll have to have DNBridge dump the character bytes it is processing.
I've built LCD_TCP_MINGW_DLL 64 bit. It seems to work but I can't test it. Do you know where the FTDI_LCD.dll is from?
Lastly LCDSmartie.exe with the optimizations turned down a notch to see if that fixes your hang/crash DNBridge.zip LCD_TCP_MINGW_DLL_x64.zip LCDSmartie_exe.zip
Well this is surely a step forward. While the virtual display give the correct result (which I believe means that LCD Smartie detects the characters and plugin functionality) the physical display running under the LCD_TCP_MINGW_DLL_x64.zip display plugin fails to display the characters.
Even the following simple custom characters calling are not displaying anything on the physical screen (while the LCD smarftie emulated screen displays the custom characters) $CustomChar(1,17,17,14,0,10,0,17,14)$Chr(176) $CustomChar(1,17,17,14,0,10,0,17,14)$Chr(176) $CustomChar(3,14,17,10,0,21,17,14,4)$Chr(131)
Any change to fix the plugin ?
I think I know what's wrong here. There was some code in the display write procedure that wouldn't compile under lazarus. It mapped custom locations to a display dll defined location. LCD_TCP needs that mapping. Let me see what I can come up with to replace it
Give this one a spin for me please LCDSmartie_exe.zip
I just tested the x64 flavor. SUCCESS!
Thank you for you efforts. Now i have to fix my sandr.dll since I just discovered a tiny bug on its functionalities :-)
In my previous LCD Smartie installation I used plugins to display foreign characters by creating custom character on their configuration file. e.g by using the Search and Replace plugin
The textboxes on LCD SMARTIE was able to recognize the characters probably using UTF formatting. Now the these texts is not recognized thus, the connection with these plugins is "broken".