J_ornothing:
(Hexadec & Funkyguy4000) please tell me if you want me to open a new thread
Lets just keep it all running in the same thread. I can't wait to see that thing actually work. (I actually followed your schematic)
As for the PWM demo, are we only allowed to use the PWM sets that are stored in the AS1130 or can we stream in PWM data? I wanna control the frequency of "raindrops" based on a personal rain detector that can detect how hard it is raining.
binarygod:
three AS1130's i'm going to use to show a moving font on the 11x396 screen.
Hold up! you can't do an 11x396 matrix using 3 as1130's . Each 1130 can drive 132 leds MAX. your 11x396 would need 33 1130's to drive that kind of matrix buddy.
"the answer my friend is blowing in the datasheet"
Have a good read.
...and...I even gave you a link to an explanation of multiplexing...read THAT as well.
Now I don't mind answering questions for someone who makes the effort and has the abilities required for the task, but actually THINKING for someone, then answering the questions, then answering the same questions again is really starting to make me lose the will to live........
The datasheet is not as bad as some...but it IS hard to understand because it assumes quite a high level of knowledge and understanding from the reader. (quite rightly )
If you read up on how a screen/frame/matrix of LEDs is scanned...all will become clear.
This is the last time I'm going to do your thinking/research!
Read this:
Specifically:
Note
There are both 7- and 8-bit versions of I2C addresses.
7 bits identify the device, and the eighth bit determines if it's being written to or read from.
The Wire library uses 7 bit addresses throughout.
If you have a datasheet or sample code that uses 8 bit address, you'll want to drop the low bit (i.e. shift the value one bit to the right), yielding an address between 0 and 127.
I've finally had the time to hook up a logic analyser to the AS1130 and it seems that I have a problem when using the wire library to read the registers...I haven't yet figured out what it is...but over reading all the registers around the Interrupt Status Register actually gets to read it AND clear the interrupt bit....Yeeeeeeaaawwwww!
Part of the idea of having defines is that it makes it easy to adapt code....so for each extra chip you just need to change the default address to the address set on the chip and change the datasets and it should work out of the box.
(not that I know what you intend to do! )
If you read the notes in the example code (AND the datasheet)...the picture register setting is overidden by the movie reg. setting so unless you are using pictures it doesn't need to be there...
...however it IS there to show how it can be used.
Yo binarygod. Not that I don't like questions but you do know that you can start programming and if its wrong, you can change it. We've already discussed the hardware portion of the AS1130 and that's the part you can't change.
Programming on your own may answer some of these question.
funkyguy4000:
So there may be an unknown internal connect?
I don't know what's going on yet...not had much time to play but I found that if I read 20 bytes starting at 0x00 (picture reg.) it frees the IRQ pin which should clear with a read of 0x0E (it doesn't)
There's something dodgy going on with the way I'm reading the bus using wire...but it works fine for the first 15 bytes...f*!k knows what's going on but the good news is at least I now know that the IRQ works OK to some extent which frees up continuing with four screens.
I must say though that I may just use the MCU to control the whole lot and ignore the chip interrupts. It should be easy enough to get everything synchronised. (I hope :D)
Well like I said...it is C code but unfortunately I'm not familiar with your compiler...if it's ANSI C you shouldn't have too much trouble.
How well do you understand the registers in your processor?
It's fairly easy to write routines to implement I2C in C but I'm sure your compiler will have routines for this.
EDIT:
I'm going to make a suggestion which you may or may not like....
Why don't you buy yourself an Arduino board, then you'll have 1000's of expert programmers there to help not only with the hardware side but the C programming as well.
I bought a genuine UNO for £16 on eBay but I'm sure there are cheaper versions (not that I'd recommend a Chinese rip off) or it's very easy to build one yourself. You can even buy the chips with the bootloader installed.