News:

Rule #1 - Be Patient - Rule #2 - Don't ask when, if you don't contribute - Rule #3 - You have coding skills - LinuxMCE's small brother is available: http://www.agocontrol.com

Main Menu

CM11A - adding new lights...

Started by jondecker76, February 09, 2008, 03:54:45 AM

Previous topic - Next topic

caiman

I'm running 32 bits so I guess I'll have to compile it. Not sure how yet but I will figure it out.

thanks Jondecker76 !!!

jondecker76

Heres info on setting up a development environment: http://forum.linuxmce.org/index.php?topic=4718.0

Heres the info you will need on where to get the changes, and what you need to recompile:http://forum.linuxmce.org/index.php?topic=4456.0

nite_man

Quote from: jondecker76 on March 21, 2008, 09:59:30 PM
The fix was submitted about a month ago, but it never made it to beta 4 unfortunately. It is however in the svn.linuxmce.com/pluto/trunk. You could download the required files from there:
CM11A/devicepoll.cpp
CM11A/devicepoll.h
CM11A/cm11aconsts.h
Serial/SerialPort.cpp
Serial/SerialPort.h
Lighting_Plugin/Lighting_Plugin.cpp
Lighting_Plugin/Lighting_Plugin.h
pluto_main/Define_EventParameter.h

If you are running 64-bit, i will send you the binaries if you want them.

The fix is 100% stable, and extremely fast (fast for x10 anyways) - everything happens for me in well under a second. Also, I am using this in a house with around 100 active x10 modules (all light fixtures and outlets in the house are X10, as well as many sensors, plug-in modules, and inline modules.

I understand why it doesn't work for me. I recompiled CM11A only. So, I should build Serial and Lighting_Plugin as well, right?
Michael Stepanov,
My setup: [url="http://wiki.linuxmce.org/index.php/User:Nite_man#New_setup"]http://wiki.linuxmce.org/index.php/User:Nite_man#New_setup[/url]
Russian LinuxMCE community: [url="http://linuxmce.ru"]http://linuxmce.ru[/url]

jondecker76

Michael

Yes, you must compile them too.
From /Serial run make, then copy the resulting libSerial.so to usr/pluto/lib
From Lighting_Plugin, run make so, then copy the resulting Lighting_Plugin.so to usr/pluto/bin

caiman

BIG THANKS to nosilla99 and jondecker76 for this awesome piece of work !!! I soo love opensource.
If you send me your address by PM, you get a belgian beer (and still waiting for the one from Michael)

It works indeed very well ! All activity on the X10 "bus" generated by remote controls is decoded properly and the x5 answers do not cause locks any more.

I thought I would share the binary for x86 to save some time for others:
http://www.k-net.eu.org/lmce/cm11a-x86.tgz

Sam



jondecker76

thank you caiman - if you don't mind, I may post your x86 binaries along with my 64 bit binaries to the "known problems" area on the wiki along with the other workarounds!

Glad to hear its working well for you

Jon

nite_man

It'd be really helpful, Jon! Thanks to you, nosilla99 and Sam for fixing and building a correct binaries for CM11A interface! Well done!
Michael Stepanov,
My setup: [url="http://wiki.linuxmce.org/index.php/User:Nite_man#New_setup"]http://wiki.linuxmce.org/index.php/User:Nite_man#New_setup[/url]
Russian LinuxMCE community: [url="http://linuxmce.ru"]http://linuxmce.ru[/url]

hari

rock your home - [url="http://www.agocontrol.com"]http://www.agocontrol.com[/url] home automation

ddamron

The only intuitive interface is the nipple.  After that it's all learned.
My other computer is your windows box.
I'm out of my mind.  Back in 5 minutes.
Q:  What's Red and smells like blue paint?

A:  Red Paint.

martinsw

Hi jondecker,

Did you start looking at the CM15A usb controller integration yet ?

Xurde

Hello there,

let me introduce myself: my name is Xurde, I´m from Asturias (Spain) and I´m doing my Final Project with X10. I got stuck at some point, and from what I´ve read in this post I think (and hope) you can help me. My project is about sending X10 signals from the PC, through CM11 interface. The problem is I´m receiving the "evil" 0x5A and so I can´t send any signal. I tried to send the ACK 0xC3 but it doesn´t work!  I've read your post (to be honest I didn´t read it entirely) and I saw you solved it, but I didn't get How. I´d be really happy if you could help me, thanks in advance,

Xurde Duran


jondecker76

are you using 0710? X10 was broken on 0704, but fixed in 0710

Xurde

Hi jondecker76,

actually I´m developing the program with Windows (big Mistake), anyway I´ve just realized I was interpreting the signal in a very bad way, I´m receiving 0xA5, no 0x5A, what means a power fail! A solved it by sending 0xfb and updating the clock.

Anyway, thanks, if you guys still need anything, just write down in this post.

Gracias!

jondecker76

#73
The biggest thing we learned about the CM11A while tearing into it is that there exists some hardware flaws that make making a completely bulletproof driver extremely difficult.

For example, the CM11A can and will receive PLM data even during the middle of sending data. With a shared rx/tx buffer, you can see how this could get ugly. Before sending any data, queue it up and make sure that the serial ring is not indicating that data is coming in, and double check to make sure there isn't data already waiting to be processed. You can't fix the hardware flaw, but the more you can do to eliminate such collisions, the more stable things will be.

Another thing that can get you is that there are certain situations where 0x5A is a checksum, so be sure to include logic in your 0x5A handling that copes with situations where you are actually expecting it!

stallione

Hey Jon,
Thanks and great work!
Could you please send me the binaries (64bit) for CM11A that you've complied?
Thanks,
Stallione