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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>and</strong> converted to the output <strong>for</strong>mat. The output saturation is not implemented in this<br />

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

overflow without any detection.<br />

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

Equation MLIB_Convert_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.127.5 Re-entrancy<br />

The function is re-entrant.<br />

4.127.6 Code Example<br />

#include "mlib.h"<br />

tFrac32 f32In1, f32In2;<br />

tFrac16 f16Out;<br />

void main(void)<br />

{<br />

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

f32In1 = FRAC32 (0.25);<br />

}<br />

// scale value = 0.5 = 0x40000000<br />

f32In2 = FRAC32 (0.5);<br />

// output should be FRAC16(0.125) = 0x1000<br />

f16Out = MLIB_Convert_F16F32(f32In1, f32In2);<br />

// output should be FRAC16(0.125) = 0x1000<br />

f16Out = MLIB_Convert (f32In1, f32In2, F16F32);<br />

// scale value = -0.5 = 0xC0000000<br />

f32In2 = FRAC32 (-0.5);<br />

// output should be FRAC16(0.5) = 0x4000<br />

f16Out = MLIB_Convert_F16F32(f32In1, f32In2);<br />

// output should be FRAC16(0.5) = 0x4000<br />

f16Out = MLIB_Convert (f32In1, f32In2, F16F32);<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 />

Chapter 4 API References<br />

Freescale Semiconductor, Inc. 571

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

Saved successfully!

Ooh no, something went wrong!