IR controlled - WinFun 1155-NL Richmond Toys R/C toy car

If you have learned signals that don't get decoded when you look at them in IR.exe, post your file to the Diagnosis Area then post your question here (including a link to the file).

Moderator: Moderators

Post Reply
Borg Number One
Posts: 2
Joined: Wed Jan 30, 2019 12:33 pm

IR controlled - WinFun 1155-NL Richmond Toys R/C toy car

Post by Borg Number One »

Hi,

My son got a new infrared remote controlled: Winfun R/C Toy Car - ("1155-NL")

http://www.winfun.com/getimage/index/ac ... a4cf03.png

further links:
https://i.imgur.com/ufspHew.jpg
http://www.winfun.com/en/product/motion ... sounds-car

On the remote control there are three buttons:

1) drive forward
2) acoustic signal / horn
3) drive back and turn right at the same time

In the past I was very interested in IR remote controls related topics and interested in the different IR protocols and I already did read many about them and read many about the different IR related tools:

LIRC -- http://www.lirc.org/
WinLirc -- http://winlirc.sourceforge.net/
IrScrutinizer -- http://www.harctoolbox.org/downloads/index.html
Infrared protocol analysis with PC soundcard -- https://www.onetransistor.eu/2014/12/in ... th-pc.html
SlyControl RCExplorer -- http://slydiman.me/sce/rcexplorer.htm
(Infrared) Nethome Protocol Analyzer -- http://wiki.nethome.nu/doku.php/analyzer/start
IR protocol analyzer - http://www.ostan.cz/IR_protocol_analyzer
https://sourceforge.net/p/controlremote ... ree/trunk/
DecodeIR - JP1 Remotes -- http://www.hifi-remote.com/wiki/index.p ... e=DecodeIR
Interpreting Decoded IR Signals (v2.45) -- http://www.hifi-remote.com/johnsfine/DecodeIR.html

What I was able to do so far:

I have not got any rs232/usb-hardware for receiving IR signals with my linux PC.
So, accidentally I figured out, that my old HTC Android smartphone has a built-in IR blaster, which can send !AND! receive IR signals.

The next step was to find a possibility to get and capture the IR signals from the toy car IR remote control.
Many IR remote control related Android apps use an internal or external IR code database and do not have a "learn" button for new IR codes.
A few IR remote control related Android apps have the possibility to learn new IR codes.(e.g.: Smart IR Remote - AnyMote)

But I could find only one IR remote control related Android app which can show the newly learned/captured IR remote control signal in detail: "Unified Remote".

But this IR code learning feature is not the main feature of the app.
In the settings: "IR (Select & Learn)" you can test your IR receiver and the app shows a LIRC like RAW IR code.

I could successfully capture the tree IR signals from the IR remote control buttons and I could successfully build a LIRC compatible "remotecontrol.conf" file for importing the signals into IrScrutinizer:

https://i.imgur.com/WWEya6g.png
https://i.imgur.com/qEm3b0T.png
https://i.imgur.com/Lawk8VK.png
https://i.imgur.com/Lm0B1Lb.png
https://i.imgur.com/T5dZH0J.png

1) drive forward:

Unified Remote output:

Code: Select all

UIR.FREQ.35294.SEQ.229,151,76,85,77,85,77,85,77,85,77,151,77,150,77,151,76,1590
converted for and used/inserted in IrScrutinizer:

Code: Select all

+229 -151 +76 -85 +77 -85 +77 -85 +77 -85 +77 -151 +77 -150 +77 -151 +76 -1590 @ 35294 Hz
IRScrutinizer analysis result:

Code: Select all

{35,3k,76,msb}<1,-1|1,-2>(3,-2,A:7,1,-1588u)+{<b>A=0x07</b>}; Alt leadout form: ^3m
https://i.imgur.com/iLUzPQW.png
("A=0x07" --> HEX2BIN = 0000 0111)

2) acoustic signal / horn:

Unified Remote output:

Code: Select all

UIR.FREQ.34413.SEQ.229,149,76,85,77,148,77,85,77,85,77,148,77,85,77,148,77,1599
converted for and used/inserted in IrScrutinizer:

Code: Select all

+229 -149 +76 -85 +77 -148 +77 -85 +77 -85 +77 -148 +77 -85 +77 -148 +77 -1599 @ 34413 Hz
IRScrutinizer analysis result:

Code: Select all

{34,4k,77,msb}<1,-1|1,-2>(3,-2,A:7,1,-3069u)+{<b>A=0x25</b>}; Alt leadout form: ^3m
https://i.imgur.com/rwijwK7.png
("A=0x25" --> HEX2BIN = 0010 0101)

3) drive / turn back clockwise:
Unified Remote output:

Code: Select all

UIR.FREQ.34090.SEQ.229,150,77,85,77,85,77,151,76,85,77,151,76,151,76,86,76,1591
converted for and used/inserted in IrScrutinizer:

Code: Select all

+229 -150 +77 -85 +77 -85 +77 -151 +76 -85 +77 -151 +76 -151 +76 -86 +76 -1591 @ 34090 Hz
IRScrutinizer analysis result:

Code: Select all

{34,1k,76,msb}<1,-1|1,-2>(3,-2,A:7,1,-20)+<b>{A=0x16}</b>; Alt leadout form: ^3m
https://i.imgur.com/5xGGz9l.png
("A=0x16" --> HEX2BIN = 0001 0110)

I also could insert the RAW codes into the Android app "RCoid" and could also design and create a simple remote control for controlling the Winfun RC toy car.


Questions:

Referring the three different captured RAW IR data, what kind of IR protocol / IR standard is used?

Does IrScrutinizer analyze and decode the RAW IR signals correctly or are there further possible interpretations?

Referring the three existing / captured IR codes, would it possible to regenerate new IR codes - for example just driving back without turning right at the same time or just driving forward legt/right?


Thank you very much for your IR related support.

Kind regards

Steven
mdavej
Expert
Posts: 4631
Joined: Wed Oct 08, 2003 7:08 am

Re: IR controlled - WinFun 1155-NL Richmond Toys R/C toy car

Post by mdavej »

Borg Number One wrote:Questions:

Referring the three different captured RAW IR data, what kind of IR protocol / IR standard is used?

Does IrScrutinizer analyze and decode the RAW IR signals correctly or are there further possible interpretations?

Referring the three existing / captured IR codes, would it possible to regenerate new IR codes - for example just driving back without turning right at the same time or just driving forward legt/right?
Nice work.

Protocol is a very simple custom one that we have never seen before. It's basically just one pulse of different lengths. So it has no name.

I assume Scrutinizer got it right since it didn't throw any errors.

Highly doubtful there are any other possible commands the car would respond to. Reverse/turn is due the the mechanics of how the car is made. When it goes reverse, the steering turns without any actuation. This is just how these simple toys work. To prove this to yourself, turn it off and roll it backwards by hand. It will turn with no power at all.
Barf
Expert
Posts: 1524
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Post by Barf »

Hi Steven,

I am the author of IrScrutinizer. Glad that you found it useful. Possibly even more useful if you get some IR hardware that is supported, for example this, an IrToy, a GlobalCache or other. That way you get the signals direct into the program, and you can also send directly, provided the hardware supports it. For Linux I have found a device like this (just the USB receiver, the remote as such can be disposed) quite useful, supported by Linux directly, without using Lirc. It can be used for IrScrutinizer using the /dev/lirc interface. (It does not support frequency measumerment though.)

The output from IrScrutinizer looks good. I saved your three signals in a text file together with their names, and fed it into IrpTransmogrifier (see also this). and got the following output

Code: Select all


$ irptransmogrifier -a 50  anal  --bit-usage  --namedinput  src/test/misc/rc_car.txt 
drive forward:              {80,msb}<1,-1|1,-2>(3,-2,A:7,1,-20){A=0x7}
acoustic signal / horn:     {80,msb}<1,-1|1,-2>(3,-2,A:7,1,-20){A=0x25}
drive / turn back clockwise {80,msb}<1,-1|1,-2>(3,-2,A:7,1,-20){A=0x16}

Bit usage analysis:
A       0**01**
Duplicates analysis:
A       0(a:2)01(~a:2)  1,2,2,2
which also looks good.
Referring the three different captured RAW IR data, what kind of IR protocol / IR standard is used?
Already answered by Dave.
Does IrScrutinizer analyze and decode the RAW IR signals correctly or are there further possible interpretations?
There are of course other ways the signal could have been generated. IrpTransmogrifier says:

Code: Select all

$ irptransmogrifier -a 50    analyze --all  +229 -151 +76 -85 +77 -85 +77 -85 +77 -85 +77 -151 +77 -150 +77 -151 +76 -1590
{80,msb}<>(3,-2,1,-1,1,-1,1,-1,1,-1,1,-2,1,-2,1,-2,1,-20)
weight = 18     TrivialDecoder
timings = (3440, 0, 0).
{80,msb}<1,-1|1,-2>(3,-2,A:7,1,-20){A=0x7}
weight = 10     Pwm2Decoder
timings = (3440, 0, 0).
{80,msb}<1,-1|1,-2|3,-2|1,-20>(A:18){A=0x20057}
weight = 12     Pwm4AltDecoder
timings = (3440, 0, 0).
{80,msb}<1,-1| 1,-2| 1,-3| 1,-293u| 1,-364u| 1,-435u| 1,-506u| 1,-7| 1,-8| 1,-9| 1,-10| 1,-11| 1,-932u| 1,-1003u| 1,-1074u| 1,-1145u>(3,-2,A:28,1,-20){A=0x111}
weight = 41     XmpDecoder
timings = (3440, 0, 0).
{80,msb}<-1,1|1,-1>(3,-2,A:6,-2,B:2,-20){A=0x3e,B=0x2}
weight = 12     BiphaseDecoder
timings = (3440, 0, 0).
{80,msb}<1,-1|-1,1>(3,-2,A:6,-2,B:2,-20){A=0x1,B=0x1}
weight = 12     BiphaseInvertDecoder
timings = (3440, 0, 0).
{80,msb}<-1,1|1,-1>(3,-2,A:6,-2,B:2,-20){A=0x3e,B=0x2}
weight = 12     BiphaseWithStartbitDecoder
timings = (3440, 0, 0).
{80,msb}<1,-1|-1,1>(3,-2,A:6,-2,B:2,-20){A=0x1,B=0x1}
weight = 12     BiphaseWithStartbitInvertDecoder
timings = (3440, 0, 0).
{80,msb}<-1|1>(A:43){A=0x72aa4900000}
weight = 27     SerialDecoder
timings = (3440, 0, 0).
there are indeed a number of different interpretetions, just that the selected PWM interpretation appears the most natural one (selected since it has the lowese "weight").
Referring the three existing / captured IR codes, would it possible to regenerate new IR codes - for example just driving back without turning right at the same time or just driving forward legt/right?
Yes, you can do this with IrScrutinizer (as well as IrpTransmogrifier). Just add the just-found IRP protocol to the end of IrpProtocols.ini, and shoot it with some supported hardware. Let me know if you need more detailed instructions.
Borg Number One
Posts: 2
Joined: Wed Jan 30, 2019 12:33 pm

Post by Borg Number One »

Hi mdavej and Barf

thank you very, very, very much for your help an your new IR related information and IR related utilities .

I could have a closer look into the toy car and there is a kind of a gear.

Driving forward means that the steer feature will be skipped frequently in a mechanic way - you can hear a knocking sound while driving forward.

When driving back the steer feature will be used inside the gear and the car turns clockwise while driving back.

So, it seems to be there are no more (hidden) new IR commands possible.

Well, thanks a lot for your help.

I would like to donate your both help, what are your Paypal accounts?
Barf
Expert
Posts: 1524
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Post by Barf »

Hi Steven,

thanx for those nice words :D ! Glad if I was able to get you a bit forward.

I do not think you should "expect" undocumented commands on a toy like that. BUT, there is nothing like finding out, and not taking other's word for it. :lol: 8-)

Personally, I do not (at least presently) accept donations. Instead, please donate to The Free Software Foundation, or any charity organization of your preference.
Post Reply