Topics

ubitx #v6 Screen Speed Mod #v6

Reed N
 

I don't have my full radio built yet, but I have spent some time speeding up the screen refresh. The screen speed increases are due to the fabulous work done by Xark: https://github.com/XarkLabs/PDQ_GFX_Libs , so my contribution on that front are purely the integration into this project.

I intentionally kept the UI fairly similar to Ashhar's original release, however it's now much faster and easier to change colors, layout, etc.

NOTE: While I've tested the UI a fair amount, I have NOT actually run a radio with this. I'd definitely appreciate feedback if anybody is willing to give it a go on a fully built rig!

https://github.com/reedbn/ubitxv6/tree/pdq_gfx_update

If the current state looks good and is working on a full-up rig, I'll create a PR before tackling other code updates.


Reed

Ashhar Farhan
 

Reed,
I am travelling, can't wait to try this out!

- f

On Thu 2 Jan, 2020, 10:33 AM Reed N, <greenkid336600+groupsio@...> wrote:
I don't have my full radio built yet, but I have spent some time speeding up the screen refresh. The screen speed increases are due to the fabulous work done by Xark: https://github.com/XarkLabs/PDQ_GFX_Libs , so my contribution on that front are purely the integration into this project.

I intentionally kept the UI fairly similar to Ashhar's original release, however it's now much faster and easier to change colors, layout, etc.

NOTE: While I've tested the UI a fair amount, I have NOT actually run a radio with this. I'd definitely appreciate feedback if anybody is willing to give it a go on a fully built rig!

https://github.com/reedbn/ubitxv6/tree/pdq_gfx_update

If the current state looks good and is working on a full-up rig, I'll create a PR before tackling other code updates.


Reed

 

Well, that is a definite improvement, the screen draws much better but it's still in need of some fine tuning. Good job, thank you, this is a step in the right direction.

Joel
N6ALT

Reed N
 

Hey Joel,

Sounds like you got it up and running! Thanks for trying the code out. Did you run into any specific issues? Were you able to use the radio normally after the update?

What tuning/improvements to the UI would you like to see? Is there a certain style or layout you think would be better?


Reed

 

Hi Reed,

The upgrade was very straight forward, it worked first time. A few things I've noticed is, every time I turn the radio on it goes to the 40 meter band where I left it, but its on USB every time even though I was using it on LSB when shut off. Also I find the tuning to be very critical, I just slightly touch the encoder and its gone off frequency, also is very hard to precisely tune to the exact frequency. I noticed that there is a 3/16 slice of black on the right hand side of the display that could be utilized, (I'm sure you know about this already). The style is okay the way it is, maybe there is a better way but I don't have much imagination in this regard, as long as it is functional I am happy. I have had all afternoon to use it since my last post and I find it quite usable now. Thanks for your hard work in this regard. I would be happy to test any further changes you make.

Joel
N6ALT

 

Hi Reed,

One more thing on a positive note, the display seems to be a lot higher resolution now, it looks sharper and clearer than before. Nice.

Joel
N6ALT

Reed N
 

Hi Joel,

Thanks for the feedback!

With regards to the dial being sensitive, I've noticed the same thing. It's definitely something there should at least be a "sensitivity" option for. I don't plan on tackling that particular thing until I'm happy with the screen, though.

I haven't looked into the setting storage/retrieval routines, so there may be a simple fix for the USB/LSB issue you're seeing, or it could be something else going on. I think I recall noticing that there was a phantom button press near the screen center at startup at one point, so I may have to investigate that aspect too, since a phantom button press on USB (which is near the center) would cause that issue too.

I have no such black/empty space on the right of my screen. Can you send over a picture? I just uploaded a comparison clip to https://www.youtube.com/watch?v=CCpBttBYg20&t=0m53s. It's not going to be identical to what you see, since it's a few commits old, but it's representative of what I'd expect you to see, importantly with no large blank space on the right.


Reed

 

Reed,

The black space on the right side of the display is normal, sorry,  it is kind of dead space  where the address lines interface to the display.

Joel
N6ALT

Reed N
 

Hi Joel,

You gave me quite the scare! I'm relieved to hear the black bar is not a real issue :)

I'll take a look into the phantom button press stuff and see if I can sort that out tonight (after work), since the USB/LSB switching definitely is a usability issue.


Reed

bill richardson
 

I tested and agree this is a great improvement. Thank you!

Bill ng1p


On Jan 2, 2020, at 12:03 AM, Reed N <greenkid336600+groupsio@...> wrote:

I don't have my full radio built yet, but I have spent some time speeding up the screen refresh. The screen speed increases are due to the fabulous work done by Xark: https://github.com/XarkLabs/PDQ_GFX_Libs , so my contribution on that front are purely the integration into this project.

I intentionally kept the UI fairly similar to Ashhar's original release, however it's now much faster and easier to change colors, layout, etc.

NOTE: While I've tested the UI a fair amount, I have NOT actually run a radio with this. I'd definitely appreciate feedback if anybody is willing to give it a go on a fully built rig!

https://github.com/reedbn/ubitxv6/tree/pdq_gfx_update

If the current state looks good and is working on a full-up rig, I'll create a PR before tackling other code updates.


Reed

Reed N
 

I didn't see any phantom button presses in my test today, so it is one of:
a) an issue due to other code problems I was having in testing (lots of stack smash crashes early on)
b) an issue that only occurs sometimes
c) an issue that I only imagined

With two thumbs ups (N6ALT and NG1P), I'll make a PR, and take a look at setting save/restore next.

Reed

 

Jack, Farhan,

Would the NANO EVERY be faster ?

Raj


At 02-01-20, you wrote:
Reed,
I am travelling, can't wait to try this out!

- f

On Thu 2 Jan, 2020, 10:33 AM Reed N, < greenkid336600+groupsio@...> wrote:
I don't have my full radio built yet, but I have spent some time speeding up the screen refresh. The screen speed increases are due to the fabulous work done by Xark: https://github.com/XarkLabs/PDQ_GFX_Libs , so my contribution on that front are purely the integration into this project.

I intentionally kept the UI fairly similar to Ashhar's original release, however it's now much faster and easier to change colors, layout, etc.

NOTE: While I've tested the UI a fair amount, I have NOT actually run a radio with this. I'd definitely appreciate feedback if anybody is willing to give it a go on a fully built rig!

https://github.com/reedbn/ubitxv6/tree/pdq_gfx_update

If the current state looks good and is working on a full-up rig, I'll create a PR before tackling other code updates.


Reed

Jack, W8TEE
 

Raj:

The Nano is what it is, however, there are ways to improve on the performance via code changes. Years ago, the functions in Standard C library from a compiler vendor were often written in hand-tweaked assembler and were about as fast as they can be. Today, I don't think that's always the case. Also, a lot of C functions assume the user is an idiot and put "training wheels" code in the functions to protect the user. I forgot which library it is, but it had a digitalWrite() and a digitalFastWrite(). Both did the same thing, but digitalFastWrite() assumed the programmer knows what they are doing and leaves some of the error checking out of the code. Likewise, even if Java code is compiled, it has runtime boundary checking and stuff like that takes time, so I doubt that Java will every have the performance of a good C (or C++) compiler.

Personally, I find myself using the STM32F1 (cost is under $5) family more and more, mainly because of the speed improvement (72MHz) and resource depth (most with 128K flash, 20K SRAM). I also like the ESP32's speed (240MHz), but it's confusing because it has many different pin configurations, some of which are read-only and others that do weird things on boot up. While more expensive ($20), the Teensy 4.0 (i.e., T4) is a beast with 2MB of flash, 1MB RAM, all blazing along at 600MHz. It also seems to play nice with the Arduino IDE and most of its libraries and is about the size of a commemorative postage stamp.

Probably TMI, but it's really not an easy question.

Jack, W8TEE

On Friday, January 3, 2020, 12:37:57 AM EST, Raj vu2zap <rajendrakumargg@...> wrote:


Jack, Farhan,

Would the NANO EVERY be faster ?

Raj

At 02-01-20, you wrote:
Reed,
I am travelling, can't wait to try this out!

- f

On Thu 2 Jan, 2020, 10:33 AM Reed N, < greenkid336600+groupsio@...> wrote:
I don't have my full radio built yet, but I have spent some time speeding up the screen refresh. The screen speed increases are due to the fabulous work done by Xark: https://github.com/XarkLabs/PDQ_GFX_Libs , so my contribution on that front are purely the integration into this project.

I intentionally kept the UI fairly similar to Ashhar's original release, however it's now much faster and easier to change colors, layout, etc.

NOTE: While I've tested the UI a fair amount, I have NOT actually run a radio with this. I'd definitely appreciate feedback if anybody is willing to give it a go on a fully built rig!

https://github.com/reedbn/ubitxv6/tree/pdq_gfx_update

If the current state looks good and is working on a full-up rig, I'll create a PR before tackling other code updates.


Reed

--
Jack, W8TEE

Bert N8NN
 

Reed -- Your mod is much faster.  Also noticed that the tuning steps are smaller than the original, which is more pleasant to the ear.  But, the frequency numbers are smaller and harder to read.  I would like to see a larger font for the frequency display.

Very nice improvement!  Thanks!

Bert N8NN

Reed N
 

Hi Bert,

I did shrink the font. I may be able to scale it back up at some point, but those characters take a LOT of room, so I dropped to a smaller size for now, with the definite intention that it should be revisited. Ideally we'd use some font strategy that used large characters with very little glyph details to save on space, but I figured fast and a little smaller to start was better than running into the memory limit sooner.

Glad you're enjoying the speedy updates. I didn't intentionally change the step size in this branch, so I suspect the improved dial tuning is purely due to less time spent drawing the screen - a free bonus!

All,
I did discover that there are a few menu options that I forgot to fix in the current version. They render enough to be functional, but they're not pretty. I'll jump back to that after I've gotten the settings changes branch in a good place.


Reed

Reed N
 

Just pushed some updates to the pdq_gfx_update branch to fix the settings menus (and save another 210 bytes = 10% RAM). Based on Ashhar's comments at https://groups.io/g/BITX20/topic/fonts_used_on_reed_s_code/69414198, I might have to change a few things before it's merged into the main line.

If you're feeling adventurous, I have a new branch at https://github.com/reedbn/ubitxv6/tree/one_stop_settings that includes all of the pdq_gfx_update branch updates, but also has a significant refactor of how settings are handled, in addition to a few more tweaks. It might fix the LSB/USB issue you saw earlier, Joel. HOWEVER, I must reiterate that I haven't finished building my radio, so this branch currently has absolutely NO testing on a full-up radio. There may be issues, and if you run into them, please let me know.


Reed

 

Reed,

Well I felt adventurous for a moment but not anymore. It completely broke the the radio, I had to load your original code back on. It was off in la la land, i couldn't tune any frequencies and the BFO was way off. When I tried to calibrate everything locked up with 0's in the frequency display. I'm back now and making QSO's again.

Joel
N6ALT

Armando Escalante
 

Same with me.
After updating, all ok, then I restarted with Tune button pressed, Got no Audio and no BFO readings,,,
Re-loaded original firmware and I believe it is working fine again.
I did like the new screen layout!

Please stay on it.
A
K9AJE

Reed N
 

Joel - To clarify, the pdq branch still works, but the one_stop_settings branch was problematic, correct? I'm glad you could recover, and obviously will try and figure out what is going wrong! More incentive for me to finish the radio. I did get some parts today...

@klimber - did you go back to the PDQ branch mentioned in the original post, or the stock version that shipped? The UI should be the same in both - the one_stop_settings branch is mostly under-the-hood updates.


Reed

Armando Escalante
 

I went back to the original (stock) version, was not aware of the other improved (PDQ?) branch.
A