I assume that I will still have to select arduino in the GUI in order to communicate with the hardware? Thank you!

IrScrutinizer saves the last selected capturing (and sending) hardware to the preferences. However, it does not try to open it when it starts again, because I think that would have more potential problems than benefits, for example if the hardware is no longer present.

StephenR0 wrote:

Thank you very much. That was very helpful. Now to build it! Smile

Good luck. Would be nice if you report your progress.

hanryz wrote:

when trying to capture something I fail to do so. I changed the capture pin to port D and input 2 and recompiled the sketch (D2 is my previous hw config which worked with IrRemote routines).

No, you cannot change things like that. MikeT explans in the other thread that there is only one of his timers usable om Atmega328 (uno/Nano), two in Leonardo , two in Mega2560. They are connected to certain pins, non-configurable. (The Due is possibly different.) To use the alternative pin in Leonardo or Mega2560 (13 in Leonardo, 48 in Mega2560), use

#define ALTERNATE_PIN

in IrWidget.h. (My stuff, do not blame MikeT.) That are all the things configurable. BTW, I would never hard code anything like that without any good technological reason.

BTW, what hardware are you using?

Hi Barf, thanks for your comments. Finally, I re-soldered my config to fit A0 digi-pin. Now it works., sometimes it hangs and I have to restart the Hardware/Software and then it works again. I am very happy, thank you very much!

Just FYI, the receiver sketch which was delivered in the previous version and was based on IrRemote lib of the Arduino, was reconfigurable in terms of the pins.

I am using Arduino Nano v3 just as shown in your picture couple of posts before.

... sometimes it hangs and I have to restart the Hardware/Software and then it works again.

If you can come up with anything reproducible, or even a fix, please let me know.

Quote:

Just FYI, the receiver sketch which was delivered in the previous version and was based on IrRemote lib of the Arduino, was reconfigurable in terms of the pins.

Yes I know, and it is still in the not-so-lite ArduinoGirs (that is not published yet). The reason is that it uses a completely different algorithm: it assumes a demodulating sensor and samples an input with a sample time on 50ns. This of course leads very crude measurements, so it was rejected from IrScrutinizer 1.1.0. But no special timer is required, leading to the configurability..

Back to the problem with IrToy. I have fixed several issues, and uploaded a fix (Edit: removed due to release of 1.1.1) to the file section. To install, overwrite the existing files with the files in the zip archive. I call it "version 1.1.0a". Please test.

Although there are two other minor fixes in the patch, for non-irtoy users, update is not necessary.

BTW. I have tested some different firmware versions of the IrToy. Only version 2.2 works. In particular, the (since two years) beta version 2.3 cannot send with IrScrutinizer.

I have also tested with the IrWidget emulator firmware, and can confirm that it works fine, at least with IrScrutinizer.

Edit (2014-09-28): File removed since version 1.1.1 has been released, obsoleting this fix.

Last edited by Barf on Sun Sep 28, 2014 4:50 am; edited 1 time in total

Is there any particular hardware platform you'd recommend that is most compatible with IrScrutinizer? Ir Toy, Ir Widget?

All of the supported ones (with exception of "Lirc mode 2) work fine. If you are capable of soldering, I would recommend an Arduino Nano (cheap clone OK, with solder-able holes), an OPL-551 and an IR LED.

I do not know these gadgets. Looks like specialized hardware requiring their own proprietary app. No published API. I do not have any plans for supporting these; the price is not really attactive either.

Quote:

Ultimately, I'd like to use an android to generate and transmit ir, but a pc/usb solution would be the next best thing!

IrScrutinizer is written in Java, so that it should be possible to get it to run on Android.

While IrScrutinizer is good at what it does, it is not a program for conveniently controlling your equipment from the couch.

I don't have an android with ir support built in, is there any ir hardware that you recommend for use with a smartphone?

The answer is (currently) "No". There are some gadgets around, in particular those stealing the earphone plug. I have not been impressed by anything I have seen. I own a Sony Tablet S myself having an IR transmitter, but its (published) API does not allow for sending of arbitrary IR signals, possibly there is an unpublished API... The Samsungs should also have IR transmitting hardware.

You may like to check out a networked solution, like OpenRemote or iRule, having IR gateways like GlobalCache on the local LAN, and using the smartphone to send commands through those.

Quote:

Also, in addition to IrScrutinizer for capturing/generating is there another software piece that could be ported to android that would take the IrScrutinizer output and send to the hardware above?

Again, I have no particular recommendation, but it should be possible, given the existence of suitable transmitting hardware. An Android forum may know more. Search for "import CCF" or something like that.

actually I should that it works intermittently.. I don't know if it's because of my phone or some incompatibility with the device itself.. or perhaps bad codes?

I figure I'll try my luck by using it with a rendered .wav file with known good codes. I understand IRmaster was the defacto standard for that, but now that's been rolled into IrScrutinizer, is that correct?

If I could get it to work, I'd love to replace the Zaza remote app with the one from the Axium design portal.. albeit it's $17.. ouch!

actually I should that it works intermittently.. I don't know if it's because of my phone or some incompatibility with the device itself.. or perhaps bad codes?

I would strongly suggest that you find out what is inside it and how it is connected. In particular, it appears to have only one LED, making the frequuency doubling impossible. Also is it connected for "stereo"? I suggest that you measure it with a universal measuring device in diode testing mode.

Quote:

I understand IRmaster was the defacto standard for that,

Thank you.

Quote:

but now that's been rolled into IrScrutinizer, is that correct?

yes, basically. There are some "obscure" options in IrMaster (square/sine, Big endian, divide carrier) that in the interest of usability have been dropped.

After more testing, the tinydeal adapter is definitely more miss than hit, as it works maybe 1 out of 10 times

BTW, what values should I be looking for on the dmm to see if there's one or 2 diodes?

Irdroid has a $2 kit that for sure uses 2 leds (940nm) and works with the audio jack and uses an open-source android app... I wish I would have run into that sooner, but that might be the better approach.

Any pointers on what the potential gotchas are in creating an android app that combines IrDroid (for the GUI portion) and IrScrutinizer (for the wav rendering)? It'll be my first android app, but hoping it shouldn't be to steep of a learning curve!

After more testing, the tinydeal adapter is definitely more miss than hit, as it works maybe 1 out of 10 times

not surprised...

Quote:

...BTW, what values should I be looking for on the dmm to see if there's one or 2 diodes?

Put the DMM in "diode testing mode". First find out between which connector the LED(s?) are connected, namely where it conducts in one direction. Then try the other direction (flip red and black). If it conducts in both directions you are set.

Quote:

Irdroid has a $2 kit that for sure uses 2 leds (940nm) and works with the audio jack and uses an open-source android app... I wish I would have run into that sooner, but that might be the better approach.

Any pointers on what the potential gotchas are in creating an android app that combines IrDroid (for the GUI portion) and IrScrutinizer (for the wav rendering)? It'll be my first android app, but hoping it shouldn't be to steep of a learning curve!

Good luck. One day I will get into Android programming too... Basically you can either generate the waves off-line, and just send it, or you embed the rendering engine IrpMaster (containing the Wave class), and generate on-the-fly.

I have posted possible code snippets using the Wave class for generating a wav in different posts here and on Remotecentral.

I can not be of that much help. We known (from that thread) 16 commands, there may or may not be more. What I did was to streamline the work of Kevin an others, in that it is parametrized in one 8-bit "D", in all known signals 144=0x90, one 8-bit "F", and one 8-bit CRC checksum. There are also five fixed bits, one "startbit" (0:1) two fixed "01", and one "stop bit" (1:1). The version given gives you full access to fumble with all the 24 bits in D, F, and CRC. You can do this interactively in the 'Scrutinizer.

Quote:

Question: How would I change the protocol (or values in the input box) for multi-symbol color codes like

91 0E 14 A3

This appears to squeeze 32 bits into the room of 24 (or possibly 29) bits.

Quote:

Eratta code list:

Code Red Green Blue RGB

00 67.43% 99.76% 99.75% ACFEFE

01 12.06% 56.39% 99.78% 1F90FE

02 12.24% 30.01% 99.57% 1F4DFE

03 12.23% 0% 99.78% 1F00FE

04 0% 0% 99.78% 0000FE

05 99.96% 79.59% 99.78% FFCBFE

06 67.53% 30.06% 99.70% AC4DFE

07 38.09% 14.89% 99.85% 6126FF

08 46.70% 0.46% 67.21% 7701AB

09 99.87% 67.34% 99.71% FFACFE

0A 99.98% 17.26% 99.81% FF2CFF

0B 99.68% 5.05% 99.91% FE0DFF

0C 99.98% 0% 79.39% FF00CA

0D 99.90% 0% 37.97% FF0061

0E 99.89% 0% 6.78% FF0011

0F 100% 79.74% 8.60% FFCB16

10 99.90% 33.77% 3.93% FF560A

11 99.86% 46.76% 0.43% FF7701

12 99.84% 100% 0% FFFF00

13 99.88% 26.56% 0% FF4400

14 99.88% 6.75% 0% FF1100

15 99.88% 0% 0% FF0000

16 0% 99.74% 100% 00FEFF

17 0% 99.78% 42.10% 00FE6B

18 0% 99.78% 17.44% 00FE2C

19 0% 99.78% 0% 00FE00

1A 0.45% 99.84% 0% 01FF00

1B 86.02% 99.93% 79.37% DBFFCA

1C 99.79% 99.67% 99.77% FEFEFE

1D 0% 0% 0% 000000
These can be accessed by sending the ears "0E XX" where "XX" is the code from the above list. For instance: