]> rtime.felk.cvut.cz Git - pes-rpp/rpp-test-sw.git/blob - source/notification.c
4a97283e20cef5ed981ad03922ee8eb0d850c4be
[pes-rpp/rpp-test-sw.git] / source / notification.c
1 /** @file notification.c \r
2 *   @brief User Notification Definition File\r
3 *   @date 15.Mar.2012\r
4 *   @version 03.01.00\r
5 *\r
6 *   This file  defines  empty  notification  routines.\r
7 *   The user needs to remove the while loop and define \r
8 *   the sequence.\r
9 *\r
10 */\r
11 \r
12 /* Include Files */\r
13 \r
14 #include "esm.h"\r
15 #include "sys_selftest.h"\r
16 #include "adc.h"\r
17 #include "can.h"\r
18 #include "sci.h"\r
19 /* USER CODE BEGIN (0) */\r
20 #include "FreeRTOS.h"\r
21 #include "os_semphr.h"\r
22 #include "os_task.h"\r
23 \r
24 extern xQueueHandle inputCharacterQueue;\r
25 extern uint8_t character;\r
26 extern xSemaphoreHandle canMsgReceived;\r
27 \r
28 extern xSemaphoreHandle adcDataConverted;\r
29 extern ADCData_t adc1Data;\r
30 \r
31 /* USER CODE END */\r
32 \r
33 void esmGroup1Notification(uint32_t channel)\r
34 {\r
35 /*  enter user code and remove the while loop... */\r
36     while(1);\r
37 /* USER CODE BEGIN (1) */\r
38 /* USER CODE END */\r
39 \r
40 }\r
41 \r
42 /* USER CODE BEGIN (2) */\r
43 /* USER CODE END */\r
44 \r
45 void esmGroup2Notification(uint32_t channel)\r
46 {\r
47 /*  enter user code and remove the while loop... */\r
48     while(1);\r
49 /* USER CODE BEGIN (3) */\r
50 /* USER CODE END */\r
51 \r
52 }\r
53 \r
54 /* USER CODE BEGIN (4) */\r
55 /* USER CODE END */\r
56 \r
57 void memoryPort0TestFailNotification(uint32_t groupSelect, uint32_t dataSelect, uint32_t address, uint32_t data)\r
58 {\r
59 /*  enter user code and remove the while loop... */\r
60     while(1);\r
61 /* USER CODE BEGIN (5) */\r
62 /* USER CODE END */\r
63 \r
64 }\r
65 \r
66 /* USER CODE BEGIN (6) */\r
67 /* USER CODE END */\r
68 \r
69 void memoryPort1TestFailNotification(uint32_t groupSelect, uint32_t dataSelect, uint32_t address, uint32_t data)\r
70 {\r
71 /*  enter user code and remove the while loop... */\r
72     while(1);\r
73 /* USER CODE BEGIN (7) */\r
74 /* USER CODE END */\r
75 \r
76 }\r
77 \r
78 /* USER CODE BEGIN (8) */\r
79 /* USER CODE END */\r
80 void adcNotification(adcBASE_t *adc, uint32_t group)\r
81 {\r
82 \r
83 /* USER CODE BEGIN (11) */\r
84         if (adc->GxINTFLG[group] & 8) { // Group has been read\r
85                 uint32_t ch_count;\r
86                 ch_count = adcGetData(adc, group, &adc1Data.adc_data[0]);\r
87                 adc1Data.flags |= (ch_count == adc1Data.ch_count) ? 0 : BAD_CHANNELS_COUNT;\r
88                 xSemaphoreGiveFromISR(adcDataConverted, NULL);\r
89         }\r
90         if (adc->GxINTFLG[group] & 2) { // Memory overrun detected\r
91                 adc1Data.flags |= MEM_OVERRUN;\r
92                 adc->GxFIFORESETCR[1] = 1;\r
93         }\r
94         /* USER CODE END */\r
95 \r
96 }\r
97 \r
98 /* USER CODE BEGIN (12) */\r
99 /* USER CODE END */\r
100 void canErrorNotification(canBASE_t *node, uint32_t notification)\r
101 {\r
102 /* USER CODE BEGIN (13) */\r
103         if (notification != canERROR_OK) while(1) ;\r
104 /* USER CODE END */\r
105 \r
106 }\r
107 \r
108 /* USER CODE BEGIN (14) */\r
109 /* USER CODE END */\r
110 \r
111 void canMessageNotification(canBASE_t *node, uint32_t messageBox)  \r
112 {\r
113 \r
114 /* USER CODE BEGIN (15) */\r
115     if(node==canREG2)\r
116     {\r
117         if (messageBox == canMESSAGE_BOX1)\r
118         {\r
119                 /* node 2 - receive testloopback message complete */\r
120                          while(!canIsRxMessageArrived(canREG2, canMESSAGE_BOX1));\r
121                          xSemaphoreGiveFromISR(canMsgReceived, NULL);\r
122         }\r
123     }\r
124 \r
125 /* USER CODE END */\r
126 \r
127 }\r
128 \r
129 /* USER CODE BEGIN (16) */\r
130 /* USER CODE END */\r
131 \r
132 void sciNotification(sciBASE_t *sci, uint32_t flags)     \r
133 {\r
134 \r
135 /* USER CODE BEGIN (29) */\r
136         if (sci == sciREG) {\r
137                 if (flags & SCI_RX_INT) {\r
138                         sciReceive(sci, 1, NULL);\r
139                 }\r
140         }\r
141 /* USER CODE END */\r
142 \r
143 }\r
144 \r
145 /* USER CODE BEGIN (30) */\r
146 /* USER CODE END */\r