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.

Reply via email to