Let's Make Robots!



Having got the processing/arduino serial sorted, I thought I'd have a go with charliplexing. I downloaded this library, and wrote a bit of code to try it. However, whenever I try to verify a sketch using it (including the demo sketch), I get this error;no matching function to call to 'Charlieplex::Charlieplex(byte [3], int)'. I've tried re-extracting the library, but with no success. Does anyone have any ideas?

If this library is broken, does anyone know of a better one for charlieplexing?

Thanks in advance.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Just wanted to get my 2 pence in. I take some exception to the term "Charlieplexing". When we did the same thing in the 70s and 80s it was just called multiplexing, then Charlie Allen (working at Maxim) convinced people it was new in 1995 and got them to name it after him. I remember using the same principle in the 70s on an electric train layout, so the LEDs would give a clear indication of polarity in switched power to tracks (and which direction the train would be moving on which track). I found the idea in Model Railroading magazine and thought it an ingenius way to multiplex the signals, (both for track-level semaphore lights and control board indicators) especially on a multi-rail system, at the time. What Charlie Allen can be credited with is applying the same principle to microcontrollers.

Other than simply calling it multiplexing, if they called it track-plexing or Rail-plexing, then I wouldn't have a problem with that, but some joker claiming to have just invented something that had already been used for at least 20 years, is somewhat offensive in that it insults our intelligence. I believe it may have been used even before the days of LEDs by using regular tiny "grain-of-wheat" lamps and rectifying diodes (which were around a few decades before that). I know I used it in the 1970s, because I only did model railroading when my kids were young. by 1980 or so, I lost interest in it.

I hadn't really looked into the history of it. I knew it was just another form of mutiplexing, but I didn't knoww when it dated from. I find it really annoying when people take the credit for other people's work, too.

Maybe I should not have said anything, since it is becoming sufficiently widespread that we are not going to change it. :-) After all, history is written by the winners and Charlie Allen has won his place in history for whatever reason...  ha ha ha.

the following has naught to do with robots. Rather it is your

                                History Lesson of the Day:

Reminds me of Julius Caesar's History of the Roman Empire, where he describes the Roman "invasion" of Scotland. They moved north into the land of these wild barbarians, building forts along the way, They built Hadrian's Wall which stretched from sea to sea across the land (from Solway to Tyne) to keep out the barbarians of the north. As time went by they worked their way northward building more forts as well as another wall called the Antonine Wall and continued north. Eventually, the Picts (what the Scots were called in those days) got pissed off enough that the king of the Picts met the Roman advance with his own army. The Roman histories declare they were victorious against the Picts, but the reality of it defies that. After this great Roman "vistory" wherein they lost a majority of their men, they retreated south abandoning all forts, passing and abandoning the Antonine wall and other installations and retreated below Hadrian's wall, never venturing north of it again. When you read this account, you automatically realise on some level that the Romans would never have retreated if they had won. They would not have pulled out all troops, nor left their forts abandoned and empty, but the Picts left no written records of what happened, so we have only the Roman account to read. It is not always true that history is written by the winners, but perhaps only by those who write their version of history unchallenged (like Charlie Allen has now done).

There is no real need for a Pictish account, since the Roman history paints the picture well enough to show what really happened. Even though the encounter with the Picts was supposedly a "victory", it was also recorded that the Roman general who led the battle was called back to Rome and executed "for bringing shame and disgrace to the Roman empire". A very odd way of congratulating him for "winning" don't you think?

[While Hadrian's wall does not mark the border between england and Scotland today, it did so for hundreds of years.]

End of History Lesson

I have to admit that I did not know about the second wall in Scotland but was aware the Romans didnt think it worth occupying beyond Hadrian's Wall. Which I think most intelligent people would interpret as don't mess with a Scotsman.
Interesting history lesson Dan and I must agree I hate it when ideas are stolen and pinned on somebody else.
In the end I guess if they are more successful at spreading the knowledge in the idea then thats the best for mankind but it's a tough break for the original innovator.
It's like Einstein and his ideas were already proposed by others but the main thing is he brought it mainstream. I better duck for cover now after throwing that one.  ; D

"I call it 'Smith's Theory of Relativity!'"


It never ceases to amaze me how often you seem to have a clip for the right moment. Are you cataloging them?

I've always found it interesting learning about history, to find out the various views on events and seeing how the world ended up the way it is today. I've never really looked much at ancient history (I tend towards more modern history, as I can see more directly how it affected the current world), but it's an interesting "victory" you've recounted. It never does to rely solely on one piece of evidence, as there are allways at least 2 sides to every story. Just because it is recorded by someone in one way doesn't mean they're right. All of this sort of stuff is why I chose to do A-level history. It wasn't my best subject at GCSE, but I still wanted to keep going with it. Thanks.

It's like Christmas for me when you post this stuff, Dan.  I could live on it.

My understanding is that almost all that we know about the Druids comes from what Pliny and Ceaser wrote-not exactly insiders.  You also once mentioned something about how Gaelic wasn't written down until there was a decision by Scotts/Irish scholars to write it in English letters (and as a result it sounds like the English were just messing with the Gaels in their selection of phonem representation.)  What were they writing in Ogham script then?  

The historical account is just the same old story though, isn't it?  Same as all the shady goings-on in the Bible, like where it sounds like someone is defending King David against charges of attempted regicide or where two different people killed Goliath.

As to the Ogham (pronounced O'-am) writing, I know that was used by the Irish, but I do not know if the Scots also used Ogham script, but I read that they left no written record of that battle with the Romans. Since both Irish and Scot spoke variations of the same language, it is possible there was something written about the battle in Ogham, but which has not come to light, —lost to antiquity.

I have picked up on a couple related items which may help, too. Irish and Scots spoke variations of the same language, –Gaelic. The Romans called the barbarians of the north "Picti", which basically means the "painted ones" (painted, tinted, coloured) because of their decorating their bodies with blue decorations (tattoos); –at least the warriors did. They went into battle naked, wearing naught but their tattoos, which was supposed to scare their enemies. I believe each tattoo represented a prior fight or battle the warrior had lived through. The more tattoos, the more respected –and the more dangerous.

On the other hand, the Romans called the Irish the "scoti", which in old Latin meant "raider".  Today's Scottish did not inherit that name until around 880AD (I'd have to look up the exact date... 886 runs in my mind).  The Pictish king (I think his name was Aed) and every member of his family were murdered, while the Irish king Kenneth McAlpin happened to be visiting with his men. In the morning, the horrible deed commited by "parties-unknown" was discovered. McAlpin denied that he knew anything about who did such a foul deed, killing all the Pictish royalty without rousing any of the Irish from their sleep. He announced that since all the Picti relatives were killed along with the Pictish king, that he, McAlpin, was the closest living heir, and would therefore assume the throne. He decreed that the Picitsh kingdom, previously called Alba, would be known as Scotland from thence forward. People say the Picts "disappeared" from history, but they simply took on a new name, Scottish.

[ Now some of this paragraph is speculation backed only somewhat by facts.  I've noticed about the Romans fighting the Gauls. The words are too similar for mere coincidence, and makes me suspect that the Gaels are the Gauls. The Romans fought the Gauls on several fronts, all over Europe and even in the middle east. One country was Galatia, (also appearing in the bible), which seems to be these same elusive Galls or Gauls or Gaels. What I believe I've pieced together is that the Gallic empire was not a single country but an empire that preceded the Roman one. As I said above, this is not totally supported as provable, but is part of my theory. I do know a lot more about this, but this is not the venue for all that.]


I have read translations of those accounts by Pliny and Julius Caesar. I only learned to speak Latin within the last few years. (Needed to learn it for one of my books.) My exposure to Latin back in school was too sparse to read such myself (and were I to have spoken it in some past life, it had slipped away long ago). However, with what little I did know in those days, I believe the translations I read were correct. I recall that Caesar did not know a lot about the druids getting many facts mixed up.



It compiles just fine in arduino 023. arduino 1.0.1 has your stated issue with it.

According to http://arduino.cc/forum/index.php?action=printpage;topic=122062.0

To make it compatible with version 1.0+, you need to change the following in Charlieplex.h:

#include <WProgram.h>
#include <Arduino.h>