|
JP1 Remotes
|
View previous topic :: View next topic |
Author |
Message |
jmezz13
Joined: 28 Oct 2004 Posts: 94
|
Posted: Sat Feb 25, 2023 11:32 pm Post subject: AIRWidget and AGirs Nano Questions |
|
|
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 |
|
|
Barf Expert
Joined: 24 Oct 2008 Posts: 1416 Location: Munich, Germany |
Posted: Sun Feb 26, 2023 6:50 am Post subject: Re: AIRWidget and AGirs Nano Questions |
|
|
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. 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 |
|
|
jmezz13
Joined: 28 Oct 2004 Posts: 94
|
Posted: Mon Feb 27, 2023 12:10 am Post subject: Re: AIRWidget and AGirs Nano Questions |
|
|
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.
|
LOL, well that makes me feel a little better.
Thanks for the great response! |
|
Back to top |
|
|
|
|
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
|