[arm-allstar] Help with RXKEYED and TXKEYED events
Kevin Davis
blu666z at gmail.com
Tue Jan 5 02:05:00 EST 2021
I’m still trying to figure a way to avoid these race conditions. Is there a way to include an epoch time or a chronological asterisk event number of some sort in the call to my Python script? I could the publish this as a part of my MQTT payload, and have my client ignore payloads with a epoch or event number lower than a saved maximum.
> On Dec 27, 2020, at 1:41 PM, Kevin Davis <blu666z at gmail.com> wrote:
>
>
> Occasionally, when there are near instantaneous t|RX_KEYED and f|RX_KEYED events, I think I'm running into a race condition where my MQTT payloads of "1" for t|RX_KEYED and "off" for f|RX_KEYED arrive at the broker out of sequence.
>
> python2 /usr/local/sbin/on_air.py 1 = s|t|RPT_RXKEYED
> python2 /usr/local/sbin/on_air.py 0 = s|f|RPT_RXKEYED
>
>
> Am I correct in thinking that based on threading, the python script that was called on f|RX_KEYED could complete before the initial t|RX_KEYED script, thus making the MQTT payloads out of order?
>
>
>
>> On Sun, Dec 20, 2020 at 8:10 AM David McGough <kb4fxc at inttek.net> wrote:
>>
>> Yes, I believe just using TXKEYED should work satisfactorily.
>>
>> 73, David KB4FXC
>>
>> On Sun, 20 Dec 2020, "Kevin Davis via ARM-allstar" wrote:
>>
>> > Thanks David.
>> >
>> > I answered my own question as I was typing up the email(funny how that
>> > happens), but decided to still send it for confirmation.
>> >
>> > I guess in this case, I'll use only the TXKEYED event since it covers both
>> > scenarios I want my sign lit; I'm TXing or RXing from the reflector.
>> >
>> > On Sun, Dec 20, 2020 at 7:58 AM David McGough <kb4fxc at inttek.net> wrote:
>> >
>> > >
>> > > You're correct. In duplex=2 or duplex=3, and RPT_RXKEYED event will
>> > > immediately have a following RPT_TXKEYED event.
>> > >
>> > >
>> > >
>> > > On Sun, 20 Dec 2020, "Kevin Davis via ARM-allstar" wrote:
>> > >
>> > > > Morning all.
>> > > >
>> > > > I'm working on controlling an "On-Air" sign using RPT events and MQTT.
>> > > I'm
>> > > > trying to understand why, when I key up my node, both the RXKEYED and
>> > > > TXKEYED events are both triggered. Is it because I'm on a radioless node
>> > > > running full duplex?
>> > > >
>> > > >
>> > > > ***** RPT.CONF *****
>> > > > python2 /usr/local/sbin/on_air.py 1 = s|t|RPT_RXKEYED
>> > > > python2 /usr/local/sbin/on_air.py 1 = s|t|RPT_TXKEYED
>> > > > python2 /usr/local/sbin/on_air.py 0 = s|f|RPT_RXKEYED
>> > > > python2 /usr/local/sbin/on_air.py 0 = s|f|RPT_TXKEYED
>> > > >
>> > > >
>> > > > ***** Asterisk Log *****
>> > > > -- Event on node 507410 doing shell command python2
>> > > > /usr/local/sbin/on_air.py 1 for condition s|t|RPT_RXKEYED
>> > > > -- Event on node 507410 doing shell command python2
>> > > > /usr/local/sbin/on_air.py 1 for condition s|t|RPT_TXKEYED
>> > > > -- Event on node 507410 doing shell command python2
>> > > > /usr/local/sbin/on_air.py 0 for condition s|f|RPT_RXKEYED
>> > > > -- Hungup 'DAHDI/pseudo-1027201242'
>> > > > -- Event on node 507410 doing shell command python2
>> > > > /usr/local/sbin/on_air.py 0 for condition s|f|RPT_TXKEYED
>> > > >
>> > > >
>> > > > ***** Python Script *****
>> > > > import paho.mqtt.publish as publish
>> > > > import sys
>> > > > from datetime import datetime
>> > > >
>> > > > if sys.argv[1] == '1':
>> > > > payload = 'ON'
>> > > > else:
>> > > > payload = 'OFF'
>> > > >
>> > > > payload += ' ' + str(datetime.now())
>> > > > publish.single(topic="ke7k/on_air/status", payload=payload, retain=True,
>> > > > hostname="192.168.1.3")
>> > > >
>> > > >
>> > > > ***** MQTT Payload Published *****
>> > > > ON 2020-12-20 07:22:32.323583
>> > > > ON 2020-12-20 07:22:32.395017
>> > > > OFF 2020-12-20 07:22:34.326844
>> > > > OFF 2020-12-20 07:22:35.624007
>> > > > _______________________________________________
>> > > >
>> > > > ARM-allstar mailing list
>> > > > ARM-allstar at hamvoip.org
>> > > > http://lists.hamvoip.org/cgi-bin/mailman/listinfo/arm-allstar
>> > > >
>> > > > Visit the BBB and RPi2/3/4 web page - http://hamvoip.org
>> > > >
>> > >
>> > >
>> > _______________________________________________
>> >
>> > ARM-allstar mailing list
>> > ARM-allstar at hamvoip.org
>> > http://lists.hamvoip.org/cgi-bin/mailman/listinfo/arm-allstar
>> >
>> > Visit the BBB and RPi2/3/4 web page - http://hamvoip.org
>> >
>>
More information about the ARM-allstar
mailing list