-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding Courtesy Tone #5
Comments
Hi @kc9pos, greetings from ct1enq. Unfortunately, this ain't easy to do with the Yaesu DR1X/DR2X. These repeaters have a built-in controller and this project tries to use a feature that disables the controller. When we toggle the control pin the repeater ceases control. The project just monitors the input to be sure that no one is using the repeater. Only then, the circuit toggles the pin and starts playing the audio. Then it releases control back to the repeater. To add a courtesy tone, it would have a strange behavior. When a user stops transmission, the repeater tail ends and then we can send a sound which takes time. This will add an additional time to the "tail" and on a fast passed QSO it could render some misbehavior from the repeater. At the moment I don't have any hardware to test. I would recommend that you fork, create a local branch, to test a few things. First of all, we would need some form of measuring the ID time asynchronously, using the pico's second core could be an option. Then you can monitor the CTCSS pin and when cease, simply put the repeater on air and play a short sound. On the code, to test the behavior, forget the ID and focus on a loop that just monitors the CTCSS pin, when it goes high then low, play a sound. Then you can test how it behaves and if it feels right. The code you presented it's just a "sampler" that counts for an given amount of time (5,6, 8 seconds). The counter resets if any CTCSS detection is done. If the counter can reach the given amount without any activity then we are sure that no one is using the repeater. This happens only when the repeater reaches the time to ID itself (10 minutes). On reaching it but if the repeater is still in use, the repeater won't ID until we can pass those seconds without activity. If the users take long to answer the repeater may enter ID state and ignore the user message. Not sure if I've explained it correctly. |
If someday I get the repeater back or if somehow we try to change something, I may try to test something |
Do you have a repeater and the hardware to try this? If you have, I can draft a quick test for you to try. |
Good evening,
Jose it's a pleasure meeting you from Chicago. This repeater was graciously purchase for a club and I've been the one In charge of getting things going with it. Unfortunately, I was going to interface open repeater to it with a raspberry pi and found because of the internal controller there was a lot of timing probably to address. We had the repeater running for a few weeks and we were getting complaints about no curtsy tone like the other old yeasu repeater had. So I've been looking for solutions and work arounds to just pass a tone in after the ptt. I do have hardware on hand and I have a pico running your code working with the repeater which is a great first step. I'm not an expert in Python so some of the major heavy lifting code might be out of my reach. Non the less I'd love to tackle something and see if we can get some solution implemented if possibly. I'm really glad that you have some insite on some of the quark's of the repeater.
Get Outlook for Android<https://aka.ms/AAb9ysg>
…________________________________
From: José Fonte ***@***.***>
Sent: Tuesday, December 12, 2023 6:18:55 PM
To: phastmike/IDx ***@***.***>
Cc: timothy szymanski ***@***.***>; Mention ***@***.***>
Subject: Re: [phastmike/IDx] Adding Curtesy Tone (Issue #5)
Do you have a repeater and the hardware to try this? If you have, we can draft a quick test for you to try.
—
Reply to this email directly, view it on GitHub<#5 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AGHQIBWDNR57RU4O5QRH5Y3YJDX67AVCNFSM6AAAAABASF3CYSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJTGA3DOMBVHA>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Hi Timothy, just checked ur page. Congratulations! Well, I need some time. I need to take a pico from the stock and prepare micropython for it. That is quick but need to refresh all of that :) Just to get started and validate the code. Then I need to read the code to contextualize. The idea is to test the courtesy tone, so probably, I'll create a branch, courtesy, to test some code runs. Can't promise nothing as I retain that it's not the intended use for Remote Mode. A possibility is to delegate the controller to the external world and let the pico do the job. In our case, the goal was solely to "replace" the builtin ID features of the repeater because it does not follow national mandatory guidelines. We also don't like the repeaters to ID while a QSO is ongoing, that's why we have been implementing this "dynamic" ID inhibition. Making a full controller with the pico is something that I've been thinking. If time allows. I had something similar, implemented on a AVR (ATMEGA328p) in bare metal C. The disadvantage is the need for a ISD audio board to record and play the audio message. The pico can overcome this and go even deeper. Only time will tell :/. I'll get back to you when I have something, only lacking time atm but will try to do something. 73 de ct1enq |
Hi @kc9pos, Check courtesy branch at: https://github.com/phastmike/IDx/tree/courtesy It's a small draft just to test if this behavior is even valid. ID is disabled. On a CTCSS detection as posterior end, a courtesy tone should be played. It's the file courtesy_tone1.wav inside audio folder. Don't forget to add it too. Should work but didn't fully tested on a DR-1X, just toggled the pin and checked for console prints. If you dare to test it ;) Greetings |
Btw, the main code is in main.py:
|
Hello I am looking for ways to easily add a curtesy tone after a transmission. I was thinking of adding a function similar to this to detect when a CTCSS was detected and play the .wave file however so you have any alternative methods of adding this little feature. Thank You
` while True:
The text was updated successfully, but these errors were encountered: