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
25 #error "DIO Module is needed by IOHWAB"
\r
27 /************************************ External Device Drivers *************************************/
\r
29 /***************************************** Signal states ******************************************/
\r
31 boolean IoHwAb_DigitalSignal_Led4_Locked = IOHWAB_UNLOCKED;
\r
32 IoHwAb_LevelType IoHwAb_DigitalSignal_Led4_Saved = IOHWAB_LOW;
\r
33 const IoHwAb_LevelType IoHwAb_DigitalSignal_Led4_Default = IOHWAB_LOW;
\r
35 /**************************************** Digital outputs *****************************************/
\r
37 /********************************** DigitalSignal_Led4 functions **********************************/
\r
39 Std_ReturnType IoHwAb_Set_Digital_DigitalSignal_Led4(IoHwAb_LevelType newValue, IoHwAb_StatusType *status) {
\r
40 Std_ReturnType rv = E_OK;
\r
41 Dio_LevelType setLevel = 0;
\r
42 IoHwAb_QualityType q = IOHWAB_GOOD;
\r
44 if (IOHWAB_UNLOCKED == IoHwAb_DigitalSignal_Led4_Locked) {
\r
45 setLevel = (Dio_LevelType) newValue;
\r
47 setLevel = (Dio_LevelType) IoHwAb_DigitalSignal_Led4_Saved;
\r
50 Dio_WriteChannel(DIO_CHANNEL_NAME_LEDS_LED4, setLevel);
\r
51 status->quality = q;
\r
56 Std_ReturnType IoHwAb_Dcm_DigitalSignal_Led4(uint8 action, IoHwAb_LevelType value) {
\r
58 Std_ReturnType rv = E_OK;
\r
61 case IOHWAB_RETURNCONTROLTOECU:
\r
62 IoHwAb_DigitalSignal_Led4_Locked = IOHWAB_UNLOCKED;
\r
65 case IOHWAB_RESETTODEFAULT:
\r
66 IoHwAb_LockSave(state);
\r
67 IoHwAb_DigitalSignal_Led4_Saved = IoHwAb_DigitalSignal_Led4_Default;
\r
68 IoHwAb_DigitalSignal_Led4_Locked = IOHWAB_LOCKED;
\r
69 IoHwAb_LockRestore(state);
\r
72 case IOHWAB_FREEZECURRENTSTATE:
\r
73 if (IOHWAB_UNLOCKED == IoHwAb_DigitalSignal_Led4_Locked) {
\r
74 IoHwAb_LockSave(state);
\r
75 IoHwAb_DigitalSignal_Led4_Saved = Dio_ReadChannel(DIO_CHANNEL_NAME_LEDS_LED4);
\r
76 IoHwAb_DigitalSignal_Led4_Locked = IOHWAB_LOCKED;
\r
77 IoHwAb_LockRestore(state);
\r
81 case IOHWAB_SHORTTERMADJUST:
\r
82 IoHwAb_LockSave(state);
\r
83 IoHwAb_DigitalSignal_Led4_Saved = value;
\r
84 IoHwAb_DigitalSignal_Led4_Locked = IOHWAB_LOCKED;
\r
85 IoHwAb_LockRestore(state);
\r
96 /***************************************** Digital inputs *****************************************/
\r
98 /************************************* Parameterized digital **************************************/
\r
100 Std_ReturnType IoHwAb_Set_Digital(IoHwAb_SignalType signal, IoHwAb_LevelType newValue, IoHwAb_StatusType *status) {
\r
102 IOHWAB_VALIDATE_RETURN(IOHWAB_SIGNAL_IS_VALID_DIGITAL_OUTPUT(signal), IOHWAB_DIGITAL_SET_ID, IOHWAB_E_PARAM_SIGNAL, E_NOT_OK);
\r
105 case IOHWAB_SIGNAL_DIGITALSIGNAL_LED4: {
\r
106 return IoHwAb_Set_Digital_DigitalSignal_Led4(newValue, status);
\r
117 Std_ReturnType IoHwAb_Get_Digital(IoHwAb_SignalType signal, IoHwAb_LevelType *value, IoHwAb_StatusType *status) {
\r
119 IOHWAB_VALIDATE_RETURN(IOHWAB_SIGNAL_IS_VALID_DIGITAL_INPUT(signal), IOHWAB_DIGITAL_GET_ID, IOHWAB_E_PARAM_SIGNAL, E_NOT_OK);
\r