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.

Running Pulse Oximeter MDK with C5515EVM on CCS4+ (without the noise problems)...

Well Ti - thanks for the nightmare getting this up & running, but thank heavens for the user group that provided lots of useful information along the way.

 

If you search through "oximeter" and "spO2" threads, you'll see most of what is needed to get this beast running "out of the box"...

To summarize what others have posted -

1. you will need the latest rev of oximeter code from the google sharesite (not what shipped with the MDK) - : http://code.google.com/p/c5505-ezdsp/downloads/list

(it was 5.1 for me).

2. Once unzipped, you will then need to open the project - "Project"->"Import Legacy CCv3.3 Project" & locate the unzipped folder to find the spo2.prj file.

3. Before you build anything, just load the already built SpO2.out file in the debugger - this should work fine (unless you have hardware problems)

4. Having verified the hardware is ok, you can try building the project - you should get lots of errors.

5. Fix#1 - need to change order of include files - right click on project file folder & select "Build properties", under "Tools settings" tab, select "include options" & move all local includes to the top of the list (common_inc, src, common_src & include). Better described in http://e2e.ti.com/support/dsp/tms320c5000_power-efficient_dsps/f/109/p/53987/354789.aspx#354789

5. Still not out of the woods, so also include a path to a bios std.h file (and others so don't try to just move that file. From the above include options setting, add the following directory C:\Program Files\Texas Instruments\bios_5_41_02_14\packages\ti\bios\include" - note this is where mine is located, you may have placed yours in a different location - again better described in same thread http://e2e.ti.com/support/dsp/tms320c5000_power-efficient_dsps/f/109/p/53987/354789.aspx#354789

7. Nearly there - the project should now compile successfully but produce a noisy signal -

8. Simple final fix (though a bear to find) - In Spo2_timer.c find "temp" - it should appear 5 times

first location, it is declared as a float (it actually doesn't need to be - an Int32 is better)

It's then used in duplicate fashion for the red & IR signals

first as         temp = (NRCOEFF * R_prev_ac_level);  //that's a float calc, but the result need only be an Int32, because it's only ever used that way - no problem here

then            R_ac_level = (R_Amplified_filtered - R_prev_Amplified_filtered) + (Uint32)temp;      // And the source of the problem R_Amp & R_prev are both Uint16's

Change this line (& the corresponding IR one) to -

                   R_ac_level = (temp + R_Amplified_filtered) - R_prev_Amplified_filtered;                 //And hey presto, no noise! once you see it, it's obvious...

 

I spent two weeks debugging this ,so not sure if there are other errors - my front end is horribly noisy, so I've improved that also - lots of ways to skin that one, but hopefully this gets everyone to the starting line - the ti folks should be embarrased that they can ship this as a complete utter failure out of the box without a word of warning...

Happy to help if this does not work for others - but don't intend to be on the board too often so email me at andy@yesmedicaldesign.com

Many thanks to those who went & struggled before me - I would not have got there without you.

Andrew