/************************************************************************** * * Copyright (c) 2019-2019 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file PIControllers.h * * @date 12-Dec-2019 * @author L. Baloa * * @brief Header file for the PI controllers service (PIControllers.c). * **************************************************************************/ #ifndef __PICONTROLLERS_H__ #define __PICONTROLLERS_H__ #include "Common.h" typedef enum ControllerList { PI_CONTROLLER_ID_LOAD_CELL = 0, NUM_OF_PI_CONTROLLERS_IDS } PI_CONTROLLER_ID_T; typedef enum ControllerSignals { CONTROLLER_SIGNAL_REFERENCE = 0, CONTROLLER_SIGNAL_MEASURED, CONTROLLER_SIGNAL_ERROR, CONTROLLER_SIGNAL_ERROR_SUM, CONTROLLER_SIGNAL_ERROR_SUM_AFTER_WINDUP, CONTROLLER_SIGNAL_PROPORTIONAL_OUTPUT, CONTROLLER_SIGNAL_INTEGRAL_OUTPUT, CONTROLLER_SIGNAL_CONTROL_BEFORE_WINDUP, CONTROLLER_SIGNAL_CONTROL, NUM_OF_CONTROLLER_SIGNAL } PI_CONTROLLER_SIGNALS_ID; // ********** public function prototypes ********** void initializeController(PI_CONTROLLER_ID_T controllerID, U16 initialControlSignal); S32 runController(PI_CONTROLLER_ID_T controllerID, S32 referenceSignal, S32 measuredSignal); S32 getControllerSignals(PI_CONTROLLER_ID_T controllerID, PI_CONTROLLER_SIGNALS_ID signalID); #endif