My current project has a high temperature version that we use the MSP430F2619SPM on (This part is rated to 125°C). This part is quite expensive, so we only us it on PCB's for the high temperature version of the project. The code, for both versions, is identical (or was) and I'd like to keep it that way.
I use the factory temperature calibration when measuring temperature. Yesterday, I discovered that the high temp MSP430 is calibrated at 30° and 125° instead of 30° and 85° like the standard part. This sort of messes up my calculations.
I can easily add a #define to switch between the 125° and 85° calibrations, but this requires whoever is programming the part to make sure they have the correct statement in at build time. Sooner or later someone (probably me) will program a board with the wrong calibration range.
My other option is to read the CAL_ADC_25T85 value and based on its value decide if the calibration was done at 85° or 125°. This works, but there's a small level of uncertainty involved.
Is there anyway to programatically distinguish between the the two versions of this part, so that at start up the chip can select the proper calibration range? This would also be useful because the board could report to which temperature range it supports (high temp or standard temp)
Thanks