device limit for ISELED RTM 4.0.0?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

device limit for ISELED RTM 4.0.0?

781 Views
johnathan_weise
Contributor II

I am trying to program demonstrators with large lengths of ISELED LEDs. I am running into an issue however where I get stuck in a DEV_ASSERT loop when trying to address more than 35 devices in a single strip upon sending my first digLED_Set_RGB() command.

Is there an limit lower than the 4075 potential addresses for how many devices can be used with this release? I was able to make more work in previous releases... 

0 Kudos
2 Replies

673 Views
dragosrachitan
NXP Employee
NXP Employee

Hello Johnathan,

We have not encountered this problem. May I ask how you are addressing the LEDs? More information would help to find a solution for your problem.

Thank you,

Dragos

0 Kudos

673 Views
johnathan_weise
Contributor II

When starting from the s32k144 iseled freemaster example, I set the iseled component to data PTE5, clock PTE4, timeout 300 uS. I change the line: 

#define NR_OF_LEDS

add additional values to the input buffer array continuing to count upward:

digLED_SendCmdBlockType cmdBlock[NR_OF_LEDS] = {
/*RED |GREEN |BLUE |LED ADDRESS|COMMAND */
{0xA1, 0xBB, 0xCC, 1, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 2, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 3, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 4, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 5, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 6, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 7, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 8, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 9, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 10, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 11, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 12, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 13, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 14, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 15, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 16, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 17, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 18, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 19, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 20, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 21, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 22, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 23, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 24, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 25, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 26, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 27, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 28, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 29, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 30, SET_RGB_BLOCK, {0}},
/*{0xA1, 0xBB, 0xCC, 31, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 32, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 33, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 34, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 35, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 36, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 37, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 38, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 39, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 40, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 41, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 42, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 43, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 44, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 45, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 46, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 47, SET_RGB_BLOCK, {0}},
{0xA1, 0xBB, 0xCC, 48, SET_RGB_BLOCK, {0}},*/
};

in the main function, I initialize the strip

strip = 0;
digLED_ReturnType retCode;
//strip initialization
digLED_Reset (0);
delay(2000);
digLEDResultStrip1.chainLength = nrOfLEDs;
//appState = OPERATION_ONGOING;
retCode = digLED_Init_Strip(&testInitType, &digLEDResultStrip1, strip);
//while(appState == OPERATION_ONGOING);
delay(1000000);

and then upon the first set command to the strip:

digLED_Set_RGB(100, 100, 100, 0, strip);

the program gets kicked into DEV_ASSERT and can't come out if I tell the program to use more than 30 LEDs

0 Kudos