JP1 Remotes Forum Index JP1 Remotes


FAQFAQ SearchSearch 7 days of topics7 Days MemberlistMemberlist UsergroupsUsergroups RegisterRegister
ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in

AIRWidget and AGirs Nano Questions

 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Hardware
View previous topic :: View next topic  
Author Message
jmezz13



Joined: 28 Oct 2004
Posts: 94

                    
PostPosted: Sat Feb 25, 2023 11:32 pm    Post subject: AIRWidget and AGirs Nano Questions Reply with quote

After the recent shenanigans with one of my ONN URC-3360 (produces higher than expected frequency), for fun I put together both an AIRWidget (Mathdon) and what I'm calling an "AGirs Nano" (Barf's Arduino Nano Sender Receiver - somebody correct me with the right name). I've been messing around with both of them with both IRScope and IRScrutinizer. Of course, IRScope works with the (A)IRWidget and IRScrutinizer works with both. I have some questions and maybe some oberservations so far.

1. Based on the Arduino code, the AIRWidget (and I assume the IRWidget as well) sends pulse count information every 100 microseconds over the serial(USB) connection to the host program. Both IRScope and IRScrutinizer estimate carrier frequency from this data and I was interested in the algorithm on how this is done since reported packat lengths are not in 100 microsecond increments. It seems like the pulse count per 100 microsecond "packet" depends on when during the packet duration the signal starts and all following "packet" counts are dependent on that (plus actual frequency etc). Both IRScope and IRScrutinizer do the same thing and maybe they use the same algorithm.

2. For the AGirs Nano, I'm not 100% sure how the frequency is calculated but it seems to supply the data directly from the Arduino. I've reviewed the "IRWidgetAggregating.cpp" file, but without a good IDE(Arduino IDE is not it), it's really hard to see how the pieces all fit together. It seems like it uses a trigger on each pulse edge, so it seems like it has the opportunity to be more accurate with the frequency calculation. I did some testing with some remotes I have lying around and these are the frequency measurements I took with both. (Not sure how to format in columns)

    Remote AIRWidget(approx) AGirs Nano
    Vizio TV 38200 38461
    LG Soundbar 37800 38461
    3660- Vizio TV 38500 39215
    3660- LG Soundbar 38300 39215
    3660- Panasonic DVD 36900 (37037 or 37735)
    Panasonic DVD 36500 37037
    Onkyo Receiver 37700 38461


I did these using IRScrutinizer continuous capture. The AIRWidget frequency readings varied on each keypress, whereas the AGirs Nano almost always showed the exact same frequency for each keypress. However, the AGirs Nano readings seem to be quantized and am wondering if that is real. I realize that normally the frequency difference probably doesn't matter in practice as most IR receiver units have enough slop to accept most signals in the right format. Are there any thoughts on the accuracy between these two receivers? Also, is it typical that the AIRWidget would underestimate compared to the AGirs Nano?

3. I notice that one of the export formats is "UEI Learned Format". Is there a technical description of this format somewhere that I missed? I can find info on Pronto, Raw, IRP ....
Back to top
View user's profile Send private message
Barf
Expert


Joined: 24 Oct 2008
Posts: 1415
Location: Munich, Germany

                    
PostPosted: Sun Feb 26, 2023 6:50 am    Post subject: Re: AIRWidget and AGirs Nano Questions Reply with quote

jmezz13 wrote:
... what I'm calling an "AGirs Nano" (Barf's Arduino Nano Sender Receiver - somebody correct me with the right name).


Unfortunately, there is no sexy name. Analogous to "transceiver": recmitter?

1. Best if of course to study the code, IrScrutinizer; IrScope. For every 100 microseconds interval, the number of pulses (edges) are counted. For a sequence of non-zero such, the first and the last one are discarded, since it represents the start and the ending, and does not carry any sensible information. From this, the, the number of pulses (edges) within a certain time interval can be computed, i.e. the frequency.

2. The IRWidget*.* code is based on code written by MikeT, presented here many years ago. There is also an article by him, in German. There are links in the code. It is based on the "data capture pin", which is a smart feature of many(?) micro processors. Basically, after a state change has happened, you can "ask" the processor for the exact time it happened. MikeT's code is, in his own words, "optimized for performance, not readability". Differently put, it is close to unreadable. Wink I have planned to rewrite it for quite some time...

There are alternatives to the Arduino IDE version 1, (VS)Code appears to be one. I have used Arduino IDE for compiling and Netbeans 8 for editing, but that is not a viable alternative any longer. (There are tons of Youtube videos on the subject.)

3. "UEI learned" is an internal, proprietary and undocumented format used internally in UEI remotes. There appears to be several different versions. It was never intended as an exchange format. For this reason, it was dropped from IrScrutinizer/IrMaster. RMIR/RMDU might support it in some form. Graham and Rob may know more.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
jmezz13



Joined: 28 Oct 2004
Posts: 94

                    
PostPosted: Mon Feb 27, 2023 12:10 am    Post subject: Re: AIRWidget and AGirs Nano Questions Reply with quote

Barf wrote:

1. Best if of course to study the code, IrScrutinizer; IrScope. For every 100 microseconds interval, the number of pulses (edges) are counted. For a sequence of non-zero such, the first and the last one are discarded, since it represents the start and the ending, and does not carry any sensible information. From this, the, the number of pulses (edges) within a certain time interval can be computed, i.e. the frequency.



Good point, I forgot you have your source for IRScrutinizer available but your description gave me a general idea.


Barf wrote:

Differently put, it is close to unreadable. Wink



LOL, well that makes me feel a little better.

Thanks for the great response!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic       JP1 Remotes Forum Index -> JP1 - Hardware All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


 

Powered by phpBB © 2001, 2005 phpBB Group
Top 7 Advantages of Playing Online Slots The Evolution of Remote Control