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.

DLP2010NIR: I2C command between Tiva and DLPC150 on NIRSCAN

Part Number: DLP2010NIR
Other Parts Discussed in Thread: DLPC150

Hi,

Let me talk about I2C command between Tiva and DLPC150 on NIRSCAN.

We could not find their command in DLPU031A.
Their command is issued after click Scan button on GUI.
Please let me know their means following.

-0xf1(This is Line 700 in dlpc150.c)
uint8_t cmds[9] = {DLPC150_REG_WRITE, addr, addr>>8, addr>>16, addr>>24, value, value>>8, value>>16, value>>24 };

-0x54(This is Line 534 in dlpc150.c)
uint8_t lampCurrent[7] = {DLPC150_LED_W_CURRENT, 0, 0, 0, 0, 0, 0};

-0x52(This is Line 611 in dlpc150.c)
uint8_t cmds[2] = {DLPC150_LED_W_ENABLE, 0};

-0xda(This is Line 861 in dlpc150.c)
uint8_t cmds[1] = {DLPC150_ADMIN_LIGHT_SENSOR};

-0xf8(This is Line 965 in dlpc150.c)
uint8_t cmds[1] = {DLPC150_SEQ_VECT_NUM};

Best Regards
Hiroyasu

  • Hello, 

    Thank you very much for you question! Please allow us some time to investigate your question. 

    Thanks, 

    Brandon

  • Hello Hiroyasu,

    Three of these commands have an API function in dlpc150.c but are not used in the NIRscan Nano Tiva application. They are not necessary for the NIRscan Nano operation.

    -0xf1(This is Line 700 in dlpc150.c)
    uint8_t cmds[9] = {DLPC150_REG_WRITE, addr, addr>>8, addr>>16, addr>>24, value, value>>8, value>>16, value>>24 };

    -0x54(This is Line 534 in dlpc150.c)
    uint8_t lampCurrent[7] = {DLPC150_LED_W_CURRENT, 0, 0, 0, 0, 0, 0};

    -0x52(This is Line 611 in dlpc150.c)
    uint8_t cmds[2] = {DLPC150_LED_W_ENABLE, 0};

    The remaining two commands are used in the NIRscan Nano software and have the described purpose, but are not documented in the DLPC150 programmers guide:

    -0xda(This is Line 861 in dlpc150.c)
    uint8_t cmds[1] = {DLPC150_ADMIN_LIGHT_SENSOR};

    Reads the value for the Photodiode light sensor in the system. The DLPC150 has a sense1 input which is used to measure the light level of the lamp. This value is then stored in the scan data structure. The intention was so that a customer could use this value to track lamp degradation over time.

    -0xf8(This is Line 965 in dlpc150.c)
    uint8_t cmds[1] = {DLPC150_SEQ_VECT_NUM};

    This is an internal synchronization command used to improve the redundancy of the system.

  • Dear Eric

    Thank you for your reply.
    I could not understand yet.
    You told me their following three command are not nessesary for NIRscan Nano operation.
    Does it means user can remove their command ?

    -0xf1(This is Line 700 in dlpc150.c)
    uint8_t cmds[9] = {DLPC150_REG_WRITE, addr, addr>>8, addr>>16, addr>>24, value, value>>8, value>>16, value>>24 };

    -0x54(This is Line 534 in dlpc150.c)
    uint8_t lampCurrent[7] = {DLPC150_LED_W_CURRENT, 0, 0, 0, 0, 0, 0};

    -0x52(This is Line 611 in dlpc150.c)
    uint8_t cmds[2] = {DLPC150_LED_W_ENABLE, 0};


    Best Regards
    Hiroyasu

  • Hi Hiroyasu,

    Those three functions in dlpc150.c are not actually called or executed from any code within the DLP NIRscan Tiva firmware. Therefore, you may safely remove them and recompile.

    If they were used, then after removing them you would receive a compiler error when trying to compile the firmware.

  • Dear Eric

    Thank you !
    I got it.

    Best Regards
    Hiroyasu