RLP and FEZ Panda 2

Hi There!

I’ve finally decided to try out the RLP feature of Panda 2. I’ve came across this interesting post:

Which says like in order to run RLP I need to click a special tab in my GHI account settings and get some code. I’ve tried the links and they are all 404. Could anyone point me to the right routine to enable RLP on my board?
I would also be grateful for examples for Panda 2 (USBizi), as none of the links in that post work.

@ cyberh0me - I’ve just finished reading it. No any word of the “enabling/disabling”, so curious whether that was just a hoax.
The document also features “RLP in Depth” by “Simon from Vilnius” but that doesn’t cover USBizi chipset.
So I am still kinda unsure whether I have everything in here to start my RLP journey:


@ cyberh0me - good. The reason I’ve asked is because I have Panda 2 which was bought in 2011 and the post on stack overflow is dated with 2013.

the post on stackoverflow is talking about how GHI initially opened up RLP. That’s history.

Now onto your problem. WS2811/WS2812/WS2813 are all using the same protocol. You don’t need RLP to use them. Just get on and order them and you’ll be fine !

Hi Brett!
Thanks for the answer!

But you agree that with RLP it will be more reliable and glitches-less, right?
I saw that codeshare item which doesn’t use RLP and is still able to run WS2811, but I also saw lots of comments that it doesn’t work for other people and I am not sure whether it will work for my project where I am deciding on what LED to lit based on the incoming signal from Serial port.

That Adafruit Netduino guide made me curious on using RLP since WS281x are really timing-dependent. But I will definitely try it without RLP first in 2 weeks when I get the strip.

SPI is fine, you don’t need to go to RLP - but I would also say that the you might need to tell us more about everything you want to do when you’re sending SPI data :wink:

@ Brett - I don’t want to show myself as an ignorant person, but if SPI from managed code is fine for driving WS2813 how comes lots of people had the timing problem with their NETMF boards? Even Adafruit says that.

In short on the project I have in mind:

  • The application is constantly monitoring the data sent to COM1 Serial port by an external device.
  • Based on the data received the application decides which LEDs should be lit, what color and brightness and what leds should be off.
  • Then the data is pushed to the LED Strip

So the model is a precedent-based one. There’s no any stored program or pattern on how to light the Led Strip, everything should be driven based on the interpreted signal from Serial port.

An example:

  • Application receives some data from Serial port and interprets it
  • Based on the interpretation it needs to lit LEDs №1 with red color, №3 with blue and №8,12,15 with purple
  • The data is sent out to the Strip (this is still a question on whether I can send the data Led by Led or should create a buffer and send it within some reasonable timing. Like whatever fits the 20ms interval should go as a single data portion)
  • In 10 secs (may be less, may be more) the new data from Serial is read and interpreted
  • Based on the interpretation we need to lit LED №1 with green, №4,5 with lime and switch of №8,15
  • The data is sent out to the Strip

and so on.

Do you see any issues based on the scenarios depicted?
Those are very basic scenarios, so I can imagine the brightness animation to be introduced too.
The critical moment is that there should not be a big latency between a signal sent to Serial port and the Led Strip to light those changes

Guys, an important question I have… the RLP examples file I’ve downloaded from here

contain the following folders:

  • Cerb Family
  • EMX
  • FEZ Hydra
  • G120
  • G400

There’re no USBizi files. I understand that GHI doesn’t produce anything with USBizi chip nowaday, but how about supporting the old clients?
Any clue?

One more update. The GHI SDK 4.1 documentation contains the following:

USBizi: by default, RLP is not enabled and locked.
Enabling RLP will reserve about 10KB of the user RAM memory for RLP. To enable RLP call RLP.Enable(). This call is only needed once. It will reserve about 10 KB for RLP and then reboot the device automatically. To restore the original RAM configurations without RLP, the firmware must be erased using GHI’s boot loader.
Unlocking information is provided online under your GHI account. Unlocking must be done before using RLP each time the application starts.
RLP Address: 0x40000440. RLP Size: 0x000027FC

So I still strongly believe I need to unlock my RLP.
Do we have official GHI guys to answer this question?

@ cyberh0me - I’ve found an interesting post from GHI support in one of the threads:

So I still have a belief. The tough question so far is the USBizi example of RLP code and the makefile and loadscripts what GHI has in the example folder for their other boards.

Do you have a clue where I can get any?

Found the examples… Looks like somebody doesn’t want it to be found via normal UI way:


The RLP example from the USBizi example pack worked.

There’s a way to have an RLP on your USBizi board still, however, the resources and answers are misleading and hidden.

@ DeathBloom - It has been a long time, but I believe the requirement to get a key, to unlock RLP on the USBZI, was eliminated in a later software release.

@ Mike - That’s partially true:

  • everything which runs NetMF 4.2 doesn’t need a key
  • Even with 4.1 the only chip needed the key was USBizi

so Panda 2 falls into the two anti-rules here: it is not supported for NetMF, so it’s still 4.1 and it’s USBizi based.
I will give an additional run 2morrow without the Unlock function to check whether it will be the issue.