LPC810 mini ARM Prozessor in 8 pin dip package

Greynomad wrote:

As for the Git stuff the "Organisation" sounds ok but as mentioned I have no idea about this stuff.
I know almost nothing about Git except that it's totally unintelligible, it's a miracle I got those files up at all smiley

What IDE or editor are you using? I started with a simple editor and a make file. And I tried the GIT command line. This was very complicated.
But later I began to use Eclipse. There is a plugin called EGit. With this it is really easy to use git. You just right click on the file

team -> commit

and than you can store your modifications.

I use the LPC Xpresso IDE, I gather that's based on Eclipse so maybe EGit will work with it.


Rob

I use the LPC Xpresso IDE

Hmm... I think that could work.
Using the LPC-Project is very simple. First you have to install EGit.

RightClick on the projects-explorer-window
-> import -> Git -> Projects from Git -> "Clone Button" on the right site
Than you can place

in the URI-Field. Than Eclipse should be able to download the repo.

Better is if you fork the project first in Git to your on GitHub account.

There is a simple Tutorial for EGit:

Hi Bob,

I tried to install OpenLasp like you described it:

Installation procedure:

Copy the Arduino/hardware folder to your sketches folder
Copy the OpenLaspExamples folder to your sketches folder
Restart Arduino IDE

But it didn't work as expected.
Instead I had to do the following:

copy
/OpenLasp/Arduino/hardware/OpenLasp/LPC8
to
/arduino-1.5.7/hardware/arduino/LPC8

Now the programmer file is missing:
java.io.IOException: Cannot run program "/home/christoph/arduino-1.5.7/hardware/arduino/tools/lpc_upload.sh": java.io.IOException: error=2, Datei oder Verzeichnis nicht gefunden

LPC1114 version: I don't have LPC8xx yet but I do have several LPC11xx boards so I though I would have a go at it. I wanted try the "variant" support. It proved a little more tricky, the IDE does not automatically build the required library, it has to be pre-built with makefile and put into source tree. Possibly there is a better way to do it, I might make some inquiries on dev list.

There is a git gui (command "git gui" or "gitk") which runs on Linux and Windows. There are a few things I do on the command line still but generally I use the GUI for most regular operations, commit, push. The GUI is not totally slick as it could be, but generally OK. I would love to have a simpler/better version. Github have a windows client, but I don't use it.

ChrisMicro:
I tried to install OpenLasp like you described it:

Installation procedure:

Copy the Arduino/hardware folder to your sketches folder
Copy the OpenLaspExamples folder to your sketches folder
Restart Arduino IDE

But it didn't work as expected.

In what way did it not work? I just tried it on Linux, and it worked the way I expected. There are some changes needed to the lpc_upload.sh script, I hadn't quite finished that.

To be clear, there is an Arduino "install" folder, and a "user" sketch folder. OpenLasp was designed to be installed into the user folder.

The paths will be different if you install elsewhere, and it may/may not work. It seems from your later message that it compiles but doesn't find the right tools folder.

I made a couple of assumptions, 1) it is better to install into user folder rather than patching the Arduino install,
2) an installer is not required, as it is a simple folder copy

I could be wrong about both of those things!

  1. an installer is not required, as it is a simple folder copy
    I like simplicity, so I think it is ok to install the whole thing in the user folder.
    But on my system it didn't work so I copied the things into the correct "install" folders. Probably it is a issue of the Arduino IDE version: I have 1.5.7 32bit on Ubuntu.

There is another issue. The bash script for the programmer didn't work:

and it is necessary to set the "execution bits" of the files.

Now I tried a second time the installation you described: It worked. So thats OK.
I also saw that you pulled the batch file modification.

Meanwhile back at the IDE, I installed the latest version (7.3.0) and have spent half the day getting my previous projects to compile.

Did I mention that I hate dicking with tool chains? :slight_smile:

Anyway all seems to work now.

I have installed EGit and tried to grab the repo but it asked me too many damn questions and by that time I'd had a gut full.


Rob

Hey this topic looks very interesting. I've written a Simon Says game for the LPC810 under the LPCXpresso IDE and I'm very curious to port my code to the Arduino IDE.

I've written a Simon Says game
Hi hwhardsoft,
I saw your program before. It is quite nice. Because I was looking for some way to produce sound, I found your project.
If you want it should be easy to write your code arduino compatible.
There is a sound function
OpenLasp/example05_toneMelody.ino at master · bobc/OpenLasp · GitHub

And the Button functions are working also:

At the moment I'm experimenting with some none square wave sounds:

Greynomad wrote:

Did I mention that I hate dicking with tool chains? smiley

I can understand that. Yesterday I was fighting to set up the tool chain for the Arduino IDE.
But you shouldn't give up. It is really good to have Git inside Eclipse.

@bob:
In the current version of your repo is a problem for the LPC8: it runs only half speed. This is bad because the serial port is not working as expected.
Somewhere in the initialization must be an error.
In my repo it is running with the desired speed:

Just a note for members who want to play around with the LPC810 but are not ready to move into the Arduino GUI environment and muck around...

Adafruit sells the LPC810 for too much, but the write-up on using the default (free) tool chain is pretty good and will get one started without messing up their Arduino environment. Later, if they decide to continue, they can move to the 1.5.x environment and use the new library.

Good luck, y'all. I've been playing around with the ARM PSoC 4200 for about 3 months and am just now getting comfortable not working in C++. I've flattened a few C++ libs to work with the PSoC Creator which uses the GCC toolchain, but defaults to C. Defaulting to C++ is supported (google it) but since I was only playing with the hardware and not too concerned about the ARM, I really did not go down that road.

Ray

PSoC experiences here: http://www.hackster.io/rayburne

I got the PSoC dev system on DVD a while back but just have too much to learn as it is so it's still in the drawer. Nice stuff though.


Rob

Graynomad:
I got the PSoC dev system on DVD a while back but just have too much to learn as it is so it's still in the drawer. Nice stuff though.


Rob

Of course, right now Cypress is running the 4200 PSoC at unit quantities of $1 each until the end of the month:

Personally, I have been using the $4 dollar 4200 Prototype board: http://www.cypress.com/?rID=92146
and the 4200 Pioneer board: http://www.cypress.com/?rID=77780

Why the $25 Pioneer board? Because the GUI will allow full register level debugging, breakpoints, etc!
You do not get debugging on the $4 board.

My personal experience has been favorable but somewhat frustrating and primarily along the lines that it takes way too much effort for the hobbyist ("joe arduino") to use this technology. The PSoC learning curve is steep... you will waste 30 days watching videos, digging through datasheets (IF PDFs were trees, PSoC would leave the Earth barren), and watching videos. Yes, much of the information is only available through video training. I was able to do most of my projects in the 2nd month and was comfortable with the GUI by the end of the 3rd month. My trip was a self-imposed, educational trek... Been there, done that (now.)

Ray

For those unfamiliar with the PSoC:

LCD Direct Drive Yes
No. of Op Amps 2
CPU Core ARM Cortex-M0
Max. Operating Frequency (MHz) 48
Automotive Qualified N
CapSense Yes
Min. Operating Voltage (V) 1.71
Max. Operating Voltage (V) 5.50
Min. Operating Temp. (°C) -40
Max. Operating Temp. (°C) 85
No. of Dedicated Comparators 2
No. of GPIOs 36
SRAM (KB) 4
No. of Dedicated Timer/Counter/PWM Blocks 4
No. of CAN Controllers 0
No. of Serial Communication Blocks 2
No. of Universal Digital Blocks 4
Dedicated ADC (#Max Resolution @ Sample Rate) SAR (1, 12-bit @ 1 msps)
Flash (KB) 32

Adafruit sells the LPC810 for too much, but the write-up on using the default (free) tool chain is pretty good and will get one started >without messing up their Arduino environment.

Ähhmm ... in this thread we are not messing up the Arduino environment.
We are now in a stage where you only copy two folders in the Arduino-Sketch-Folder and it works. Thats it. You can compile and donwload the examples.

Graynomad:
I have installed EGit and tried to grab the repo but it asked me too many damn questions and by that time I'd had a gut full.

With github if you just want to download a copy of a repo without faffing with git, there is always the option to grab a zip snapshot using the Download Zip button.

In this case the link is https://github.com/bobc/OpenLasp/archive/master.zip

ChrisMicro:
@bob:
In the current version of your repo is a problem for the LPC8: it runs only half speed. This is bad because the serial port is not working as expected.
Somewhere in the initialization must be an error.
In my repo it is running with the desired speed:
GitHub - ChrisMicro/LPC810_CodeBase: Open source code base for the ARM Cortex M0+ LPC810 family from NXP

It looks like SystemInit was not being called! Due to missing compiler flag. There may be some other flags I missed.
I also added in some changes from your LPC810CodeBase repo, and moved the tone.cpp files to the cores/lpc810, I didn't realise they are standard Arduino functions.

I have pushed the changes to my OpenLasp repo.

In your LPC810CodeBase you have a makefile and an eclipse project, they seem to be slightly different. I was working from the makefile verson, but I think that does not support C++. I suspect that we will need to use cr_startup_lpc8xx instead of gcc_startup_lpc8xx to get C++ initializers called. I'm not sure why there are two different startup files.

ChrisMircro wrote

Somewhere in the initialization must be an error.In my repo it is running with the desired speed:
Bob wrote:
It looks like SystemInit was not being called! Due to missing compiler flag. There may be some other flags I missed.

I found a workaround, it is the missing __USE_CMSIS:

Ah, ok, I was missing that you have already merged the changes.

I suspect that we will need to use cr_startup_lpc8xx instead of gcc_startup_lpc8xx to get C++ initializers called. I'm not sure why >there are two different startup files.

I have also no idea about that because I just used it as it came from "microbuilder".

But I have another question for the

LPC810 EXPERTS

in this forum:
For a clean sound generation a 30kHz PWM interrupt would be needed.
But I didn't succeed with that. When I enable the interrupt, the PWM hangs up after some cycles.
The code is here: