2 * Configuration of module: IoHwAb (IoHwAb_Digital.c)
\r
7 * Configured for (MCU): MPC551x
\r
9 * Module vendor: ArcCore
\r
10 * Generator version: 3.1.3
\r
12 * Generated by Arctic Studio (http://arccore.com)
\r
16 #include "IoHwAb_Internal.h"
\r
17 #if defined(USE_DIO)
\r
21 #if defined(USE_DET)
\r
26 #error "DIO Module is needed by IOHWAB"
\r
28 /************************************ External Device Drivers *************************************/
\r
30 /***************************************** Signal states ******************************************/
\r
32 boolean IoHwAb_DigitalSignal_Led4_Locked = IOHWAB_UNLOCKED;
\r
33 IoHwAb_LevelType IoHwAb_DigitalSignal_Led4_Saved = IOHWAB_LOW;
\r
34 const IoHwAb_LevelType IoHwAb_DigitalSignal_Led4_Default = IOHWAB_LOW;
\r
36 /**************************************** Digital outputs *****************************************/
\r
38 /********************************** DigitalSignal_Led4 functions **********************************/
\r
40 Std_ReturnType IoHwAb_Set_Digital_DigitalSignal_Led4(IoHwAb_LevelType newValue, IoHwAb_StatusType *status) {
\r
41 Std_ReturnType rv = E_OK;
\r
42 Dio_LevelType setLevel = 0;
\r
43 IoHwAb_QualityType q = IOHWAB_GOOD;
\r
45 if (IOHWAB_UNLOCKED == IoHwAb_DigitalSignal_Led4_Locked) {
\r
46 setLevel = (Dio_LevelType) newValue;
\r
48 setLevel = (Dio_LevelType) IoHwAb_DigitalSignal_Led4_Saved;
\r
51 Dio_WriteChannel(DIO_CHANNEL_NAME_LED_CHANNEL, setLevel);
\r
52 status->quality = q;
\r
57 Std_ReturnType IoHwAb_Dcm_DigitalSignal_Led4(uint8 action, IoHwAb_LevelType value) {
\r
59 Std_ReturnType rv = E_OK;
\r
62 case IOHWAB_RETURNCONTROLTOECU:
\r
63 IoHwAb_DigitalSignal_Led4_Locked = IOHWAB_UNLOCKED;
\r
66 case IOHWAB_RESETTODEFAULT:
\r
67 IoHwAb_LockSave(state);
\r
68 IoHwAb_DigitalSignal_Led4_Saved = IoHwAb_DigitalSignal_Led4_Default;
\r
69 IoHwAb_DigitalSignal_Led4_Locked = IOHWAB_LOCKED;
\r
70 IoHwAb_LockRestore(state);
\r
73 case IOHWAB_FREEZECURRENTSTATE:
\r
74 if (IOHWAB_UNLOCKED == IoHwAb_DigitalSignal_Led4_Locked) {
\r
75 IoHwAb_LockSave(state);
\r
76 IoHwAb_DigitalSignal_Led4_Saved = Dio_ReadChannel(DIO_CHANNEL_NAME_LED_CHANNEL);
\r
77 IoHwAb_DigitalSignal_Led4_Locked = IOHWAB_LOCKED;
\r
78 IoHwAb_LockRestore(state);
\r
82 case IOHWAB_SHORTTERMADJUST:
\r
83 IoHwAb_LockSave(state);
\r
84 IoHwAb_DigitalSignal_Led4_Saved = value;
\r
85 IoHwAb_DigitalSignal_Led4_Locked = IOHWAB_LOCKED;
\r
86 IoHwAb_LockRestore(state);
\r
97 /***************************************** Digital inputs *****************************************/
\r
99 /************************************* Parameterized digital **************************************/
\r
101 Std_ReturnType IoHwAb_Set_Digital(IoHwAb_SignalType signal, IoHwAb_LevelType newValue, IoHwAb_StatusType *status) {
\r
103 IOHWAB_VALIDATE_RETURN(IOHWAB_SIGNAL_IS_VALID_DIGITAL_OUTPUT(signal), IOHWAB_DIGITAL_SET_ID, IOHWAB_E_PARAM_SIGNAL, E_NOT_OK);
\r
106 case IOHWAB_SIGNAL_DIGITALSIGNAL_LED4: {
\r
107 return IoHwAb_Set_Digital_DigitalSignal_Led4(newValue, status);
\r
118 Std_ReturnType IoHwAb_Get_Digital(IoHwAb_SignalType signal, IoHwAb_LevelType *value, IoHwAb_StatusType *status) {
\r
120 IOHWAB_VALIDATE_RETURN(IOHWAB_SIGNAL_IS_VALID_DIGITAL_INPUT(signal), IOHWAB_DIGITAL_GET_ID, IOHWAB_E_PARAM_SIGNAL, E_NOT_OK);
\r