afarhan / ubitxv6

uBitx v6 Arduino sketch
77 stars 49 forks source link

Pdq gfx update #3

Open reedbn opened 4 years ago

reedbn commented 4 years ago

This swaps out the slow Adafruit-based graphics rendering for the MUCH faster graphics by Xark: https://github.com/XarkLabs/PDQ_GFX_Libs

Due to the library change, the graphics drawing functions were modified to look like the current master UI, and some other graphics mods were made, mostly around making the layout and color schemes easier to understand. If graphical improvements are desired, that can be a different PR.

Tested by a few people. See https://groups.io/g/BITX20/topic/69375908

reedbn commented 4 years ago

Copying messages from groups.io to here:

Prompt: https://groups.io/g/BITX20/message/74676

I am keeping ubitx code free of any libraries that don't ship with standard arduino. Life is already tough for a newbie ubitx owner. Can you back port the assembler code directly into the routines of nano-gui.cpp? I imagine that rewriting displayHline, displayVline and displayPixel are the only routines that need be fixed? I can them pull them in.

Response: https://groups.io/g/BITX20/message/74681

I had noticed that you inlined the other stuff, so I added the files to the project, but put them into their own folder within the ubitx project. That way, newbies don't have to know how to install libraries (since the important files from the library are in the ./PDQ_MinLib/ folder), but it still makes it clear that those files came from "elsewhere". Would you prefer that I "flatten" the structure, and put the PDQ library files directly in the main directory?

Prompt: https://groups.io/g/BITX20/message/74423

  1. I notice that the font you have used is different from the one in my repo. Is there a reason for that?
  2. The frequency update in the original code painted only those digits that changed. why is that removed?

Response: https://groups.io/g/BITX20/message/74426

  1. I switched the font because the program memory was pushing the limit (as I was making changes I ran out of program space a few times), and the new font is about 30% smaller in flash size. There is no aesthetic reasoning behind the change, and I'm totally fine if you want to switch it back. https://groups.io/g/BITX20/message/74411
  2. The PDQ library renders stuff slightly differently than the library that was being used before, so none of the previously coded screen offsets worked, and I had to change a BUNCH of alignment stuff to get it to look the same as you originally had it. I believe that the issue I ran into was that the letter spacing offsets didn't work quite right, and rendering the whole thing each time was the fastest way to eliminate that issue (at the cost of refreshing the whole string).