03.08.2013 Views

Embedded Software and Motor Control Libraries for PXR40xx

Embedded Software and Motor Control Libraries for PXR40xx

Embedded Software and Motor Control Libraries for PXR40xx

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Function MLIB_ConvertPU_F32F16<br />

4.131.3 Return<br />

Converted input value in 32-bit fractional <strong>for</strong>mat.<br />

4.131.4 Description<br />

This inline function returns converted input value. The input value is considered as 16-bit<br />

fractional data type <strong>and</strong> output value is considered as 32-bit fractional data type thus both<br />

values represent the values in unity model. The output saturation is not implemented in<br />

this function, thus in case the input value is outside the (-1, 1) interval, the output value<br />

will overflow without any detection.<br />

The output of the function is defined by the following simple equation:<br />

Equation MLIB_ConvertPU_Eq1<br />

Note<br />

Due to effectivity reason this function is implemented as inline<br />

<strong>and</strong> thus is not ANSI-C compliant.<br />

4.131.5 Re-entrancy<br />

The function is re-entrant.<br />

4.131.6 Code Example<br />

#include "mlib.h"<br />

tFrac16 f16In;<br />

tFrac32 f32Out;<br />

void main(void)<br />

{<br />

// input value = 0.25 = 0x2000<br />

f16In = FRAC16 (0.25);<br />

}<br />

// output should be FRAC32(0.25) = 0x20000000<br />

f32Out = MLIB_ConvertPU_F32F16(f16In);<br />

// output should be FRAC32(0.25) = 0x20000000<br />

f32Out = MLIB_ConvertPU (f16In, F32F16);<br />

<strong>Embedded</strong> <strong>Software</strong> <strong>and</strong> <strong>Motor</strong> <strong>Control</strong> <strong>Libraries</strong> <strong>for</strong> <strong>PXR40xx</strong>, Rev. 1.0<br />

578 Freescale Semiconductor, Inc.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!