The UK Home Automation Archive

Archive Home
Group Home
Search Archive


Advanced Search

The UKHA-ARCHIVE IS CEASING OPERATIONS 31 DEC 2024

Latest message you have seen: RE: Sky plus help


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

IR Code Reading, C-bus


  • To: <ukha_d@xxxxxxx>
  • Subject: IR Code Reading, C-bus
  • From: "Rob Mouser" <rmouser@xxxxxxx>
  • Date: Sun, 26 Oct 2003 11:53:46 -0000
  • Mailing-list: list ukha_d@xxxxxxx; contact ukha_d-owner@xxxxxxx
  • Reply-to: ukha_d@xxxxxxx

Hi All

Do we have any IR specialists in-house? Was it Dan who wrote the plugin
for Autom8it?
You are gona have to bear with me here as my knowledge is limited and I
need to explain the software so my questions at the end of this post
make some sense!

OK, the Clipsal C-bus IR reader is a USB based 'box' that you point your
remote at, nothing complicated there! It installs no problem. The
software install is also fine (Note this is just the READER software you
use another application called CIRCA to configure your transmitter.
Circa uses the IR files you have learned in this process.)
This is how it works:
You have the choice of using a wizard which is fairly intuitive or the
main software window which although is less than intuitive does the job.
This whole process I'm about to describe is made worse my some really
'clunky' and 'odd' behaviour in the software. To be honest the IR reader
software feels really quite 'beta' in operation. I guess down to the
very few numbers of units yet sold.

The first thing you have to do when learning a new set of codes is tell
the software what the IR protocol is. This is done in one of two ways.
Either by selecting from a pre-determined list, such as RC5, Sony, NEC,
Panasonic etc. The other alternative is too let the software discover
the protocol. This is done by a little wizard sequence that gets you to
press the same button or your remote twice and then a different button,
once. It then gives the details of the discovered protocol. I have found
that even if using say a Sony remote it doesn't always recognise it as a
Sony protocol but as a new-unrecognised one. The information it presents
is as follows (This is the Sharp protocol.):
Carrier frequency: 37.7 khz
Frames rate: 68ms
Frames structure: IJ
A: 272 us
B: 776 us pulse
C: 1822 us
On some protocols there is also a 'Dummy frame' and the A-C bit can be
longer (I.e. A, B, C, D, E....)

Once you have completed this part you then go on to choose your button
labels from pre-determined templates and then you can also
add/delete/edit buttons to match your remote.

Then you go on to learn each button one by one, it steps you through
this button by button.

Lastly you save your work into a file for that particular remote or set
of codes.

OK this all sounds really simple YES? Well it is with some remotes, for
example my Pioneer CD & DVD player were an absolute dream. Recognised
the protocol, learned in the buttons, sorted!
BUT, this is not always the case. My Marantz Receiver and my
Speakercraft Pre-Amp are two very good examples of this.

This is the problem. When you teach the software the protocol it then
matches the received IR code in the button learning process to this
protocol and if it believes it doesn't match then it throws up an error
and won't learn that button. The actual error is "Error: captured data
do not match vocabulary" or sometimes "Carrier period differs
from the
specified in protocol". You also occasionally get messages saying that
the "data frame was shorter than expected" but it lets you accept
this
one. This then leaves you with an incomplete IR code set. This problem
is made worse by the fact that you can't change the IR protocol midway
through a learn sequence, doing so deletes all the codes you have learnt
already. So....one work around to this is to learn different buttons on
a remote into different code sets, effectively giving you more than one
file for each remote, this is far from elegant. Also I have found that
there are some buttons it just WON'T learn.

OK, lastly when you save a code set (I.e All the chosen buttons on a
remote.) you then save this as a file which as I mentioned earlier is
then loaded into the CIRCA software used for programming the IR
Transmitter. This file is actually an xml file and can be read in
Notepad. The file structure looks like this. Please note my questions
are at the bottom of all this! :-):

---------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created by CISPL IRReader on 21/09/2003 20:53:51 -->
<!DOCTYPE Device SYSTEM "Device.dtd">
<Device>
<Name>CD Player</Name>
<Manufacturers>
<Manufacturer>
<Name>Pioneer</Name>
<Variants>
<Variant>
<Sources>
<Source>
<Name>CIS</Name>
<ReaderNo>0</ReaderNo>
<RemoteBrand>Pioneer</RemoteBrand>
<RemoteModel>CU-PD059</RemoteModel>
</Source>
</Sources>
<Name>PD-S802</Name>
<Protocol>PIONEERCU-PD059</Protocol>
<IRCommands>
<IRCommand>
<Name>
Power
</Name>
<IconName />
<Continuous />
<Frames>
<Frame>
<Name>I</Name>
<IRcode>

DcAaAbAaAaAaAbAaAbAbAaAbAbAbAaAbAaAaAaAbAbAbAaAaAaAbAbAaAaAaAbAbAbA
</IRcode>
</Frame>
</Frames>
</IRCommand>
<IRCommand>
<Name>
OpenClose
</Name>
<IconName />
<Continuous />
<Frames>
<Frame>
<Name>I</Name>
<IRcode>

DcAaAbAaAaAaAbAaAbAbAaAbAbAbAaAbAaAbAaAaAaAbAaAbAaAaAbAbAbAaAbAaAbA
</IRcode>
</Frame>
</Frames>
</IRCommand>
<IRCommand>

It also has details of the protocol:

<!-- Protocol -->
<ProtocolDef>
<Name>PIONEERCU-PD059</Name>
<CarrierFreq>40000</CarrierFreq>
<FrameRate>86</FrameRate>
<Format>I</Format>
<Pframes>
<Pframe>
<Name>I</Name>
<Type>Data</Type>
</Pframe>
</Pframes>
<MinFrames>4</MinFrames>
<MaxFrames>255</MaxFrames>
<Vocabulary>
<VocabularyElement>
<Name>A</Name>
<Duration>537</Duration>
</VocabularyElement>
<VocabularyElement>
<Name>B</Name>
<Duration>1598</Duration>
</VocabularyElement>
<VocabularyElement>
<Name>C</Name>
<Duration>4280</Duration>
</VocabularyElement>
<VocabularyElement>
<Name>D</Name>
<Duration>8573</Duration>
</VocabularyElement>
</Vocabulary>
</ProtocolDef>
</Device>

--------------------------


So my questions are this:

What the hell is all this protocol stuff!
Can I find information about what these protocols should be for a
remote?
Should a remote have more than one protocol type for different buttons,
that seems odd to me? Or is the software just reading it
differently/wrongly?
Do you think I can actually manually edit this XML file? Will the
<ircode> section just contain standard data. I.e. Could it be
manually
copied and pasted from Pronto Edit say?
Is it likely that the protocol definition is used by the transmitter? Or
is this just a mechanism to ensure that you capture good/clean codes
resulting in less errors?

I'm sorry if I've just asked impossible questions but I've been playing
with this for countless hours now and feel that I am going to need to
gain a much greater understanding of IR to make this work.
This is one piece of kit that is most definitely not 'plug and play' and
intuitive to use!

LASTLY, I'm pondering that if CIRCA uses xml files for its IR data I've
been wondering if anyone actually needs an C-bus IR reader. Surely if
you've got a pronto and IF these <ircode> are standard then once you
have got to grips with the xml format you could just write your
own!!!!!!!

I really hope I've made some sense!

Cheers


Rob.





[Non-text portions of this message have been removed]



Home | Main Index | Thread Index

Comments to the Webmaster are always welcomed, please use this contact form . Note that as this site is a mailing list archive, the Webmaster has no control over the contents of the messages. Comments about message content should be directed to the relevant mailing list.