Experimental Contacts cache system

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

Experimental Contacts cache system

Post by VK3KYY » Mon Jan 27, 2020 10:33 am

Guys

If possible can you give this experimental version a go...

For those of you who didn't see the technical thread about the amount of time the CPU (MCU) was spending on accessing the flash memory chip to lookup the TalkGroup name and also try to lookup the DMR ID in the codeplug Contacts data....

I noticed the other day that the MCU was taking around 300mS doing this lookups, every time a signal is received.

This is a massive load on the MCU which has better things to do, like processing the DMR audio and updating the display etc etc.

And thanks to a suggestion from Colin and David, I've implemented a system which caches just the Talkgoup / DMR ID number and type (TG or PC) and where this is located in the 1024 potential Contacts in the codeplug.

This reduces the load on the CPU by a factor of around 1000, and hence the MCU now only spends around 300 uS doing the processing !


Daniel is also working on a more comprehensive fix, which will cache the DMR ID database lookups as well, as currently the firmware does not cache them.

But as my Contacts caching is self contained, I thought it would be good if people could test this in isolation.

The Contacts cache is used every time a DMR signal is received, to lookup the name of the incoming TG and also to lookup the DMR ID of the station in case its in the codeplug Contact.

The cache is also used for all the functions in the Contacts menu, including listing and adding and deleting and editing contacts.

I have tested this all myself, but its always better to have multiple people test to confirm that there are no bugs.
Attachments
opengd77_202001272119_contacts_cache.sgl
(477.06 KiB) Downloaded 59 times

User avatar
m1dyp
Posts: 382
Joined: Sat Nov 16, 2019 8:03 am
Location: Hertfordshire, U.K.

Re: Experimental Contacts cache system

Post by m1dyp » Mon Jan 27, 2020 11:36 am

hi, initial testing

pressing orange twice (initiate scan) whilst a channel is currently receiving a signal (DMR or FM)

the screen doesn't seem to refresh below the signal strength bar, until the incoming signal stops, screen then refreshes and all is OK.

incidentally, i have no contacts stored in the radio, except the 6 talkgroups I use, I rely on TA info :mrgreen:

*UPDATE* BLUE +1 doesn't appear to exhibit this problem
it also seems do this with opengd77_202001231943.sgl but I have only just noticed :roll:
Attachments
concach1.png
concach1.png (2.83 KiB) Viewed 675 times
73 de Ken :D

kt4lh
Posts: 84
Joined: Sun Jan 12, 2020 4:27 am

Re: Experimental Contacts cache system

Post by kt4lh » Mon Jan 27, 2020 1:15 pm

m1dyp wrote:
Mon Jan 27, 2020 11:36 am
hi, initial testing

pressing orange twice (initiate scan) whilst a channel is currently receiving a signal (DMR or FM)

the screen doesn't seem to refresh below the signal strength bar, until the incoming signal stops, screen then refreshes and all is OK.

incidentally, i have no contacts stored in the radio, except the 6 talkgroups I use, I rely on TA info :mrgreen:

*UPDATE* BLUE +1 doesn't appear to exhibit this problem
it also seems do this with opengd77_202001231943.sgl but I have only just noticed :roll:
I'm using NA7Q's version from 1/23 and it doesn't do it, it does for a very short delay then it starts showing the scanning. Updated to this experimental version, same thing, very short delay with the scan menu shown, then shows repeaters. I've tried both DMR and FM zones, seems okay here in this regard for me.

User avatar
Ik0nwg
Posts: 89
Joined: Sat Nov 16, 2019 7:23 am
Location: JN61VG

Re: Experimental Contacts cache system

Post by Ik0nwg » Mon Jan 27, 2020 1:16 pm

Now the TA is displayed instantly, I tried to stress the radio by changing the parameters in the various menus very quickly and the radio never restarted. Excellent update, thanks.
Sal
Sal Italy jn61vg

User avatar
m1dyp
Posts: 382
Joined: Sat Nov 16, 2019 8:03 am
Location: Hertfordshire, U.K.

Re: Experimental Contacts cache system

Post by m1dyp » Mon Jan 27, 2020 1:21 pm

kt4lh wrote:
Mon Jan 27, 2020 1:15 pm

I'm using NA7Q's version from 1/23 and it doesn't do it, it does for a very short delay then it starts showing the scanning. Updated to this experimental version, same thing, very short delay with the scan menu shown, then shows repeaters. I've tried both DMR and FM zones, seems okay here in this regard for me.
thanks
73 de Ken :D

User avatar
F1CXG
Posts: 143
Joined: Sat Nov 16, 2019 7:24 am
Location: GRENOBLE (France)

Re: Experimental Contacts cache system

Post by F1CXG » Mon Jan 27, 2020 1:32 pm

After more of 2 hours of use, everything seems ok for me :)
73 de Thierry ;)

IK8JHL
Posts: 121
Joined: Tue Dec 10, 2019 11:19 am

Re: Experimental Contacts cache system

Post by IK8JHL » Mon Jan 27, 2020 1:36 pm

kt4lh wrote:
Mon Jan 27, 2020 1:15 pm
m1dyp wrote:
Mon Jan 27, 2020 11:36 am
hi, initial testing

pressing orange twice (initiate scan) whilst a channel is currently receiving a signal (DMR or FM)

the screen doesn't seem to refresh below the signal strength bar, until the incoming signal stops, screen then refreshes and all is OK.

incidentally, i have no contacts stored in the radio, except the 6 talkgroups I use, I rely on TA info :mrgreen:

*UPDATE* BLUE +1 doesn't appear to exhibit this problem
it also seems do this with opengd77_202001231943.sgl but I have only just noticed :roll:
I'm using NA7Q's version from 1/23 and it doesn't do it, it does for a very short delay then it starts showing the scanning. Updated to this experimental version, same thing, very short delay with the scan menu shown, then shows repeaters. I've tried both DMR and FM zones, seems okay here in this regard for me.

I also noticed the same issue,

IK8JHL
Posts: 121
Joined: Tue Dec 10, 2019 11:19 am

Re: Experimental Contacts cache system

Post by IK8JHL » Mon Jan 27, 2020 1:37 pm

m1dyp wrote:
Mon Jan 27, 2020 11:36 am
hi, initial testing

pressing orange twice (initiate scan) whilst a channel is currently receiving a signal (DMR or FM)

the screen doesn't seem to refresh below the signal strength bar, until the incoming signal stops, screen then refreshes and all is OK.

incidentally, i have no contacts stored in the radio, except the 6 talkgroups I use, I rely on TA info :mrgreen:

*UPDATE* BLUE +1 doesn't appear to exhibit this problem
it also seems do this with opengd77_202001231943.sgl but I have only just noticed :roll:

I also noticed the same issue,but otherwise everything seems ok

User avatar
W1AEX
Posts: 95
Joined: Sat Nov 16, 2019 9:00 pm
Location: Connecticut, USA
Contact:

Re: Experimental Contacts cache system

Post by W1AEX » Mon Jan 27, 2020 3:13 pm

Roger,

I loaded the experimental contacts cache firmware to my 2018 GD77 and it has been happily scanning local DMR repeaters for an hour without any major incidents. I did notice an anomaly where a station calling on North America initially popped up as a Private Call on my screen. The next time he spoke he displayed correctly with the NA TG named properly as he spoke. (Note that I had made a private call through my hotspot about 15 minutes prior so that might have triggered the false private call display.) Other than that one curiosity it has behaved fine.

73, Rob W1AEX

User avatar
KU4ZD
Posts: 159
Joined: Sat Nov 16, 2019 2:47 pm
Location: Council Bluffs, Iowa
Contact:

Re: Experimental Contacts cache system

Post by KU4ZD » Mon Jan 27, 2020 6:40 pm

I have the Experimental cache system firmware loaded and have been running it on my hotspot and local repeaters. It seems to be running without issue for some time now.
Mike KU4ZD

Post Reply