]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_A2F200_IAR_and_Keil/MicroSemi_Code/drivers_config/mss_ace/ace_config.c
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / CORTEX_A2F200_IAR_and_Keil / MicroSemi_Code / drivers_config / mss_ace / ace_config.c
1 /*****************************************************************************\r
2 * (c) Copyright  Actel Corporation. All rights reserved.\r
3 *\r
4 *ACE configuration .c file\r
5 *Created by Actel MSS_ACE Configurator Fri Dec 17 12:12:19 2010\r
6 *\r
7 */\r
8 \r
9 #include "../../drivers/mss_ace/mss_ace_configurator.h"\r
10 #include "ace_config.h"\r
11 #include "ace_handles.h"\r
12 \r
13 #include <stdint.h>\r
14 \r
15 \r
16 /*-----------------------------------------------------------------------------\r
17 *AB Configuration\r
18 *---------------------------------------------------------------------------*/\r
19 ace_adc_config_t g_ace_adc_config[ACE_NB_OF_ADC] =\r
20 {\r
21         {\r
22         4096,                      /* uint16_t adc_resolution */\r
23         2560                       /* uint16_t va_ref */\r
24         },\r
25         {\r
26         4096,                      /* uint16_t adc_resolution */\r
27         2560                       /* uint16_t va_ref */\r
28         },\r
29         {\r
30         4096,                      /* uint16_t adc_resolution */\r
31         2560                       /* uint16_t va_ref */\r
32         }\r
33 };\r
34 \r
35 /*-----------------------------------------------------------------------------\r
36 *Current Monitor Resistor Values\r
37 *---------------------------------------------------------------------------*/\r
38 const uint32_t g_ace_current_resistors[ACE_NB_OF_CURRENT_MONITORS] =\r
39 {\r
40         100000, /*CM0 ( USED AS CURRENT MONITOR ) */\r
41         1,      /*CM1 ( NOT USED AS CURRENT MONITOR ) */\r
42         1,      /*CM2 ( NOT USED AS CURRENT MONITOR ) */\r
43         1,      /*CM3 ( NOT USED AS CURRENT MONITOR ) */\r
44         1       /*CM4 ( NOT USED AS CURRENT MONITOR ) */\r
45 };\r
46 \r
47 /*-----------------------------------------------------------------------------\r
48 *Analog Channels\r
49 *---------------------------------------------------------------------------*/\r
50 /* Names*/\r
51 const uint8_t g_ace_channel_0_name[] = "CurrentMonitor_0";\r
52 const uint8_t g_ace_channel_1_name[] = "VoltageMonitor_0";\r
53 const uint8_t g_ace_channel_2_name[] = "TemperatureMonitor_0";\r
54 \r
55 /* Number of Flags per Channel*/\r
56 #define CHANNEL_0_NB_OF_FLAGS           0\r
57 #define CHANNEL_1_NB_OF_FLAGS           0\r
58 #define CHANNEL_2_NB_OF_FLAGS           0\r
59 \r
60 /* Input Channel to Flag Array Association*/\r
61 \r
62 /* Channel Table*/\r
63 ace_channel_desc_t g_ace_channel_desc_table[ACE_NB_OF_INPUT_CHANNELS] =\r
64 {\r
65         {\r
66         g_ace_channel_0_name,      /* const uint8_t * p_sz_channel_name */\r
67         CM0,                       /* adc_channel_id_t signal_id; */\r
68         14,                        /* uint16_t signal_ppe_offset */\r
69         CHANNEL_0_NB_OF_FLAGS,     /* uint16_t nb_of_flags */\r
70         0                          /* uint16_t * p_flags_array */\r
71         },\r
72         {\r
73         g_ace_channel_1_name,      /* const uint8_t * p_sz_channel_name */\r
74         TM0,                       /* adc_channel_id_t signal_id; */\r
75         23,                        /* uint16_t signal_ppe_offset */\r
76         CHANNEL_1_NB_OF_FLAGS,     /* uint16_t nb_of_flags */\r
77         0                          /* uint16_t * p_flags_array */\r
78         },\r
79         {\r
80         g_ace_channel_2_name,      /* const uint8_t * p_sz_channel_name */\r
81         TM1,                       /* adc_channel_id_t signal_id; */\r
82         32,                        /* uint16_t signal_ppe_offset */\r
83         CHANNEL_2_NB_OF_FLAGS,     /* uint16_t nb_of_flags */\r
84         0                          /* uint16_t * p_flags_array */\r
85         }\r
86 };\r
87 \r
88 /*-----------------------------------------------------------------------------\r
89 *Threshold Flags\r
90 *---------------------------------------------------------------------------*/\r
91 /* Flag Names*/\r
92 /* Flag Table*/\r
93 #if ACE_NB_OF_PPE_FLAGS != 0\r
94         ppe_flag_desc_t g_ppe_flags_desc_table[ACE_NB_OF_PPE_FLAGS] =\r
95         {\r
96         };\r
97 #endif\r
98 \r
99 /*-----------------------------------------------------------------------------\r
100 *Sequencer Procedures\r
101 *---------------------------------------------------------------------------*/\r
102 /* Procedure Name and Microcode*/\r
103 const uint8_t g_ace_sse_proc_0_name[] = "ADC0_MAIN";\r
104 const uint16_t g_ace_sse_proc_0_sequence[] =\r
105 {\r
106         0x1705, 0x1601, 0x155c, 0x14c4,\r
107         0x0000, 0x152d, 0x8a0c, 0x1309,\r
108         0x0000, 0x14c3, 0x0000, 0x8a04,\r
109         0x152d, 0x970c, 0x132f, 0x0000,\r
110         0x14c8, 0x0000, 0x9704, 0x1301,\r
111         0x0000, 0x1002\r
112 };\r
113 \r
114 const uint8_t g_ace_sse_proc_1_name[] = "ADC1_MAIN";\r
115 const uint16_t g_ace_sse_proc_1_sequence[] =\r
116 {\r
117         0x2705, 0x2601, 0x2200\r
118 };\r
119 \r
120 const uint8_t g_ace_sse_proc_2_name[] = "ADC2_MAIN";\r
121 const uint16_t g_ace_sse_proc_2_sequence[] =\r
122 {\r
123         0x3705, 0x3601, 0x3200\r
124 };\r
125 \r
126 \r
127 \r
128 /* Procedure Table*/\r
129 ace_procedure_desc_t g_sse_sequences_desc_table[ACE_NB_OF_SSE_PROCEDURES] =\r
130 {\r
131         {\r
132         g_ace_sse_proc_0_name,                              /* const uint8_t * p_sz_proc_name */\r
133         2,                                                  /* uint16_t sse_loop_pc */\r
134         0,                                                  /* uint16_t sse_load_offset */\r
135         sizeof(g_ace_sse_proc_0_sequence) / sizeof(uint16_t), /* uint16_t sse_ucode_length */\r
136         g_ace_sse_proc_0_sequence,                          /* const uint16_t * sse_ucode */\r
137         0                                                   /* uint8_t sse_pc_id */\r
138         },\r
139         {\r
140         g_ace_sse_proc_1_name,                              /* const uint8_t * p_sz_proc_name */\r
141         24,                                                 /* uint16_t sse_loop_pc */\r
142         22,                                                 /* uint16_t sse_load_offset */\r
143         sizeof(g_ace_sse_proc_1_sequence) / sizeof(uint16_t), /* uint16_t sse_ucode_length */\r
144         g_ace_sse_proc_1_sequence,                          /* const uint16_t * sse_ucode */\r
145         1                                                   /* uint8_t sse_pc_id */\r
146         },\r
147         {\r
148         g_ace_sse_proc_2_name,                              /* const uint8_t * p_sz_proc_name */\r
149         27,                                                 /* uint16_t sse_loop_pc */\r
150         25,                                                 /* uint16_t sse_load_offset */\r
151         sizeof(g_ace_sse_proc_2_sequence) / sizeof(uint16_t), /* uint16_t sse_ucode_length */\r
152         g_ace_sse_proc_2_sequence,                          /* const uint16_t * sse_ucode */\r
153         2                                                   /* uint8_t sse_pc_id */\r
154         }\r
155 };\r
156 \r
157 \r