Просмотр исходного кода

PE43711 MBIC 에 맞춤 / Uart Memory 증가 / Bluecell Operate 추가

PYJ лет назад: 5
Родитель
Сommit
de22c90a97

+ 2 - 2
.settings/language.settings.xml

@@ -4,7 +4,7 @@
4 4
 		<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
5 5
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
6 6
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
7
-			<provider class="com.atollic.truestudio.mbs.GCCSpecsDetectorAtollicArm" console="false" env-hash="-1446200846035591216" id="com.atollic.truestudio.mbs.provider" keep-relative-paths="false" name="Atollic ARM Tools Language Settings" parameter="${COMMAND} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
7
+			<provider class="com.atollic.truestudio.mbs.GCCSpecsDetectorAtollicArm" console="false" env-hash="1681877287601945682" id="com.atollic.truestudio.mbs.provider" keep-relative-paths="false" name="Atollic ARM Tools Language Settings" parameter="${COMMAND} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
8 8
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
9 9
 				<language-scope id="org.eclipse.cdt.core.g++"/>
10 10
 			</provider>
@@ -14,7 +14,7 @@
14 14
 		<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
15 15
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
16 16
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
17
-			<provider class="com.atollic.truestudio.mbs.GCCSpecsDetectorAtollicArm" console="false" env-hash="-1446200846035591216" id="com.atollic.truestudio.mbs.provider" keep-relative-paths="false" name="Atollic ARM Tools Language Settings" parameter="${COMMAND} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
17
+			<provider class="com.atollic.truestudio.mbs.GCCSpecsDetectorAtollicArm" console="false" env-hash="1681877287601945682" id="com.atollic.truestudio.mbs.provider" keep-relative-paths="false" name="Atollic ARM Tools Language Settings" parameter="${COMMAND} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
18 18
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
19 19
 				<language-scope id="org.eclipse.cdt.core.g++"/>
20 20
 			</provider>

+ 21 - 13
Bluecell_Inc/PE43711.h

@@ -23,20 +23,28 @@
23 23
  }PE43711_st;
24 24
  
25 25
  typedef struct{
26
-   PE43711_st ATT0;
27
-   uint8_t    data0;
28
-   PE43711_st ATT1;
29
-   uint8_t    data1;
30
-   PE43711_st ATT2;
31
-   uint8_t    data2;
32
-   PE43711_st ATT3;
33
-   uint8_t    data3;
34
-   PE43711_st ATT4;    
35
-   uint8_t    data4;
36
-   PE43711_st ATT5;    
37
-   uint8_t    data5;
26
+   PE43711_st ATT_DL1;
27
+   uint8_t    data_DL1;
28
+   PE43711_st ATT_UL1;
29
+   uint8_t    data_UL1;
30
+   
31
+   PE43711_st ATT_DL2;
32
+   uint8_t    data_DL2;
33
+   PE43711_st ATT_UL2;
34
+   uint8_t    data_UL2;
35
+   
36
+   PE43711_st ATT_DL3;
37
+   uint8_t    data_DL3;
38
+   PE43711_st ATT_UL3;
39
+   uint8_t    data_UL3;
40
+   
41
+   PE43711_st ATT_DL4;
42
+   uint8_t    data_DL4;
43
+   PE43711_st ATT_UL4;
44
+   uint8_t    data_UL4;
38 45
  }ALL_PE43711_st;
39
-ALL_PE43711_st ALL_ATT_3_5G;
46
+ALL_PE43711_st ALL_ATT;
47
+
40 48
 
41 49
 
42 50
 #endif /* PE43711_H_ */

+ 2 - 1
Bluecell_Inc/uart.h

@@ -12,7 +12,7 @@
12 12
 #include "main.h"
13 13
 #define hTerminal    huart1
14 14
 
15
-#define QUEUE_BUFFER_LENGTH 1024
15
+#define QUEUE_BUFFER_LENGTH 10240
16 16
 
17 17
 typedef struct
18 18
 {
@@ -34,5 +34,6 @@ void GetDataFromUartQueue(UART_HandleTypeDef *huart);
34 34
 bool Get_UartRcv(void);
35 35
 void Set_UartRcv(bool);
36 36
 void Uart1_Data_Send(uint8_t* data,uint8_t size);
37
+void Uart_Check(void);
37 38
 
38 39
 #endif /* UART_H_ */

+ 51 - 0
Bluecell_Src/Bluecell_operate.c

@@ -2,10 +2,18 @@
2 2
 #include "main.h"
3 3
 #include "Bluecell_operate.h"
4 4
 
5
+extern volatile uint32_t LedTimerCnt;
5 6
 
6 7
 uint8_t Alarm_Status[MAX_ALARM_Len] = {0,};
7 8
 
8 9
 uint8_t ResultData[1024] = {0,};
10
+void Boot_LED_Toggle(void){
11
+  if(LedTimerCnt > 500){
12
+    HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_14);
13
+    LedTimerCnt = 0;
14
+//    printf("LED OF OFF\r\n");
15
+  }
16
+}
9 17
 
10 18
 uint8_t* MBIC_HeaderDataSetting(uint8_t* data){
11 19
 	ResultData[MBIC_PREAMBLE_0] = MBIC_PREAMBLE0;
@@ -34,7 +42,50 @@ uint8_t* MBIC_HeaderDataSetting(uint8_t* data){
34 42
 
35 43
 	return ResultData;
36 44
 }
45
+typedef enum{
46
+  BLUECELL_DL_PATH1 = 0x01,
47
+  BLUECELL_UL_PATH1,
48
+  BLUECELL_DL_PATH2,
49
+  BLUECELL_UL_PATH2,
50
+  BLUECELL_DL_PATH3,
51
+  BLUECELL_UL_PATH3,
52
+  BLUECELL_DL_PATH4,
53
+  BLUECELL_UL_PATH4,
54
+};
55
+
37 56
 bool Bluecell_Operate(uint8_t* data){
57
+  uint8_t datatype = 0;
58
+
59
+  switch(datatype){
60
+	case BLUECELL_DL_PATH1:
61
+
62
+        break;
63
+	case BLUECELL_UL_PATH1:
64
+        
65
+        break;
66
+	case BLUECELL_DL_PATH2:
67
+        
68
+        break;
69
+	case BLUECELL_UL_PATH2:
70
+        
71
+        break;
72
+	case BLUECELL_DL_PATH3:
73
+        
74
+        break;
75
+	case BLUECELL_UL_PATH3:
76
+        
77
+        break;
78
+	case BLUECELL_DL_PATH4:
79
+        
80
+        break;
81
+	case BLUECELL_UL_PATH4:
82
+        
83
+        break;
84
+  }
85
+  return true;
86
+
87
+}
88
+bool MBIC_Operate(uint8_t* data){
38 89
 	uint16_t datatype = 0;
39 90
 
40 91
 	switch(datatype){

+ 85 - 60
Bluecell_Src/PE43711.c

@@ -6,78 +6,100 @@
6 6
  */
7 7
  #include "PE43711.h"
8 8
 #if 1 // PYJ.2019.07.26_BEGIN -- 
9
-#define ATTEN_3_5G_Initial_Val 0
9
+#define ATTEN_Initial_Val 0
10 10
 extern void Pol_Delay_us(volatile uint32_t microseconds);
11 11
 void PE43711_ALL_atten_ctrl(ALL_PE43711_st ATT);
12 12
 
13 13
 void PE43711_atten_ctrl(PE43711_st ATT ,uint8_t data);
14 14
 
15
-/*
16
-ALL_PE43711_st ALL_ATT_3_5G;
17 15
 
18
-PE43711_st ATT_3_5G_LOW1 ={
19
-    ATT_CLK_3_5G_GPIO_Port,
20
-    ATT_CLK_3_5G_Pin,
21
-    ATT_DATA_3_5G_LOW1_GPIO_Port,
22
-    ATT_DATA_3_5G_LOW1_Pin,
23
-    ATT_EN_3_5G_GPIO_Port,
24
-    ATT_EN_3_5G_Pin,
16
+ALL_PE43711_st ALL_ATT;
17
+
18
+PE43711_st ATT_DL1 ={
19
+    ATT_CLOCK1_GPIO_Port,
20
+    ATT_CLOCK1_Pin,
21
+    ATT_DATA1_GPIO_Port,
22
+    ATT_DATA1_Pin,
23
+    ATT_EN_DL1_GPIO_Port,
24
+    ATT_EN_DL1_Pin,
25 25
 }; 
26
-PE43711_st ATT_3_5G_HIGH1 ={
27
-    ATT_CLK_3_5G_GPIO_Port,
28
-    ATT_CLK_3_5G_Pin,
29
-    ATT_DATA_3_5G_HIGH1_GPIO_Port,
30
-    ATT_DATA_3_5G_HIGH1_Pin,
31
-    ATT_EN_3_5G_GPIO_Port,
32
-    ATT_EN_3_5G_Pin,
26
+PE43711_st ATT_UL1 ={
27
+    ATT_CLOCK1_GPIO_Port,
28
+    ATT_CLOCK1_Pin,
29
+    ATT_DATA1_GPIO_Port,
30
+    ATT_DATA1_Pin,
31
+    ATT_EN_UL1_GPIO_Port,
32
+    ATT_EN_UL1_Pin,
33 33
 }; 
34
-PE43711_st ATT_3_5G_COM1={
35
-    ATT_CLK_3_5G_GPIO_Port,
36
-    ATT_CLK_3_5G_Pin,
37
-    ATT_DATA_3_5G_COM1_GPIO_Port,
38
-    ATT_DATA_3_5G_COM1_Pin,
39
-    ATT_EN_3_5G_GPIO_Port,
40
-    ATT_EN_3_5G_Pin,
34
+PE43711_st ATT_DL2 ={
35
+    ATT_CLOCK2_GPIO_Port,
36
+    ATT_CLOCK2_Pin,
37
+    ATT_DATA2_GPIO_Port,
38
+    ATT_DATA2_Pin,
39
+    ATT_EN_DL2_GPIO_Port,
40
+    ATT_EN_DL2_Pin,
41 41
 }; 
42
-PE43711_st ATT_3_5G_LOW2 ={
43
-  ATT_CLK_3_5G_GPIO_Port,
44
-  ATT_CLK_3_5G_Pin,
45
-  ATT_DATA_3_5G_LOW2_GPIO_Port,
46
-  ATT_DATA_3_5G_LOW2_Pin,
47
-  ATT_EN_3_5G_GPIO_Port,
48
-  ATT_EN_3_5G_Pin,
42
+PE43711_st ATT_UL2 ={
43
+    ATT_CLOCK2_GPIO_Port,
44
+    ATT_CLOCK2_Pin,
45
+    ATT_DATA2_GPIO_Port,
46
+    ATT_DATA2_Pin,
47
+    ATT_EN_UL2_GPIO_Port,
48
+    ATT_EN_UL2_Pin,
49
+}; PE43711_st ATT_DL3 ={
50
+    ATT_CLOCK3_GPIO_Port,
51
+    ATT_CLOCK3_Pin,
52
+    ATT_DATA3_GPIO_Port,
53
+    ATT_DATA3_Pin,
54
+    ATT_EN_DL3_GPIO_Port,
55
+    ATT_EN_DL3_Pin,
49 56
 }; 
50
-PE43711_st ATT_3_5G_HIGH2 ={
51
-  ATT_CLK_3_5G_GPIO_Port,
52
-  ATT_CLK_3_5G_Pin,
53
-  ATT_DATA_3_5G_HIGH2_GPIO_Port,
54
-  ATT_DATA_3_5G_HIGH2_Pin,
55
-  ATT_EN_3_5G_GPIO_Port,
56
-  ATT_EN_3_5G_Pin,
57
+PE43711_st ATT_UL3 ={
58
+    ATT_CLOCK3_GPIO_Port,
59
+    ATT_CLOCK3_Pin,
60
+    ATT_DATA3_GPIO_Port,
61
+    ATT_DATA3_Pin,
62
+    ATT_EN_UL3_GPIO_Port,
63
+    ATT_EN_UL3_Pin,
64
+}; PE43711_st ATT_DL4 ={
65
+    ATT_CLOCK4_GPIO_Port,
66
+    ATT_CLOCK4_Pin,
67
+    ATT_DATA4_GPIO_Port,
68
+    ATT_DATA4_Pin,
69
+    ATT_EN_DL4_GPIO_Port,
70
+    ATT_EN_DL4_Pin,
57 71
 }; 
58
-PE43711_st ATT_3_5G_COM2={
59
-    ATT_CLK_3_5G_GPIO_Port,
60
-    ATT_CLK_3_5G_Pin,
61
-    ATT_DATA_3_5G_COM2_GPIO_Port,
62
-    ATT_DATA_3_5G_COM2_Pin,
63
-    ATT_EN_3_5G_GPIO_Port,
64
-    ATT_EN_3_5G_Pin,
72
+PE43711_st ATT_UL4 ={
73
+    ATT_CLOCK4_GPIO_Port,
74
+    ATT_CLOCK4_Pin,
75
+    ATT_DATA4_GPIO_Port,
76
+    ATT_DATA4_Pin,
77
+    ATT_EN_UL4_GPIO_Port,
78
+    ATT_EN_UL4_Pin,
65 79
 }; 
66
-*/
80
+
81
+
67 82
 void PE43711_PinInit(void){
68
- /* ALL_ATT_3_5G.ATT0 = ATT_3_5G_LOW1;
69
-  ALL_ATT_3_5G.ATT1 = ATT_3_5G_HIGH1;
70
-  ALL_ATT_3_5G.ATT2 = ATT_3_5G_COM1;
71
-  ALL_ATT_3_5G.ATT3 = ATT_3_5G_LOW2;
72
-  ALL_ATT_3_5G.ATT4 = ATT_3_5G_HIGH2;    
73
-  ALL_ATT_3_5G.ATT5 = ATT_3_5G_COM2;
74
-  ALL_ATT_3_5G.data0 = ATTEN_3_5G_Initial_Val;    
75
-  ALL_ATT_3_5G.data1 = ATTEN_3_5G_Initial_Val;
76
-  ALL_ATT_3_5G.data2 = ATTEN_3_5G_Initial_Val;
77
-  ALL_ATT_3_5G.data3 = ATTEN_3_5G_Initial_Val;
78
-  ALL_ATT_3_5G.data4 = ATTEN_3_5G_Initial_Val;    
79
-  ALL_ATT_3_5G.data5 = ATTEN_3_5G_Initial_Val;        
80
-  PE43711_ALL_atten_ctrl(ALL_ATT_3_5G);*/
83
+  ALL_ATT.ATT_DL1 = ATT_DL1;
84
+  ALL_ATT.ATT_UL1 = ATT_UL1;
85
+  
86
+  ALL_ATT.ATT_DL1 = ATT_DL2;
87
+  ALL_ATT.ATT_UL1 = ATT_UL2;
88
+  
89
+  ALL_ATT.ATT_DL1 = ATT_DL3;
90
+  ALL_ATT.ATT_UL1 = ATT_UL3;
91
+  
92
+  ALL_ATT.ATT_DL1 = ATT_DL4;
93
+  ALL_ATT.ATT_UL1 = ATT_UL4;
94
+  ALL_ATT.data_DL1 = ATTEN_Initial_Val;
95
+  ALL_ATT.data_UL1 = ATTEN_Initial_Val;  
96
+  ALL_ATT.data_DL2 = ATTEN_Initial_Val;
97
+  ALL_ATT.data_UL2 = ATTEN_Initial_Val;  
98
+  ALL_ATT.data_DL3 = ATTEN_Initial_Val;
99
+  ALL_ATT.data_UL3 = ATTEN_Initial_Val;  
100
+  ALL_ATT.data_DL4 = ATTEN_Initial_Val;
101
+  ALL_ATT.data_UL4 = ATTEN_Initial_Val;  
102
+//  PE43711_ALL_atten_ctrl(ALL_ATT);
81 103
 }
82 104
 #endif // PYJ.2019.07.26_END -- 
83 105
 void Bit_Compare(PE43711_st ATT,uint8_t data,uint8_t Shift_Index){
@@ -88,8 +110,10 @@ void Bit_Compare(PE43711_st ATT,uint8_t data,uint8_t Shift_Index){
88 110
         HAL_GPIO_WritePin(ATT.DATA_PORT,ATT.DATA_PIN,GPIO_PIN_RESET);//DATA
89 111
     }
90 112
 }
113
+#if 0 // PYJ.2020.04.17_BEGIN -- 
91 114
 void PE43711_ALL_atten_ctrl(ALL_PE43711_st ATT){
92
-    HAL_GPIO_WritePin(ATT.ATT0.LE_PORT,ATT.ATT0.LE_PIN,GPIO_PIN_RESET);
115
+    HAL_GPIO_WritePin(ATT.ATT_DL1.LE_PORT,ATT.ATT_DL1.LE_PIN,GPIO_PIN_RESET);
116
+    
93 117
     Pol_Delay_us(10);
94 118
 //    printf("why not? \r\n");
95 119
     for(uint8_t i = 0; i < 8; i++){
@@ -108,6 +132,7 @@ void PE43711_ALL_atten_ctrl(ALL_PE43711_st ATT){
108 132
     Pol_Delay_us(10);
109 133
     HAL_GPIO_WritePin(ATT.ATT0.LE_PORT,ATT.ATT0.LE_PIN,GPIO_PIN_RESET);
110 134
 }
135
+#endif // PYJ.2020.04.17_END -- 
111 136
 
112 137
 void PE43711_atten_ctrl(PE43711_st ATT ,uint8_t data){
113 138
     uint8_t i = 0;

+ 6 - 2
Bluecell_Src/uart.c

@@ -12,6 +12,7 @@
12 12
 UARTQUEUE TerminalQueue;
13 13
 UARTQUEUE WifiQueue;
14 14
 uart_hal_tx_type uart_hal_tx;
15
+extern volatile uint32_t UartRxTimerCnt;
15 16
 
16 17
 void InitUartQueue(pUARTQUEUE pQueue)
17 18
 {
@@ -54,7 +55,7 @@ void PutDataToUartQueue(UART_HandleTypeDef *huart, uint8_t data)
54 55
    // HAL_UART_Receive_DMA(&hTerminal,  pQueue->Buffer + pQueue->head, 10);
55 56
 }
56 57
 
57
-uint8_t uart_buf[QUEUE_BUFFER_LENGTH];
58
+volatile uint8_t uart_buf[QUEUE_BUFFER_LENGTH];
58 59
 void GetDataFromUartQueue(UART_HandleTypeDef *huart)
59 60
 {
60 61
     volatile static int cnt;
@@ -80,7 +81,7 @@ void GetDataFromUartQueue(UART_HandleTypeDef *huart)
80 81
 //        printf("data cnt zero !!!  \r\n");
81 82
         //RF_Ctrl_Main(&uart_buf[Header]);
82 83
 //        HAL_UART_Transmit(dst, &temp_buf[BLUECELL_HEADER00], 11, 3000);
83
-#if 0 // PYJ.2019.07.15_BEGIN -- 
84
+#if 1 // PYJ.2019.07.15_BEGIN -- 
84 85
             for(int i = 0; i < cnt; i++){
85 86
                 printf("%02x ",uart_buf[i]);
86 87
             }
@@ -95,6 +96,9 @@ void GetDataFromUartQueue(UART_HandleTypeDef *huart)
95 96
     }
96 97
 
97 98
 }
99
+void Uart_Check(void){
100
+  while (TerminalQueue.data > 0 && UartRxTimerCnt > 100) GetDataFromUartQueue(&hTerminal);
101
+}
98 102
 
99 103
 void Uart1_Data_Send(uint8_t* data,uint8_t size){
100 104
     HAL_UART_Transmit_DMA(&huart1, data,size); 

+ 1 - 0
Inc/main.h

@@ -48,6 +48,7 @@ extern "C" {
48 48
 /* Exported macro ------------------------------------------------------------*/
49 49
 /* USER CODE BEGIN EM */
50 50
 
51
+
51 52
 /* USER CODE END EM */
52 53
 
53 54
 /* Exported functions prototypes ---------------------------------------------*/

+ 15 - 3
Src/main.c

@@ -80,6 +80,16 @@ static void MX_TIM6_Init(void);
80 80
 
81 81
 /* Private user code ---------------------------------------------------------*/
82 82
 /* USER CODE BEGIN 0 */
83
+void Pol_Delay_us(volatile uint32_t microseconds)
84
+{
85
+  /* Go to number of cycles for system */
86
+  microseconds *= (SystemCoreClock / 1000000);
87
+ 
88
+  /* Delay till end */
89
+  while (microseconds--);
90
+}
91
+
92
+
83 93
 int _write (int file, uint8_t *ptr, uint16_t len)
84 94
 {
85 95
     HAL_UART_Transmit(&huart1, ptr, len,10);
@@ -135,9 +145,11 @@ int main(void)
135 145
   /* USER CODE BEGIN WHILE */
136 146
   while (1)
137 147
   {
138
-	 printf("data\r\n");
139
-	  HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_14);
140
-	  HAL_Delay(1000);
148
+
149
+//	  HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_14);
150
+//	  HAL_Delay(1000);
151
+    Boot_LED_Toggle();
152
+    Uart_Check();
141 153
     /* USER CODE END WHILE */
142 154
 
143 155
     /* USER CODE BEGIN 3 */