LEPOMUX
| What is it? | |||
|---|---|---|---|
| LEPOMUX stands for LEGO Port-Multiplexer. Its purpose is to extend the the I/O ports of the LEGO RCX. (In case you don't know what the RCX is, take a look at LEGO's Mindstorm website). | |||
![]() | |||
| Features: | |||
| Drawbacks: | |||
| You want it? | |||
| The first Lepomux-sets are almost ready for shipping. Some missing contact plates will hopefully arrive in week 43. A set including controller, sensor- and motorboard will cost about 150 Euro (plus taxes & shipping). If you're interested in buying one or more of them, please let us know by sending an email to order@lepomux.org. | |||
|
| Serial Data Transfer Protocol (outdated) |
| Controlling the Lepomux is done via one of the RCX motorports.
The initial version used a protocol with 5 bit preamble, 8 bit data and a parity bit. Bit timing was measured within the preamble so we knew when to sample the data bits.
As it is almost impossible to generate a precise 1kHz output using BrickOS, we had to patch the kernel and do some nasty tricks. This enabled us to send up to 30 byte/s to the Lepomux.
All in all, this protocol wasn't too robust and had quite a lot of overhead because of the preamble.
Finally we dropped that protocol because there was a much better way to do it. RCX motorports have 3 states: forward, off and reverse (actually we've got 4 states, because a motor can be set to 'off' = floating or 'brake' = shorted - anyway, brake is hard to detect and not really needed in this case). Looking at those 3 states, our motorport carries one and a half bit of info per edge. This fact can be used to implement an almost timing-independent protocol where each bit starts with an edge. There is no need for a patched kernel any more and even the preamble is obsolete. A transfer of one byte takes about 10ms using BrickOS (take a look at senddata.c). NQC, LejOS or anything else can be used too, but transfers will take up to 30ms. Lepomux v3.1 will additionally use 'break' to determine start and end of datapackets. This leads us to a completely timing-independent protocol. |
![]() |
![]() |
| Lepomux v1.0 Prototype Assembly | |||||||||||||||
| |||||||||||||||
NOTE: This site is in no way connected to or endorsed by LEGO corporation. LEGO and RCX are trademarks of the LEGO corporation.
Thanks to Silpion for hosting this site.