]> rtime.felk.cvut.cz Git - arc.git/blob - boards/mpc5516it/examples/led_rte/config/IoHwAb_Digital.c
Generated for mpc5516it
[arc.git] / boards / mpc5516it / examples / led_rte / config / IoHwAb_Digital.c
1 /*\r
2 * Configuration of module: IoHwAb (IoHwAb_Digital.c)\r
3 *\r
4 * Created by:              \r
5 * Copyright:               \r
6 *\r
7 * Configured for (MCU):    MPC551x\r
8 *\r
9 * Module vendor:           ArcCore\r
10 * Generator version:       3.1.3\r
11 *\r
12 * Generated by Arctic Studio (http://arccore.com) \r
13 */\r
14 \r
15 #include "IoHwAb.h"\r
16 #include "IoHwAb_Internal.h"\r
17 #if defined(USE_DIO)\r
18 #include "Dio.h"\r
19 #else\r
20 \r
21 #if defined(USE_DET)\r
22 #include "Det.h"\r
23 #endif\r
24 \r
25 #error "DIO Module is needed by IOHWAB"\r
26 #endif\r
27 /************************************ External Device Drivers *************************************/\r
28 \r
29 /***************************************** Signal states ******************************************/\r
30 \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
34 \r
35 /**************************************** Digital outputs *****************************************/\r
36 \r
37 /********************************** DigitalSignal_Led4 functions **********************************/\r
38 \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
43 \r
44         if (IOHWAB_UNLOCKED == IoHwAb_DigitalSignal_Led4_Locked) {\r
45                 setLevel = (Dio_LevelType) newValue;\r
46         } else {\r
47                 setLevel = (Dio_LevelType) IoHwAb_DigitalSignal_Led4_Saved;\r
48         }\r
49 \r
50         Dio_WriteChannel(DIO_CHANNEL_NAME_LEDS_LED4, setLevel);\r
51         status->quality = q;\r
52 \r
53         return rv;\r
54 }\r
55 \r
56 Std_ReturnType IoHwAb_Dcm_DigitalSignal_Led4(uint8 action, IoHwAb_LevelType value) {\r
57         imask_t state;\r
58         Std_ReturnType rv = E_OK;\r
59 \r
60         switch (action) {\r
61         case IOHWAB_RETURNCONTROLTOECU:\r
62                 IoHwAb_DigitalSignal_Led4_Locked = IOHWAB_UNLOCKED;\r
63                 break;\r
64 \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
70                 break;\r
71 \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
78                 }\r
79                 break;\r
80 \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
86                 break;\r
87 \r
88         default:\r
89                 rv = E_NOT_OK;\r
90                 break;\r
91         }\r
92 \r
93         return rv;\r
94 }\r
95 \r
96 /***************************************** Digital inputs *****************************************/\r
97 \r
98 /************************************* Parameterized digital **************************************/\r
99 \r
100 Std_ReturnType IoHwAb_Set_Digital(IoHwAb_SignalType signal, IoHwAb_LevelType newValue, IoHwAb_StatusType *status) {\r
101 \r
102         IOHWAB_VALIDATE_RETURN(IOHWAB_SIGNAL_IS_VALID_DIGITAL_OUTPUT(signal), IOHWAB_DIGITAL_SET_ID, IOHWAB_E_PARAM_SIGNAL, E_NOT_OK);\r
103 \r
104         switch (signal) {\r
105         case IOHWAB_SIGNAL_DIGITALSIGNAL_LED4: {\r
106                 return IoHwAb_Set_Digital_DigitalSignal_Led4(newValue, status);\r
107         }\r
108                 break;\r
109 \r
110         default: {\r
111                 return E_NOT_OK;\r
112         }\r
113                 break;\r
114         }\r
115 }\r
116 \r
117 Std_ReturnType IoHwAb_Get_Digital(IoHwAb_SignalType signal, IoHwAb_LevelType *value, IoHwAb_StatusType *status) {\r
118 \r
119         IOHWAB_VALIDATE_RETURN(IOHWAB_SIGNAL_IS_VALID_DIGITAL_INPUT(signal), IOHWAB_DIGITAL_GET_ID, IOHWAB_E_PARAM_SIGNAL, E_NOT_OK);\r
120 \r
121         switch (signal) {\r
122         default: {\r
123                 return E_NOT_OK;\r
124         }\r
125         }\r
126 }\r
127 \r