Improvements of the DTMF Contact sending

Discussions related to the firmware code development
ok1pt
Posts: 60
Joined: Mon Jul 20, 2020 3:38 am

Improvements of the DTMF Contact sending

Post by ok1pt » Tue Sep 29, 2020 5:50 pm

Hi there!
I'm glad that the DTFM Contact List was reintroduced to the firmware.
It's a good thing, for example to use EchoLink on analog repeaters etc.
However, I consider it's a kind of WIP, it still requires some improvements.
1) Current implementation violates the DTMF standards because it doesn't send pauses between the DTMF digits. It's wrong.
I have a patch for this, I can submit it ASAP.
2) The DTMF rate is fixed (and in current implementation it is VERY slow). With my modification, there is 250 ms of the DTMF digit and then 100ms of pause. Original firmware stores a global setting for this (and it's settable in the Signaling/DTMF CPS page). Could we reuse this variable? And the best would be to have the possibility to set it from the Options menu in the radio itself (I understand it's more complicated but I can help with it in my free time).
3) For digital channels, the radio temporarily enters the analog mode for sendning DTMF. It's strange. Original firmware as well as other radios send the DTMF digiatally. Can we do it as well ?
With regards / 73, Pavel

ok1pt
Posts: 60
Joined: Mon Jul 20, 2020 3:38 am

Re: Improvements of the DTMF Contact sending

Post by ok1pt » Tue Sep 29, 2020 6:56 pm

BTW I just sent a pull request for the 1st point - adding pauses between the digits and slightly speeding it up - I hope that the 3rd attempt of pull request is OK, I'm not working with github too often and creating a pull request isn't trivial thing :-).

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

Re: Improvements of the DTMF Contact sending

Post by VK3KYY » Tue Sep 29, 2020 8:57 pm

Thanks

I don't know much about DTMF but if there were settings in the CPS to control the speed, I will need to reinstate them and use them

Currently I have many other projects happening, so it may be some time before I can implement and integrated everything, also I need feedback from multiple people who use DTMF to confirm whether it works OK.

Because unfortunately I don't have any local repeaters which use DTMF

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

Re: Improvements of the DTMF Contact sending

Post by VK3KYY » Tue Sep 29, 2020 10:12 pm

ok1pt wrote:
Tue Sep 29, 2020 6:56 pm
BTW I just sent a pull request for the 1st point - adding pauses between the digits and slightly speeding it up - I hope that the 3rd attempt of pull request is OK, I'm not working with github too often and creating a pull request isn't trivial thing :-).
I don't see a PR.

Which repo did you fork from ?

ok1pt
Posts: 60
Joined: Mon Jul 20, 2020 3:38 am

Re: Improvements of the DTMF Contact sending

Post by ok1pt » Wed Sep 30, 2020 2:58 am

VK3KYY wrote:
Tue Sep 29, 2020 10:12 pm
I don't see a PR.

Which repo did you fork from ?
Hi!
So, error again :-). The github is soooo complex... I spent with it much more time than with writing the patch itself...

Code: Select all

https://github.com/patrol-cz/opengd77-mirror/pull/4
Cheers / 73, Pavel

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

Re: Improvements of the DTMF Contact sending

Post by VK3KYY » Wed Sep 30, 2020 3:54 am

Pavel

OK.

I'll look at your code.

FYI.

I tried to do a release this morning from the development version, but it looks like it has multiple issues.

So I have withdrawn it.

I'm very busy with work, so probably won't be able to do any more work on this until the weekend.

ok1pt
Posts: 60
Joined: Mon Jul 20, 2020 3:38 am

Re: Improvements of the DTMF Contact sending

Post by ok1pt » Thu Oct 01, 2020 2:59 am

Hi!
I just added another improvement - a delay between keying on and sending the first digit. It's neccesary for waking up the receiver, unsquelching it and stabilizing things like AGC etc to let the first digit be received precisely.
I also changed the timing values to test it (still hardwired to the firmware) to:
Pretime 200 ms
Digit time 75 ms
Pause time 50 ms
and verified, that this setting opens the analog DTMF private call on AT-D878UV in dualwatch mode (without pretime, the first digit was always ignored when it's just 75ms long, but with pretime the accuracy is 100%).
The commit is available in the opened PR.
WIth regards / 73,
Pavel

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

Re: Improvements of the DTMF Contact sending

Post by VK3KYY » Thu Oct 01, 2020 3:09 am

Thanks Pavel.

I will look at it later today. However I can't use your code until I have also changed the CPS to enable the Signalling and also read the signalling data from the codeplug

ok1pt
Posts: 60
Joined: Mon Jul 20, 2020 3:38 am

Re: Improvements of the DTMF Contact sending

Post by ok1pt » Thu Oct 01, 2020 4:16 am

VK3KYY wrote:
Thu Oct 01, 2020 3:09 am
Thanks Pavel.

I will look at it later today. However I can't use your code until I have also changed the CPS to enable the Signalling and also read the signalling data from the codeplug
Hi Roger!
Of course, I understand it. It will be perfect to read the real timing values from the codeplug. There are more settings which we currently don't use (yet ?), like specifying length of the first digit, * and # signs separately, and there isn't separate setting of digit and pause length, they are storing just the signalling rate in digits per second (I believe they use digit:pause ratio as 1:1 but I'm not sure and I can't test it as I don't have a radio with stock firmware). However, the sending code can be adopted easily, there won't be much work with it.

Cheers & 73 from Pavel

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

Re: Improvements of the DTMF Contact sending

Post by VK3KYY » Fri Oct 02, 2020 10:26 pm

I have manually merged your changes into the development version, because your github repo is standalone rather than being a "fork" of my repo.
Hence there is no automatic process to send your changes via github.

https://github.com/rogerclarkmelbourne/ ... c67f2b4d07

Can you load the official CPS and tell me which inputs on the DTMF signalling screen map to which parts of your code, and I will attempt to write code to read those fields from the codeplug data.

I will also enable the DTMF signalling screen in the CPS, but currently the screen heirarchy in the CPS is not ideal, because the DTMF settings are on a screen which can't be accessed without enabling the general Signalling screen, and the general Signalling screen contains features which are not supported.

Post Reply