IrScrutinizer: capturing, generating, analyzing, import, exp

Discussion forum for JP1 software tools currently in use, or being developed, such as IR, KM, RemoteMaster, and other misc apps/tools.

Moderator: Moderators

Post Reply
Barf
Expert
Posts: 1532
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Using DecodeIR 2.45 with IrScrutinizer 1.1.1

Post by Barf »

IrScrutinizer 1.1.1 comes with DecodeIR 2.44. Currently, version 2.45 was released.

IrScrutinizer 1.1.1 can be used without problems with the new version of DecodeIR. Actually, it does not bring very much advantages either; the main reason the new version was developed was that DecodeIR 2.44 computed some "hex" values incorrectly, causing problems for RemoteMaster. However, IrScrutinizer does not use DecodeIR's hex-values.

However, in 2.45 3FG decided to change the IRP definition of the protocols Blaupunkt, Kaseikyo (was Kaseikyo-???-???) and Kaseikyo56 (was Kasekeikyo56-???-???). To keep IrScrutinizer's generated codes compatible, replace the current IrpProtocols.ini file with this one.

It, as well as DecodeIR 2.45, will be included in the next release of IrScrutinizer, called 1.1.2. (Preliminary due next month.)
adityanag
Posts: 4
Joined: Fri Jan 23, 2015 5:06 am

Java Exception from IrScrutinizer

Post by adityanag »

Hi,

I am trying to use IrScrutinizer along with my Arduino UNO and a TSOPXXXX IR Sensor (38Khz). I am trying to decode a remote.

I first tried with an NEC and a Sony remote and it worked well. I then tried it with the mystery remote and I got a Java exception the moment I press capture and press any key on the remote. See below:

Exception in thread "AWT-EventQueue-0" java.lang.ArithmeticException: / by zero
at com.hifiremote.exchangeir.Analyzer.identify(Analyzer.java:1131)
at com.hifiremote.exchangeir.Analyzer.setup(Analyzer.java:415)
at com.hifiremote.exchangeir.Analyzer.<init>(Analyzer.java:185)
at org.harctoolbox.IrpMaster.ExchangeIR.newAnalyzer(ExchangeIR.java:69)
at org.harctoolbox.IrpMaster.ExchangeIR.newAnalyzer(ExchangeIR.java:78)
at org.harctoolbox.irscrutinizer.GuiMain.setAnalyzeParameters(GuiMain.java:878)
at org.harctoolbox.irscrutinizer.GuiMain.processIr(GuiMain.java:936)
at org.harctoolbox.irscrutinizer.GuiMain.startButtonActionPerformed(GuiMain.java:7593)
at org.harctoolbox.irscrutinizer.GuiMain.access$9000(GuiMain.java:146)
at org.harctoolbox.irscrutinizer.GuiMain$93.actionPerformed(GuiMain.java:2719)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


Any help would be deeply appreciated.
Barf
Expert
Posts: 1532
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Post by Barf »

Probably it is enough to just turn off the analyzer (Top menu -> Options -> Invoke analyser; make sure it is deselected). If that does not help, turn of the repeat finder too.

Can you please send me the signal that causes the problem, cut-n-paste for exampe.
adityanag
Posts: 4
Joined: Fri Jan 23, 2015 5:06 am

Post by adityanag »

Hi Barf,

The Analyser was deselected as is. I deselected the repeat finder. I still get the exact same exception.

Here is what I see if I create a crude audio jack based IR sensor coupled with Code Manager. The timing might be a bit off because of the audio jack response times etc.

http://bit.ly/1E4C1FL

This is very similar to the image at the bottom of this page:

http://www.electro-tech-online.com/thre ... ol.109582/

All evidence points to XMP, including the gap between Address and Command. Are you aware of any other remote with similar signal profiles?
Barf
Expert
Posts: 1532
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Post by Barf »

Please turn on "verbose" in options. You should then get the captured signal in raw format in the console, before the stacktrace. Let me have that.
adityanag
Posts: 4
Joined: Fri Jan 23, 2015 5:06 am

Post by adityanag »

Hi Barf,

You will find the various screenshots and a text file with errors from the new remote in this folder:

http://bit.ly/1LX615F


1) I got an error on NEC too.

2) The new remote worked once - not sure why or how. If you look at the screen shot, I guess there are multiple protocols. (Archer, XMP-1..etc). Which is the correct one?

3) There is also a text file with errors from the new remote only. These where when I got the java exception. I get that on every button on the new remote.

4) I run Windows 8.1 and java build 1.8.0_31-b13

5) I am not sure why the frequency always says 20000 Hz
Barf
Expert
Posts: 1532
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Post by Barf »

Oooops! That explains it. The signal that you get from the Ardino is senseless: all the on-periods are 0! So it is not really a problem with IrScrutinizer that it barfs on such a signal. (Nevertheless, I found one buglet: it should not setup the analyzer if the analyzer is deselected -- thanx for that.)

So reading your first messge again:
... along with my Arduino UNO and a TSOPXXXX IR Sensor (38Khz).
This is a demodulating IR receiver.
I assume that you use the supplied Arduino sketch. Probem is that it is intended for non-demodulating receivers, and does not work with demodulating ones (as you have shown!). See if you can replace it with a TSMP58000, OPL-551, QSE159, or such. (There are a number of threads in this forum describing the advantages of such detectors for capturing unknown signals.)

I think it may be possible to use the receiver sketch of an earlier version of IrScrutinizer, but I am not quite sure.
adityanag
Posts: 4
Joined: Fri Jan 23, 2015 5:06 am

Post by adityanag »

Hi Barf,

That really helps. Yeah, I use the supplied sketch.

Can you link me to any circuit diagram for connecting the sensor to Arduino? Just want to be sure where the 3 pins of the sensor go.

As it stands now, signal to ardunio pin 8. The other two are ground and power. Correct?
Barf
Expert
Posts: 1532
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Post by Barf »

I intend to write a page on my web site, but it is not at the top of my TODO list.

So, be sure that look at the data sheet for your selected detector (just google for it). All have three prins, but not in the same order. Some are happy with 3.3 Volts, other (most?) requires good-old 5Volts. So conned "data out" to pin 8, GND to any GND on the Arduino, and Vcc on any 5Volt (3.3 Volt?) pin on the Arduino (pinouts on arduino.cc).

BTW, on the splash screen in the current version of IrScrutinizer, the thing on the right is an Arduino nano (chinese clone) equipped with a TSMP4138 (pin1: data, pin2: GND, pin3: Vcc; 3.3Volt compatible).
Barf
Expert
Posts: 1532
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Great news!

Post by Barf »

There is a new release, version 1.1.2. Download links in this forum are the same. Release notes are in the first message in the thread.

There are a number of small improvements and bug fixes.New is the MacOS X version as "app". However, the main difference is really the reorganization of the project sources; they are now kept in this Github repository, now as a Maven based project. Big thanx to Alec Leamas for his help.

Finally, I have written a wiki page on IrScrutinizer. This is written more to be an informal introduction, not too "scientific", with no attempts for completeness or such.
leamas
Posts: 7
Joined: Thu Mar 20, 2014 3:29 am

Fedora packages in place!

Post by leamas »

So, after a lot of work and several long delays in the packaging process: the Fedora package is in place. Practically, this means that to install irscrutinizer on Fedora 21 you do:

Code: Select all

 $ sudo yum install harctoolbox
Likewise, on the upcoming Fedora 22 release:

Code: Select all

 $ sudo dnf install harctoolbox
The packaging process has involved not only the harctoolbox package, but also a lot of dependencies. Notably, the rxtx package has been updated with the Arduino support patches which has been present in the harctoolbox.

For fedora 21, it might take yet another day before all mirrors are updated. If yum does not find the package, just wait a litlle.

A bugfix update will be release shortly. If you have problems with the package, please report using the fedora bugzilla at http://bugzilla.redhat.com.

On fedora 22, you can also use graphical tools like Gnome Software instead of dnf.

Putting an end to a long effort. Cheers!
Barf
Expert
Posts: 1532
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Re: Fedora packages in place!

Post by Barf »

Alec,
thanx a whole bunch for this!! :lol: :D

There are a few problems presently, I have just submitted a few bugs to bugzilla. Just a note to the reader: the warning message:

Code: Select all

WARNING:  RXTX Version mismatch
        Jar version = RXTX-2.2
        native lib Version = RXTX-2.2pre2
is harmless. (Fedora is to blame :wink: )

Should probably also say that DecodeIR 2.45 is also available as Fedora-package (do you say "yum-able"? At least better than "dnf-able", yucc... :? )
leamas
Posts: 7
Joined: Thu Mar 20, 2014 3:29 am

Post by leamas »

The warning message is about the latest rxtx update not being pushed to stable (f21/f22). You could help this happen by testing the update and give karma as described in https://bugzilla.redhat.com/show_bug.cgi?id=1212417 This is actually a very simple procedure, which also will enable the rxtx Arduino support (and mute the warning message).
Barf
Expert
Posts: 1532
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Post by Barf »

There is a new release, version 1.1.3. Download links in this forum are the same. Release notes are in the first message in the thread.

New functionality: Support for the CommandFusion learner. Import of CML (RTI) files (like the Glackowitz' Megalist). A number of small improvements and bug fixes. See the releasenotes for the full list.
Ellen
Posts: 103
Joined: Sun Aug 03, 2003 5:18 pm
Location: East of the Rock, West of the Hard Place

IrScrutinizer timeout

Post by Ellen »

I'm having trouble getting IrScrutinizer to work and am hoping someone can help me figure out what I am doing wrong.

I'm running java 1.7.0.80 on Windows XP SP3

Arduino UNO

QSE158 photosensor left pin to Arduino GND, center pin to Arduino pin 8, right pin to Arduino 5V

Used Arduino IDE 1.0.6 to open and load the GirsLite sketch from...

C:\Documents and Settings\username\My Documents\Arduino\GirsLite which contains
README.txt
Girs.cpp
GirsLite.ino
IrCapturer.cpp
IrCapturer.h
IRLib.cpp
IRLib.h
IRLibMatch.h
IRLibRData.h
IRLibTimer.h
IrWidget.cpp
IrWidget.h
IrWidgetAggregating.cpp
IrWidgetAggregating.h
Makefile


I did get a bunch of "...contains unrecognized characters..." errors on the various files and recommendation to use Tools -> Fix Encoding to change to UTF-8 encoding. I've both done this and ignored it with both resulting in successful upload confirmation from the IDE (and same eventual results in IrScrutinizer).

I've tried both versions 1.1.0 and 1.1.3 of IrScrutinizer.

On the Capture hw tab, I selected the COM port that my UNO is on. Left the default speed of 115200 bits/s and clicked the Open button. I get the following in the message window:

LocalSerialPortBuffered.sendString: Sent ''.
LocalSerialPortBuffered.readString: received "ERROR"
LocalSerialPortBuffered.sendString: Sent ''.
LocalSerialPortBuffered.readString: received "OK"
LocalSerialPortBuffered.sendString: Sent 'version'.
LocalSerialPortBuffered.readString: received "ArduinoGirsLite 2014-06-07"
version returned 'ArduinoGirsLite 2014-06-07'.

I click the test button and point a remote at the QSE158 and press a button. After a time I get the following:

LocalSerialPortBuffered.sendString: Sent 'analyze'.
LocalSerialPortBuffered.readString: TIMEOUT

Doesn't matter how short or long I hold the button press, it eventually times out.

I thought that I read in a previous post a couple of pages back in this thread that almost any IR sensor should work, including the QSE158. I had one laying around so thought I'd give it a try. I am fairly certain that the sensor is fine as I see voltage fluctuate when I connect the center pin to a multimeter and take readings while pointing the remote at it and pressing a button.

Any ideas what might be wrong?

Let me know if there is any other info that I need to provide to help diagnose the problem.

Any assistance would be greatly appreciated.
Post Reply