]> rtime.felk.cvut.cz Git - arc.git/blob - boards/mpc5516it/examples/led_rte/config/IoHwAb_Digital.c
d7803057b69909cfdd9e660d30dbe956a7728e7c
[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.2\r
11 *\r
12 * Generated by Arctic Studio (http://arccore.com) \r
13 */\r
14 #if defined(USE_DIO)\r
15 #include "IoHwAb.h"\r
16 #include "IoHwAb_Internal.h"\r
17 #include "Dio.h"\r
18 #if defined(USE_DET)\r
19         #include "Det.h"\r
20 #endif\r
21 \r
22 /************************************ External Device Drivers *************************************/
23
24 /***************************************** Signal states ******************************************/
25
26 boolean                IoHwAb_DigitalSignal_Led4_Locked  = IOHWAB_UNLOCKED;\r
27 IoHwAb_LevelType       IoHwAb_DigitalSignal_Led4_Saved   = IOHWAB_LOW;\r
28 const IoHwAb_LevelType IoHwAb_DigitalSignal_Led4_Default = IOHWAB_LOW;\r
29 \r
30 /**************************************** Digital outputs *****************************************/
31
32 /********************************** DigitalSignal_Led4 functions **********************************/\r
33 \r
34 Std_ReturnType IoHwAb_Set_Digital_DigitalSignal_Led4( IoHwAb_LevelType newValue, IoHwAb_StatusType *status ) {\r
35         Std_ReturnType rv = E_OK;\r
36         Dio_LevelType setLevel = 0;\r
37         IoHwAb_QualityType q = IOHWAB_GOOD;\r
38         \r
39         if( IOHWAB_UNLOCKED == IoHwAb_DigitalSignal_Led4_Locked ) {\r
40                 setLevel = (Dio_LevelType) newValue;\r
41         } else {\r
42                 setLevel = (Dio_LevelType) IoHwAb_DigitalSignal_Led4_Saved;\r
43         }\r
44         \r
45         Dio_WriteChannel( DIO_CHANNEL_NAME_LEDS_LED4, setLevel );\r
46         status->quality = q;\r
47 \r
48         return rv;\r
49 }\r
50 \r
51 Std_ReturnType IoHwAb_Dcm_DigitalSignal_Led4( uint8 action, IoHwAb_LevelType value  ) {\r
52         imask_t state;\r
53         Std_ReturnType rv = E_OK;\r
54 \r
55         switch(action) {\r
56         case IOHWAB_RETURNCONTROLTOECU:\r
57                 IoHwAb_DigitalSignal_Led4_Locked = IOHWAB_UNLOCKED;\r
58                 break;\r
59                 \r
60         case IOHWAB_RESETTODEFAULT:\r
61                 IoHwAb_LockSave(state);\r
62                 IoHwAb_DigitalSignal_Led4_Saved = IoHwAb_DigitalSignal_Led4_Default;\r
63                 IoHwAb_DigitalSignal_Led4_Locked = IOHWAB_LOCKED;\r
64                 IoHwAb_LockRestore(state);\r
65                 break;\r
66                 \r
67         case IOHWAB_FREEZECURRENTSTATE:\r
68                 if( IOHWAB_UNLOCKED == IoHwAb_DigitalSignal_Led4_Locked ) {\r
69                         IoHwAb_LockSave(state);\r
70                         IoHwAb_DigitalSignal_Led4_Saved = Dio_ReadChannel( DIO_CHANNEL_NAME_LEDS_LED4 );\r
71                         IoHwAb_DigitalSignal_Led4_Locked = IOHWAB_LOCKED;\r
72                         IoHwAb_LockRestore(state);\r
73                 }\r
74                 break;\r
75                 \r
76         case IOHWAB_SHORTTERMADJUST:\r
77                 IoHwAb_LockSave(state);\r
78                 IoHwAb_DigitalSignal_Led4_Saved = value;\r
79                 IoHwAb_DigitalSignal_Led4_Locked = IOHWAB_LOCKED;\r
80                 IoHwAb_LockRestore(state);\r
81                 break;\r
82                 \r
83         default:\r
84                 rv = E_NOT_OK;\r
85                 break;\r
86         }\r
87         \r
88         return rv;\r
89 }\r
90 \r
91 /***************************************** Digital inputs *****************************************/
92
93 /************************************* Parameterized digital **************************************/
94
95 Std_ReturnType IoHwAb_Set_Digital(IoHwAb_SignalType signal, IoHwAb_LevelType newValue, IoHwAb_StatusType *status) {\r
96 \r
97         IOHWAB_VALIDATE_RETURN ( \r
98                 IOHWAB_SIGNAL_IS_VALID_DIGITAL_OUTPUT(signal), \r
99                 IOHWAB_DIGITAL_SET_ID, \r
100                 IOHWAB_E_PARAM_SIGNAL, \r
101                 E_NOT_OK \r
102         );\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                 } break;\r
108                 \r
109                 default: {\r
110                         return E_NOT_OK;\r
111                 } break;\r
112         }\r
113 }\r
114 \r
115 \r
116 Std_ReturnType IoHwAb_Get_Digital( IoHwAb_SignalType signal, IoHwAb_LevelType *value, IoHwAb_StatusType *status ) {\r
117 \r
118         IOHWAB_VALIDATE_RETURN ( \r
119                 IOHWAB_SIGNAL_IS_VALID_DIGITAL_INPUT(signal), \r
120                 IOHWAB_DIGITAL_GET_ID, \r
121                 IOHWAB_E_PARAM_SIGNAL, \r
122                 E_NOT_OK \r
123         );\r
124 \r
125         switch (signal) {\r
126                 default: {\r
127                         return E_NOT_OK;\r
128                 } break;\r
129         }\r
130 }\r
131 \r
132 #endif\r