This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DLP670S: Problem setting DMD Idle Mode

Part Number: DLP670S
Other Parts Discussed in Thread: DLPC900

We are trying to enable DMD Idle Mode on a DLP670S.  On the target system we have verified that this works using the DLPC900REF-GUI.

Below is the code which is heavily based on the DLPC900REF-GUI\Source.  The code below results with the following error:

"Could not set DMD Idle mode. Error: \"Unknown error\""

Here is the code:

bool DLPC900ProjectorV2::SetIdleMode(bool on)
{
int SLmode = 0;

int SLmode = 0;
if (DLPC900_GetMode(&SLmode) == 0)
{
  if (!SLmode) //this is not supported in video mode
  {
    QString err = GetError();
    if (err.isEmpty())
      qDebug() << STR("Error: SetIdleMode not supported in Video Mode.");
    else
      qDebug() << STR("Error: SetIdleMode not supported in Video Mode. Error: %1") << err;
return false;
}
}

if (DLPC900_SetMode(VIDEO_PATTERN_MODE) < 0)
{
qDebug() << STR("Could not set video pattern mode");
return false;
}

// if sequence is already running., it must be stopped before configuring patterns
if (DLPC900_PatternDisplay(STOP_PATTERN_DISPLAY_SEQUENCE) < 0)
{
  qDebug() << STR("Could not stop pattern display sequence. Error:%1") << GetError();
  return false;
}

if (DLPC900_SetDmdIdleMode(on) < 0)
{
  QString err = GetError();
  qDebug() << STR("Could not set DMD Idle mode. Error: %1") << err;
  return false;
}

}

  • Hello J,

    Clearly it is making it to the last block of code and not bailing before that point.  

    Can you turn on command logging and capture what is sent from the GUI when it successfully sends the idle command.  

    Are you able to capture what your system is sending when it reaches the SetDmdIdleMode function, and what is returned to the function call?

    Fizix

  • Thanks,

    The TI Gui is logging the following when it successfully sends idle:

    DMD_IDLE : 0x01 

    Our system is calling SetIdleMode with 1 and the return from the function SendMsg is (-1).  Calling GetError returns an empty string.

  • Hello again J,

    After sending the command via the GUI, what does calling GetError give?  The same empty string?

    Also, how are you confirming that it has actually entered idle mode?

    FIzix