Update 15th March

User avatar
KV0A
Posts: 16
Joined: Tue Dec 17, 2019 11:19 pm

Re: Update 15th March

Post by KV0A » Mon Mar 23, 2020 3:41 am

I'm pretty sure the display corruption is fixed! I've been using the radio a good bit and haven't seen it happen once.

VK3KYY
Posts: 7484
Joined: Sat Nov 16, 2019 3:25 am
Location: Melbourne, Australia

Re: Update 15th March

Post by VK3KYY » Mon Mar 23, 2020 10:41 am

KV0A wrote:
Mon Mar 23, 2020 3:41 am
I'm pretty sure the display corruption is fixed! I've been using the radio a good bit and haven't seen it happen once.
Thanks Mark

I've not noticed it either but its one of those bugs that is hard to know when it has definitely been fixed as its so random and intermittent.
If it is fixed the bug wasnt what we initially thought it was.
We thought it was the display update being interrupted midway through by the DMR chip.

But the fix I applied to it was to not use compiler optimization for the data transfer, because I noticed with the Flash chip that using compiler optimization caused the software generated clock and data signals to be inconsistent

So I put the critical parts of the display code into a separate file, and disabled optimization on that file, which forces the compiler to generate machine code that pretty much exactly matches the C code that I wrote. And I did my best to optimize the way the C code for this was written.

User avatar
EB3AM
Posts: 204
Joined: Fri Jan 24, 2020 1:40 pm
Location: Catalonia, not Spain
Contact:

Re: Update 15th March

Post by EB3AM » Mon Mar 23, 2020 6:39 pm

VK3KYY wrote:
Mon Mar 23, 2020 10:41 am
KV0A wrote:
Mon Mar 23, 2020 3:41 am
I'm pretty sure the display corruption is fixed! I've been using the radio a good bit and haven't seen it happen once.
Thanks Mark

I've not noticed it either but its one of those bugs that is hard to know when it has definitely been fixed as its so random and intermittent.
If it is fixed the bug wasnt what we initially thought it was.
We thought it was the display update being interrupted midway through by the DMR chip.

But the fix I applied to it was to not use compiler optimization for the data transfer, because I noticed with the Flash chip that using compiler optimization caused the software generated clock and data signals to be inconsistent

So I put the critical parts of the display code into a separate file, and disabled optimization on that file, which forces the compiler to generate machine code that pretty much exactly matches the C code that I wrote. And I did my best to optimize the way the C code for this was written.
Fantastic, no corruption here!

Post Reply