It is possible that the WS281x waveforms can be generated using SPI. I would try running at 5.33MHz sending a 0b11000000 = 0xC0 byte for a "0" bit and a 0b11110000 = 0xF0 byte for a "1" bit. Not very efficient, but may not matter. In either case, adding support for this protocol in firmware using either bit-banging or the SPI peripheral is probably not too hard.
On Mon, Oct 6, 2014 at 3:02 PM, Kiran Chinnam <[email protected]> wrote: > datasheet for similar product using same protocol can be found here: > http://www.adafruit.com/datasheets/WS2812B.pdf > <http://www.adafruit.com/datasheets/WS2812B.pdf> > > > On Monday, October 6, 2014 11:00:36 PM UTC+1, Kiran Chinnam wrote: >> >> I know this thread is old, but to anyone else who is interested, it turns >> out I actually had WS2801. WS2811 does NOT use SPI. It uses a single data >> line with a proprietary protocol. They are practically what adafruit calls >> neopixel. It basically uses a pulse of x micro seconds to represent logic >> low and pulse of y microseconds to represent logic HIGH. I've not tried on >> IOIO. It is easy to get working on chipKit and arduino, so it should be too >> hard. (Mostly bit-banging) >> >> On Monday, October 21, 2013 11:15:36 PM UTC+1, Kisurb Choe wrote: >>> >>> No I did not. I gave up on using the ws2811 based strip, and bought >>> ws2801 based strip. IOIO OTG worked much better with ws2801 based strip >>> because it has clock node. >>> >>> So I recently made my project to completion and posted this to >>> hack-a-day.com: http://hackaday.com/2013/10/08/led-guided-piano- >>> instruction/ >>> This is the instruction manual for making the device. >>> http://trinkc.blogspot.com/2013/10/how-to-make-led- >>> guided-piano-teaching.html >>> >>> Sorry I could not be of help. >>> >>> K >>> >>> 2013년 10월 21일 월요일 오후 5시 39분 21초 UTC-4, Luis Fraguada 님의 말: >>>> >>>> Hello Kisurb, >>>> Did you ever get your strip working with IOIO? I have been successful >>>> with LPD8806 based strips, but not the WS201* ones. Picking up now after a >>>> few months of not playing with it...seeing if I can figure out a proper >>>> packet timing, but no luck yet. >>>> >>>> Luis >>>> >>>> On Thursday, May 23, 2013 5:55:39 AM UTC+2, Kisurb Choe wrote: >>>>> >>>>> Hi Kiran, may I know how you powered your LED strip? I tried to power >>>>> this strip with a 12V 6A laptop charger but it turns on for 0.3 second and >>>>> it goes off. >>>>> >>>>> 2013년 5월 16일 목요일 오후 6시 15분 52초 UTC-4, Kiran Chinnam 님의 말: >>>>>> >>>>>> Hi Kisurb, >>>>>> I have this LED strip too. I used to have IOIOv1 board and I >>>>>> managed to drive this strip with ytai's Holiday IOIO app from google >>>>>> play: >>>>>> https://play.google.com/store/apps/details?id=ioio. >>>>>> examples.holiday&hl=en >>>>>> Not sure if the app is compatible with IOIO OTG because of pin >>>>>> changes. However, Ytai put up some source code on github which may be of >>>>>> use to you for driving this LED Strip:https://github.com/ytai/ >>>>>> ioio/blob/master/software/applications/HolidayIOIO/src/ >>>>>> ioio/examples/holiday/HolidayIOIOActivity.java >>>>>> >>>>>> If this works for you please reply saying so. It will be useful for >>>>>> others. >>>>>> >>>>>> On Wednesday, May 15, 2013 3:53:29 AM UTC+1, Kisurb Choe wrote: >>>>>>> >>>>>>> >>>>>>> Hello, I recently bought this LED module to work with my IOIO OTG >>>>>>> board. >>>>>>> http://www.aliexpress.com/store/product/DC12V-input- >>>>>>> WS2811-pixel-node-100pcs-a-string-injection-molding-type/ >>>>>>> 701799_722405450.html >>>>>>> >>>>>>> According to this datasheet >>>>>>> <http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CC8QFjAA&url=http%3A%2F%2Fwww.espruino.com%2Fdatasheets%2FWS2811.pdf&ei=Gu2SUea3Cov08AS1vYD4Cg&usg=AFQjCNHyfvfK19HgnfrFcemySE2FpofZlQ&sig2=h1ThUAszicBO4KEumvR0hQ&bvm=bv.46471029,d.eWU>, >>>>>>> each LED is controlled by WS 2911 which uses 400 Khz Pulse Width >>>>>>> Modulation >>>>>>> (PWM) signal to controll it. So one cycle is 2.5 micro second. 0 >>>>>>> high is >>>>>>> 0.5 microsecond, 0 low is 2 micro second, 1 high is 1.2 microsecond, >>>>>>> and 1 >>>>>>> low is 1.3 microsecond One thing about the chip is it does not have an >>>>>>> internal clock (whatever that means?) >>>>>>> >>>>>>> The max rate of SPI signal of IOIO OTG is 8Mhz, which gives 125 nano >>>>>>> second per SPI bit. So this 8Mhz SPI signal, >>>>>>> 1111 0000 0000 0000 0000 should give rise to 0 in 400 Khz PWM, (four >>>>>>> 1s X 125 ns = 0.5 microsecond HIGH) >>>>>>> 1111 1111 1100 0000 0000 should give rise to 1 in 400 Khz PWM, (ten >>>>>>> 1s X 125 ns = around 1.2 microsecond HIGH) >>>>>>> total 2.5 byte of SPI signal should give rise to one PWM (20 bits X >>>>>>> 125 ns=2.5 us) >>>>>>> so if I were to control an LED strip with 60 RGB lights controlled >>>>>>> by 24 bit PWM chips, I can control this setup by sending 2.5 byte X 24 >>>>>>> X 60 >>>>>>> SPI bits at 8MHz. >>>>>>> Turns out this reasoning is too simple, and there is a complicated >>>>>>> solution for fixing the issue at other platform like this: >>>>>>> http://bleaklow.com/2012/12/02/driving_the_ws2811_at_ >>>>>>> 800khz_with_a_16mhz_avr.html >>>>>>> >>>>>>> My question now is... Do you know any code, or a way to allow IOIO >>>>>>> board to drive WS 2911 LED strip.. >>>>>>> >>>>>> -- > You received this message because you are subscribed to the Google Groups > "ioio-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/ioio-users. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "ioio-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/ioio-users. For more options, visit https://groups.google.com/d/optout.
