Other Parts Discussed in Thread: MOTORWARE, TMS320F28069M
I must be confused about some terminology and would appreciate some clarification.
I am using LAB09A as a basis for a field weakening project using custom hardware.
LAB09A is described as: "Lab09 with fpu32".
Question1;
This project links hal.c at:
C:\ti\motorware\motorware_1_01_00_14\sw\modules\hal\boards\hvkit_rev1p1\f28x\f2806x\src\hal.c
as opposed to:
C:\ti\motorware\motorware_1_01_00_14\sw\modules\hal\boards\hvkit_rev1p1\f28x\f2806x\src\float\hal.c
Is this correct - and fr so - what is the intended purpose of the ...\float\hal.c etc.
Question2:
PROJ_LAB09A.C appears to have special code in it to work around a compiler issue with the FPU. e.g.;
// when calling EST_ functions that return a float, and fpu32 is enabled, an integer is needed as a return
// so that the compiler reads the returned value from the accumulator instead of fpu32 registers
// get the magnetizing current
tmp = EST_getIdRated(obj->estHandle);
gMotorVars.MagnCurr_A = *((float_t *)&tmp);
Is this a compiler bug - and if so does it still exist and if so - will it be fixed at some point? Or am I misinterpreting the above comments.
Thanks.
Richard.