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.

regarding pulse oximeter

Hi,

I am working with TI's pulse oximeter. I have 2 doubts:

1) When i connect EVM 5505 board to my laptop and run the pulse oximeter , i am only able to look at the signal on the LCD , the %SPO2 and HR are being shown as 0. I am not sure whats wrong ? Even the PPG signal looks some what random when compared to what is shown in the PDF file provided with the kit.

2) how do i extract the PPG signal into MATLAB ? Is there any way to save it into txt file and use it in MATLAB?

 

I would really appreciate if anyone could help me with these questions.

 

Kali.

  • Michal,

    Here is the tracking number:

    Tracking number (Fedex): 794484684624

     

    Regards,

    Peter Chung

  • Peter,

     

    Thank you, I have received the board.

    At first tests, it is working OK.

    I have tested it using original SpO2.out (dated 6/9/2010) using MDK Demo and on LCD display, as well as with programs to extract Infrared and Red signal with simple UART monitoring.

    Thank you again for your help,

    Best regards,

    Michal Buchert

     

  • Hello Mr.Chung,

    I have problem with the board again. I worked with the board yesterday. I see the same random signal again. I don't find any difference between the random signal shown by the new board compared to the old board. I tried runing the SPO2 system files, but at the end it was throwing some random signal. I would really appreciate if you can please figure out the problem.

     

    Regards,

    Kali.

     

     

  • Kali,

    The board I shipped to you was working fine on my bench. Have you modified or rebuilt the SpO2 software?

    Regards,

    Peter Chung

  • Mr.Chung,

    I did not change or modify  any file given in the CD. I just ran the SPO2 System files and it gave me random signals. If you want  to see the screen shots of the signal, you can give me your email id and i can send those to you. I don't know how to copy or attach the screen shots in this forum.

    Regards,

    Kali. 

     

     

  • Mr.Chung,

    Is it necessary  to put batteries in that board  while working with the board?

     

    Regards,

    Kali.

  • Kali,

    Could you provide your email address? I will contact you.

     

    Regard,

    Peter Chung

  • Mr.Chung,

    My email id : swaraj.kali@gmail.com

     

    Regards,

    Kali.

  • Hi Peter,

    We're also having trouble getting the SpO2 board going.  Can you tell us what the board problem was that you found?  Or at least how we can test whether we have the same problem so that we can eliminate that problem and stop worrying about it?

    Many thanks,

    Berwyn

  • Specifically, the trouble that we are getting is that the output is just noise.  No heartbeat pictures like in the pdf; no SpO2 or HR readings.  Below is what it looks like.  The red noise occurs just after we insert our finger into the probe:

     

     

    Thanks,

    Berwyn

  • Hi Berwyn,

    I think i can solve your problem. I had the same problem. But Mr.Peter Chung resolved it. It pretty simple. When you install CCSTUDIO on your computer, there will be one folder named CCStudio_v3.3. An in this there is a folder named SPO2 system I am pretty sure you are running the files present in SPO2 System which is not correct. I even did the same way which is wrong. Try this: go to program files there will be a folder named C550x_MDK_pulseox_application_code , click on this folder and copy the entire SPO2System folder and paste it in SPO2 system folder present in C-> CCStudio_v3.3 -> SPO2System ->XYZ. I just created a folder named XYZ and poasted the SPO2 system folder here. Now, just open the .pjt  from this new folder and just build it and then go to file->load program->debug->.out file. I am dam sure you will get the perfect output signal with spo2 value and heart rate. If you follow the above procedure and you are not getting the values, then Peter would be the right person to be contacted.

     

    Regards,

    Kali.

     

     

  • Hi Kali,

    I'm afraid this doesn't help much -- though I appreciate your effort.  The reason it doesn't help is that nothing in your description matches my setup.  To wit:

    • I'm using CCStudio_v4.1.0.  I have got the app to build without errors in CCStudio v4 using the instructions in this forum and on the TI getting started wiki.  This is installed under "c:\program Files\Texas Instruments\ccsv4"
    • No, there is no SpO2 system folder under that folder.
    • There is no C55x_MDK_pulseox_application_code folder anywhere.  The closest I have to that is C:\Program Files\Texas Instruments\C55x SpO2 Medical Development Kit (MDK) but that only has an exe file in it.  That's the PC App that I'm running.
    • As for the .pjt file, I have imported the .pjt file from the google code download of the SpO2 source at http://code.google.com/p/c5505-ezdsp/
    • Yes, I have right-clicked my SpO2.out binary that was built by CCStudio_v4 and loaded it with the debugger, and then pushed "run".

    Still not getting anything but noise, I'm afraid.

    Thanks,

    Berwyn

  • Hi Berwyn,

    I am sorry that i can't help you much because i installed CCS3.3v and your's is the latest version . Better contact TI's customer care.

    Regards,

    Kali.

  • Hi Kali/Michal,

     

    Peter has not replied.  Are one of you able to tell me what TI did to your boards to fix them?  I'd like to check whether I have that fault on my board.

     

    Thanks,

    Berwyn

  • Hi Berwyn,

     

    I have no idea what they did to the board but returned board at first tests it works fine. Returned board has the same serial number as one malfunctioned and send for replacement to Peter Chang.  I was away for a while and I will test it again tomorrow developing for my application.

     

    What I can suggest is to test first using their original SpO2.out file dated 6/9/2010, 5:15 PM, size 320 KB (downloaded from: http://code.google.com/p/c5505-ezdsp/  under C5515 EVM click SpO2 MDK):

     

    C:\....\MDK_SpO2System_C55515EVMa\MDK_SpO2System_C55515EVM\Output

     

    or

     

    C:\....\MDK_SpO2System_C55515EVMa2\MDK_SpO2System_C55515EVM\SpO2_System_v5_1\Debug

     

    These SpO2.out files were created using Codegen version 3.36 as indicated in RealeaseNote.

    (Release Note

    SpO2_System version 5.1 has been modified from SpO2_System version 5.0 to be able to run on the C5515 EVM.

    Software features have not been changes and the same as the SpO2_System version 5.0.

    Known Issue:

    As of June 9th 2010, the Codegen version 3.36 should be used to build the project. Building the project with the later Codegen versions may break SpO2 functionality.)

     

    With the above SpO2.out file run from CCStudio_v4 on C55515EVAM board (TMX320VC5515) with AFE module (TMDXMDKPO8328) you should get at least signal without such noise as shown on your picture.

    If SpO2.out is compiled by CCStudio_v4 with other than Codegen version 3.36, I was getting similar noisy signal.

     

    It seems that they have no compatibility between C55505EVA and C55515EVAM under various software platform (previous and new version of CCStudio_v4) so Codegen version 3.36 must be used to run AFE SpO2 module properly (to run Codegen ver 3.36 under CCStudio_v4 is another gimmicks).

     

    Above test with original SpO2.out file will give you at least idea if your board is functioning properly or not (if signal and SpO2 and HR value will be OK). If not as it was in my case it will indicate that your board is also malfunctioning.

     

    Good luck and best regards,

     

    Michal Buchert

  • Thanks, Michal.

    That's definite progress, but we're not there yet.

    1. The pre-built SpO2.out file does work, so that's proven my hardware (whew).
    2. But I need to be able to build it myself.  I incorrectly assumed that the readme about codegen 3.36 was obsolete since v4 came with the dev kit.  Strange.
    3. Unfortunately, CCStudio_v3 is not available for download from TI, so I'm stuck again.

    That's an obscure thing for TI to do: ship v4 which doesn't work, and not make v3 available.

    Is there a way to get codegen 3.36 working on CCStudio_v4?

    Thanks,

    Berwyn

     

  • Hi Berwyn,

     

    Strange and obscure. It is surprising that TI has compatibility problem and MDK SpO2 system must be run with Codegen 3.36 platform. I hope TI will fix it.

    To get Codegen 3.36 working on CCStudio_v4 I am using "go around" method, which is probably not very correct one but it works for me.

    From address:

    https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm

    C55x 3.3.x Releases download files:

    C5500 Code Generation Tools v3.3.6

    Install it.

     

    Process described at:

    http://processors.wiki.ti.com/index.php/Compiler_Installation_and_Selection

    did not work  so I used "go around" method:

     

    1. copy contents of folder:

    C:\Program Files\Texas Instruments\ccsv4\tools\compiler\c5500

     to a new one e.g.: C5500-42:

     

    2. Start and Run CCStudio_v4, connect the device and so on.

     

    3. from folder C:\Program Files\Texas Instruments\C5500 Code Generation Tools 3.3.6

    copy and replace ALL to folder:

     C:\Program Files\Texas Instruments\ccsv4\tools\compiler\c5500

     

    4. now you can compile and Debug your version of C programs under Codegen 3.36

     

    5. After closing CCStudio_v4, before starting it again copy from folder C5500-42 its contents to original folder:

    C:\Program Files\Texas Instruments\ccsv4\tools\compiler\c5500

    replace ALL to return to original version of CCStudio_v4. If you will not do it, you will get error message that your program was generated under other version.

     

    6. To run CCStudio_4 again with Codegen v3.36 repeat subsequently point #2 and #3.

     

    I hope this will help. Let me know.

     

    Best regards,

    Michal Buchert

     

  • Hi Michal,

    That was very helpful, thank you.  By trial and error and a few good spy tools I also managed to discover why CCStudio_v4 will not recognize codegen 3.36 tools.  It runs the cl55.exe file (the C compiler) with the --compiler_revision flag and if it's anything less than 4.x.x then it won't let you use it.

    So I've written a small C program to hook the compiler and make it report v4.0.0 -- attached in case others wish to get codegen v3.36 going in CCStudio_v4.

    For the benefit of others trying to get the SpO2 going with the EVM5515, here is my procedure:

     

    • To install the oximiter source, download SpO2 MDK from google code.
    • Download and install the codegen v3.36 package.
    • Now hook the compiler to report v4.0.0 as follows:
      • Go to \Program Files\Texas Instruments\C5500 Code Generation Tools 3.3.6
      • rename cl55.exe to cl55-original.exe
      • download the attached cl55.exe or build it from cl55.c (using mingw, do: gcc cl55.c -o cl55.exe)
      • and put the .exe into this directory
    • Load up CCStudio_v4 and go to "Window/Preferences/CSS/Code Generation Tools" and click "Refresh" and you should see it find TI v4.0.0 tools in the v3.3.6 directory.  v4.0.0 is the version number that the cl55 hook reports.
    • Install/run Code Composer Studio and select File/Import/Legacy CCSv3.3 Project;
      • Browse to the MDK's SpO2_System_v5_1 folder and select SpO2.pjt
      • click Next and select the tool version you want to use (4.0.0)
      • click Next and select "Enable DSP/BIOSv5.x support for all migrated projects"
    • Right-click the project and select build properties
      • go to Tool Settings/C5500 Compiler/General Options
      • scroll down to "Add dir to #include search path" and add the path to the bios package. It will be something like:
        • "C:/Program Files/Texas Instruments/bios_5_41_02_14/packages/ti/bios/include"
    Build and run the project.  There should be 19 warnings and zero errors.  Some of the warnings look rather serious.  (TI: that's not very helpful).
    Note to Texas Instruments: Please, please fix the SpO2 project so that it builds and runs with the latest codegen v4 that it is distributed with.
    Cheers,
    Berwyn
    // Hook Texas Instruments compiler program to output a different version number
    
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include <process.h>
    
    #define LOGGING 1
    
        int
    main (int argc, char *argv[]) {
        int i, exitcode=0;
        char original_exe_name[4096], *quoted_arg, *end;
    
    #if LOGGING
        FILE *file;
    
        file=fopen("c:\\cmdlog", "a");
        if (!file) {
            printf("Error: Couldn't open cmdlog");
            return 0;
        }
    
        for (i=0; i<argc; i++) {
            fprintf(file, "%s\n", argv[i]);
            argv[i] = argv[i];
        }
        fprintf(file, "\n");
    #endif
    
        if (argc>=2 && strcmp(argv[1], "--compiler_revision")==0) {
            printf("4.0.0\n");
        } else {
            // generate pathname of original executable file
            strcpy(original_exe_name, argv[0]);
    
            // lop off ".exe" and add "-original.exe"
            end = original_exe_name+strlen(original_exe_name);
            if (end-original_exe_name>=4 && strcasecmp(end-4, ".exe")==0) {
                *(end-4) = '\0';
            }
            strcat(original_exe_name, "-original.exe");
            argv[0] = original_exe_name;
    
            // create quoted verions of args to allow for spaces in pathnames (Windows ... grrr)
            for (i=0; i<argc; i++) {
                quoted_arg = malloc(strlen(argv[i])+2+1);
                if (!quoted_arg) {
                    fprintf(stderr, "Out of memory");
                    return(1);
                }
                strcpy(quoted_arg, "\"");
                strcat(quoted_arg, argv[i]);
                strcat(quoted_arg, "\"");
                argv[i] = quoted_arg;
            }
            argv[i] = NULL;
    
            // execute original program with same command line
            fprintf(file, "original_exe_name: %s\n", original_exe_name);
    
            exitcode = _spawnv(_P_WAIT, original_exe_name, (const char * const *)argv);
        }
    
    #if LOGGING
        fclose(file);
    #endif
        return exitcode;   /* no error */
    }
    
  • Hi Berwyn,

    It is consistent with info from: http://processors.wiki.ti.com/index.php/Compiler_Installation_and_Selection

    Supported CGT Versions

    The following version of the CGT are supported by CCStudio v4:

    Supported TI CGT Versions

    C2000

    C5400

    C5500

    C6000

    ARM

    MSP430

    4.1.x

    4.1.x

    4.0.x

    5.3.x

    2.54

    2.0.x

    5.0.x

    -

    4.1.x

    6.0.x

    2.71

    3.0.x

    5.1.x

    -

    4.2.x

    6.1.x

    4.1.x

    3.1.x

    5.2.x

    -

    4.3.x

    7.0.x

    4.4.x

    3.2.x

    -

    -

    -

    -

    4.5.x

    -

     

     

     

     

    4.6.x

     

     

    For C5500 nothing below Ver. 4.0.

    It runs the cl55.exe file (the C compiler) with the --compiler_revision flag and if it's anything less than 4.x.x then it won't let you use it.

    Seems that you did great job instead of TI. "As is" by TI definition means probably  "not functional" ??? (Not mentioning the hardware problems.)

     

    You made elegant solution but using the loophole, coping 3.36 to proper directory works also.

    I will check it tomorrow.

     

    Peter, do you have any comments?

     

    Best regards,

    Michal

     

  • Hello mr Chung!

     

    I have the same problem that Kali has with the spo2 module. What is the failure detected in this boards?

    I am working with the evm5505 and code composer 3.3

  • Hi Peter,

    I purchased a SpO2 system last week. I am using EVM5515 , SpO2 AFE board, Biometric sensors and latest softwares. Everything is working properly but I am getting a noisy signal and it does not show the SpO2 and HR. I have tested 2 Biometric cables sensor(recommended ones) and Nelcor and Philips product as well.

    You can see what I am getting at the end of this letter.

    It seems that my board SpO2 AFE board is also faulty as other members of this community has faced.  Please let me know how I can solve this issue.

     

    Thanks,

    Rasoul

     

     

     

  • Hi! 

    I need help with my pulse oximetry FE. I am using 5515EVM , SpO2 AFE board, Biometric sensors like Rasoul Yousefi. I had the same problem but I could solve it. Now, I have a signal without noise but I haven't %SpO2 and Heart Rate on the OLED. Once I had a %SpO2 ( the first time, but it was incorrect, about 178%).  Which is the problem? How can I check if my board is correct?

    I have a SpO2 FE Rev 4 and a TMS320C5515EVM Rev B. My sensor is 020101001.

    Thanks

  • Hi Berwyn,

    I also run into the same problems,my purchased item were not functioning at all as a SPO2 application and your solution really helps, thank you. Although, may be due to the type of sensor and ambient light my signal is still noisy but at least I have something which runs.  Would be interesting to hear TI's response too on this topic.

    Best regards

    Davit