Page 6 of 27

Using DecodeIR 2.45 with IrScrutinizer 1.1.1

Posted: Sun Feb 22, 2015 10:48 am
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.)

Java Exception from IrScrutinizer

Posted: Thu Feb 26, 2015 11:53 pm
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.

Posted: Fri Feb 27, 2015 8:41 am
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.

Posted: Fri Feb 27, 2015 12:29 pm
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?

Posted: Fri Feb 27, 2015 1:17 pm
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.

Posted: Sat Feb 28, 2015 12:57 pm
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

Posted: Sat Feb 28, 2015 1:28 pm
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.

Posted: Sat Feb 28, 2015 8:17 pm
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?

Posted: Sun Mar 01, 2015 4:44 am
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).

Great news!

Posted: Sun Apr 19, 2015 2:08 pm
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.

Fedora packages in place!

Posted: Thu May 21, 2015 8:56 am
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!

Re: Fedora packages in place!

Posted: Sat May 23, 2015 2:41 pm
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... :? )

Posted: Sun May 24, 2015 12:50 am
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).

Posted: Wed Sep 09, 2015 12:32 pm
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.

IrScrutinizer timeout

Posted: Fri Sep 11, 2015 5:45 pm
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.