Poly5_Create (FUN) ¶ FUNCTION Poly5_Create : BOOL InOut: Scope Name Type Comment Return Poly5_Create BOOL Input pa POINTER TO SM3M.SMC_Vec Pointer to Array of Vec with at least 6 elements pdeg POINTER TO UDINT Resulting degree Inout Const r0 DynVState r1 DynVState
Poly7_Create (FUN) ¶ FUNCTION Poly7_Create : BOOL InOut: Scope Name Type Comment Return Poly7_Create BOOL Input pa POINTER TO SM3M.SMC_Vec Pointer to Array of Vec with at least 8 elements pdeg POINTER TO UDINT Resulting degree Inout Const r0 DynVState r1 DynVState
Poly_Eval (FUN) ¶ FUNCTION Poly_Eval : BOOL Evaluates a polynomial a[0] + … + a[iN]*x^iN InOut: Scope Name Type Comment Input pa POINTER TO SM3M.SMC_Vec The coefficient vector, containing iN+1 coefficients iN DINT The degree of the polynomial, must be at least 3 dx LREAL The place of evaluation Inout v SM3M.SMC_Vec Return Poly_Eval BOOL
VPoly_Mult (FUN) ¶ FUNCTION VPoly_Mult : BOOL Multiplication for vector-valued polynomials. Computes dst := lhs * rhs. InOut: Scope Name Type Inout dst VPoly Inout Const lhs VPoly rhs VPoly Return VPoly_Mult BOOL
VPoly_Zero (FUN) ¶ FUNCTION VPoly_Zero : BOOL InOut: Scope Name Type Return VPoly_Zero BOOL Inout dst VPoly Input nVecDim DINT
Queue ¶ GenericQueue (FunctionBlock) Append (Method) AppendP (Method) Capacity (Method) CopyRange (Method) EndOfData (Method) Full (Method) GetFromEnd (Method) GetFromStart (Method) GetIdxFromPtr (Method) Init (Method) IsEmpty (Method) NumElems (Method) RemoveAll (Method) RemoveFirst (Method) RemoveLast (Method) Reset (Method) SetEndOfData (Method) SetPointer (Method) SpaceLeft (Method) GenericQueue_SingleTask (FunctionBlock) Append (Method) AppendP (Method) Capacity (Method) CopyRange (Method) EndOfData (Method) Full (Method) GetFromEnd (Method) GetFromStart (Method) GetIdxFromPtr (Method) GetReadPos (Method) GetWritePos (Method) Init (Method) IsEmpty (Method) NumElems (Method) RemoveAll (Method) RemoveFirst (Method) RemoveFirstN (Method) RemoveLast (Method) RemoveLastN (Method) Reset (Method) SetEndOfData (Method) SetPointer (Method) SetReadPos (Method) SetWritePos (Method) SpaceLeft (Method)
GenericQueue (FB) ¶ FUNCTION_BLOCK FINAL GenericQueue A generic fifo queue of fixed size elements. The queue is written by one task and read by the other. The method Append is only called by the producer task, the methods GetFromStart and RemoveFirst are only called by the consumer task. Methods: Append AppendP Capacity CopyRange EndOfData Full GetFromEnd GetFromStart GetIdxFromPtr Init IsEmpty NumElems RemoveAll RemoveFirst RemoveLast Reset SetEndOfData SetPointer SpaceLeft Structure: Append (Method) AppendP (Method) Capacity (Method) CopyRange (Method) EndOfData (Method) Full (Method) GetFromEnd (Method) GetFromStart (Method) GetIdxFromPtr (Method) Init (Method) IsEmpty (Method) NumElems (Method) RemoveAll (Method) RemoveFirst (Method) RemoveLast (Method) Reset (Method) SetEndOfData (Method) SetPointer (Method) SpaceLeft (Method)
GenericQueue.Append (METH) ¶ METHOD FINAL Append : BOOL Tries to append a new element to the queue. Returns TRUE if the queue was not full yet, FALSE otherwise. task-safety: call from producer task only InOut: Scope Name Type Input pNewElem POINTER TO BYTE Return Append BOOL
GenericQueue.AppendP (METH) ¶ METHOD FINAL AppendP : POINTER TO BYTE Tries to append a new element to the queue. Returns a pointer to the new element. task-safety: not task-safe (the new element is not yet written but already part of the queue) InOut: Scope Name Type Return AppendP POINTER TO BYTE
GenericQueue.Capacity (METH) ¶ METHOD FINAL Capacity : UDINT The maximum number of elements that can be stored in the queue task-safety: may be called from both tasks InOut: Scope Name Type Return Capacity UDINT