LARD, Arduino-style abstraction library for the LPC1227 32-bit processor

Thanks pico, I was beginning to think that nobody cared =(

What aspects of "Arduino-like" are important,

Good question, for the moment I'm concentrating on the standard things like reading/writing pins, UARTs etc as well as adding stuff I think people always use, for example yesterday I added input debouncing, this works in the background (or should do, I haven't hooked up any hardware yet :)) for all 39 IO pins, just call debouncePinRead() to get the current state of the pin.

This should get around the constant dicking around with millis() to see how long the transition has been in place. I'm about to expand that to include a "pushButton" object the raises "onPressed/onReleased" style events so there's no messy "do something when a button is pressed and something else when it's released" code.

I also just added finite state machine support but it was so simple it hardly justifies having it built in so I'm thinking about that.

they went to great length porting the entire Arduino IDE to the Maple,

I suppose I see where they were coming from but the IDE is the last thing I'd want to port. Apart from the fact that I don't have the resources why on earth would you use it when you get the fantastic Eclipse IDE for free?

The IDE is good for it's intended audience but as you say they aren't the people who need to work with 32-bit processors.

If you can make an abstraction layer that significantly reduces the effort to port many of the Arduino 3rd party libs

That's the plan, I should grab some 3rd-party library source code and see how it goes. I still have a lot to do before that though. I suspect any such porting efforts by library authors will be aimed at the Due when it arrives and I don't plan to port every known library, but I will probably do things like LCD etc.

then you may attract the requisite critical mass.

That will be the day, nothing I do attract anything as you can see by the lack of interest in this thread :slight_smile: I suppose I could make an Arduini-compatible board, but I fear there has been too many such boards already and most haven't taken the Arduino world by storm.

I just think that with more resources (on these larger chips) we could do so much better than the messy Arduino API, at least get the function naming more orthogonal, eg delay() and delayMicroseconds(), why isn't it delayMillesecnds()? And what does "interrupts()" do? Yes I know what it does now but it's not descriptive, enableInterrupts() is.


Rob