FastSPI

hey guys!
well, i have 0 code experience and i want to learn how to run Fast SPI.

i want to use it for a tm1803 chip for LED's
anywho, how does one use fastSPI and where can i go to learn how to write code using it? i looked at the FastSPI website and googlecode places but there really wasnt much there for beginners.

What does "Fast SPI" mean to you?

its a library for driving LED controllers. thats about all i know, but ive been told by many-a people that it runs the tm1803 chip better than the standard code and is faster and easier to use.

http://code.google.com/p/fastspi/

I haven't used that library, but it seems to be a recurring theme that documentation is done as an afterthought for many open source projects and this seems to be no exception. http://waitingforbigo.com/2013/02/19/fastspi_led2_preview_release/ shows a trivial example and might be enough to get you started - it also suggests that the documentation is expected to follow in later releases. I suspect your best bet would be to Google keywords from the API and see if you can track down some examples, and then reverse engineer them.

Raidenbeats, which release are you using? FastSPI_LED or FastSPI_LED2? Note that V2 is only a release candidate and not an actual release yet. V1 is stable.

V2 should be pretty stable now - also, PeterH, it isn't so much that documentation is an after thought - it's that the new library is a lot more complex than the previous library and i've been trickling out preview releases with enough example code for people to work off of while tuning and refining the apis involved. The feedback from having the library out and people using it while the api has been in a bit of flux has been invaluable in getting it nicely refined, as well as taking care of some edge cases that don't necessarily come up in my projects, and the base example code shows code for a variety of configurations (at least one for every chipset supported), as well as a variety of the ways to set led data.

Barring bugs popping up, the documentation and a large library of sample code is the reason why this drop is a candidate and not a release.

im using Fast_SPIV2

i think my main problem is im jumping in too fast. i have never coded a day in my life, and i think i should go learn how to use the arduino interface before i try something like fast spi.

Well said, Young man.

Raidenbeats:
hey guys!
well, i have 0 code experience and i want to learn how to run Fast SPI.

Zero experience, eh? Try reading this then:

so from what i just read an SPI is a way for a microprocessor (I.E. Arduino) to send and recieve data from any kind of device (i.e. led strip, lcd display, remote control interface ETC)

... any kind of device ...

That supports SPI, yes.

... i have never coded a day in my life ...

Walk before you run, as I was told many years ago. Do some simple projects and then it will all fall into place. If you haven't used SPI before, going for a "fast" library when you don't understand the slow* one, is probably over-reaching.

  • It's not that slow. SPI is pretty fast anyway, and for LEDs, your need for speed is probably unwarranted.

For example, here I am using "normal" SPI to light 32 LEDs:

And here, 64 LEDs:

OK! im going to start learning right from the beginning! are there any resources for complete and total newbies to learn from that you guys know of?

Sorry to bring up a dead thread, but I'm working on a project using this project,

and I can't seem to find the original FastSPI.

How can I make this project work using a different version of the FastSPI?

Sorry this is my first project, and I have no clue what I'm doing.

=-/

Thank You,

Greg

The SPI code on the Arduino has probably changed significantly since 2013 and it's certainly changed since 2011.

Do you know that you actually need fast SPI? The standard one (as Nick says above) is pretty good. Test it with normal SPI and see if it does what you need.

Have you looked at the options currently available with the SPI library - there's a method called setClockDivider() which can be used to pump up the speed.

If that doesn't work, then either your idea is unworkable (trying to control a million LEDs to make a video screen might be an example of "unworkable") or you need to carefully tune the rest of your code to deliver the data to SPI at the required rate.