123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314 |
- /*
- * includes.c
- *
- * Created on: 2019. 7. 28.
- * Author: parkyj
- */
- #include "includes.h"
- #define MACROSTR(k) #k
- uint32_t ADCvalue[ADC_EA];
- char *Bluecell_Prot_IndexStr[] = {
- MACROSTR(INDEX_ATT_1_8G_DL1 ),
- MACROSTR(INDEX_ATT_1_8G_DL2 ),
- MACROSTR(INDEX_ATT_1_8G_UL1 ),
- MACROSTR(INDEX_ATT_1_8G_UL2 ),
- MACROSTR(INDEX_ATT_1_8G_UL3 ),
- MACROSTR(INDEX_ATT_1_8G_UL4 ),
- MACROSTR(INDEX_ATT_2_1G_DL1 ),
- MACROSTR(INDEX_ATT_2_1G_DL2 ),
- MACROSTR(INDEX_ATT_2_1G_UL1 ),
- MACROSTR(INDEX_ATT_2_1G_UL2 ),
- MACROSTR(INDEX_ATT_2_1G_UL3 ),
- MACROSTR(INDEX_ATT_2_1G_UL4 ),
- MACROSTR(INDEX_ATT_3_5G_LOW1 ),
- MACROSTR(INDEX_ATT_3_5G_HIGH1 ),
- MACROSTR(INDEX_ATT_3_5G_COM1 ),
- MACROSTR(INDEX_ATT_3_5G_LOW2 ),
- MACROSTR(INDEX_ATT_3_5G_HIGH2 ),
- MACROSTR(INDEX_ATT_3_5G_COM2 ),
- MACROSTR(INDEX_PLL_1_8G_DL_H ),
- MACROSTR(INDEX_PLL_1_8G_DL_L ),
- MACROSTR(INDEX_PLL_1_8G_UL_H ),
- MACROSTR(INDEX_PLL_1_8G_UL_L ),
- MACROSTR(INDEX_PLL_2_1G_DL_H ),
- MACROSTR(INDEX_PLL_2_1G_DL_L ),
- MACROSTR(INDEX_PLL_2_1G_UL_H ),
- MACROSTR(INDEX_PLL_2_1G_UL_L ),
- MACROSTR(INDEX_PLL_3_5G_DL_H ),
- MACROSTR(INDEX_PLL_3_5G_DL_L ),
- MACROSTR(INDEX_PLL_3_5G_UL_H ),
- MACROSTR(INDEX_PLL_3_5G_UL_L ),
- MACROSTR(INDEX_PLL_LD_6_BIT ),
- MACROSTR(INDEX_DET_1_8G_DL_IN_H ),
- MACROSTR(INDEX_DET_1_8G_DL_IN_L ),
- MACROSTR(INDEX_DET_1_8G_DL_OUT_H),
- MACROSTR(INDEX_DET_1_8G_DL_OUT_L),
- MACROSTR(INDEX_DET_1_8G_UL_IN_H ),
- MACROSTR(INDEX_DET_1_8G_UL_IN_L ),
- MACROSTR(INDEX_DET_1_8G_UL_OUT_H),
- MACROSTR(INDEX_DET_1_8G_UL_OUT_L),
- MACROSTR(INDEX_DET_2_1G_DL_IN_H ),
- MACROSTR(INDEX_DET_2_1G_DL_IN_L ),
- MACROSTR(INDEX_DET_2_1G_DL_OUT_H),
- MACROSTR(INDEX_DET_2_1G_DL_OUT_L),
- MACROSTR(INDEX_DET_2_1G_UL_IN_H ),
- MACROSTR(INDEX_DET_2_1G_UL_IN_L ),
- MACROSTR(INDEX_DET_2_1G_UL_OUT_H),
- MACROSTR(INDEX_DET_2_1G_UL_OUT_L),
- MACROSTR(INDEX_DET_3_5G_DL_IN_H ),
- MACROSTR(INDEX_DET_3_5G_DL_IN_L ),
- MACROSTR(INDEX_DET_3_5G_DL_OUT_L),
- MACROSTR(INDEX_DET_3_5G_DL_OUT_H),
- MACROSTR(INDEX_DET_3_5G_UL_IN_H ),
- MACROSTR(INDEX_DET_3_5G_UL_IN_L ),
- MACROSTR(INDEX_DET_3_5G_UL_OUT_H),
- MACROSTR(INDEX_DET_3_5G_UL_OUT_L),
- MACROSTR(INDEX_RFU_TEMP_H ),
- MACROSTR(INDEX_RFU_TEMP_L ),
- MACROSTR(INDEX__28V_DET_H ),
- MACROSTR(INDEX__28V_DET_L ),
- MACROSTR(INDEX_ALARM_AC ),
- MACROSTR(INDEX_ALARM_DC ),
- MACROSTR(INDEX_PATH_EN_1_8G_DL ),
- MACROSTR(INDEX_PATH_EN_1_8G_UL ),
- MACROSTR(INDEX_PATH_EN_2_1G_DL ),
- MACROSTR(INDEX_PATH_EN_2_1G_UL ),
- MACROSTR(INDEX_PATH_EN_3_5G_L ),
- MACROSTR(INDEX_PATH_EN_3_5G_H ),
- MACROSTR(INDEX_PATH_EN_3_5G_DL ),
- MACROSTR(INDEX_PATH_EN_3_5G_UL ),
- MACROSTR(INDEX_PLL_ON_OFF_3_5G_H),
- MACROSTR(INDEX_PLL_ON_OFF_3_5G_L),
- MACROSTR(INDEX_T_SYNC_DL ),
- MACROSTR(INDEX__T_SYNC_DL ),
- MACROSTR(INDEX_T_SYNC_UL ),
- MACROSTR(INDEX__T_SYNC_UL ),
- };
- static void kConstPrinter(Bluecell_Prot_Index k)
- {
- #ifdef DEBUG_PRINT
- printf("%s", Bluecell_Prot_IndexStr[k]);
- #endif /* DEBUG_PRINT */
- }
- void Path_Init(void){
- Prev_data[INDEX_PATH_EN_1_8G_DL] = HAL_GPIO_ReadPin(PATH_EN_1_8G_DL_GPIO_Port,PATH_EN_1_8G_DL_Pin);
- Prev_data[INDEX_PATH_EN_1_8G_UL] = HAL_GPIO_ReadPin(PATH_EN_1_8G_UL_GPIO_Port,PATH_EN_1_8G_UL_Pin);
- Prev_data[INDEX_PATH_EN_2_1G_DL] = HAL_GPIO_ReadPin(PATH_EN_2_1G_DL_GPIO_Port,PATH_EN_2_1G_DL_Pin);
- Prev_data[INDEX_PATH_EN_2_1G_UL] = HAL_GPIO_ReadPin(PATH_EN_2_1G_UL_GPIO_Port,PATH_EN_2_1G_UL_Pin);
- Prev_data[INDEX_PATH_EN_3_5G_L] = HAL_GPIO_ReadPin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin);
- Prev_data[INDEX_PATH_EN_3_5G_H] = HAL_GPIO_ReadPin(PATH_EN_3_5G_H_GPIO_Port,PATH_EN_3_5G_H_Pin);
- Prev_data[INDEX_PATH_EN_3_5G_DL] = HAL_GPIO_ReadPin(PATH_EN_3_5G_DL_GPIO_Port,PATH_EN_3_5G_DL_Pin);
- Prev_data[INDEX_PATH_EN_3_5G_UL] = HAL_GPIO_ReadPin(PATH_EN_3_5G_UL_GPIO_Port,PATH_EN_3_5G_UL_Pin);
- Prev_data[INDEX_PLL_ON_OFF_3_5G_H] = HAL_GPIO_ReadPin(PLL_ON_OFF_3_5G_H_GPIO_Port,PLL_ON_OFF_3_5G_H_Pin);
- Prev_data[INDEX_PLL_ON_OFF_3_5G_L] = HAL_GPIO_ReadPin(PLL_ON_OFF_3_5G_L_GPIO_Port,PLL_ON_OFF_3_5G_L_Pin);
- }
- void Power_ON_OFF_Ctrl(uint8_t type,uint8_t cmd){
- // printf("\r\ntype : %s cmd : %d\r\n",Bluecell_Prot_IndexStr[type - 4],cmd);
- switch(type){
- case INDEX_PATH_EN_1_8G_DL :
- #if 0 // PYJ.2019.07.29_BEGIN --
- printf("\r\n LINE %d\r\n",__LINE__);
- #endif // PYJ.2019.07.29_END --
- if(cmd)
- HAL_GPIO_WritePin(PATH_EN_1_8G_DL_GPIO_Port,PATH_EN_1_8G_DL_Pin, GPIO_PIN_SET);
- else
- HAL_GPIO_WritePin(PATH_EN_1_8G_DL_GPIO_Port,PATH_EN_1_8G_DL_Pin, GPIO_PIN_RESET);
- break;
- case INDEX_PATH_EN_1_8G_UL :
- #if 0 // PYJ.2019.07.29_BEGIN --
- printf("\r\n LINE %d\r\n",__LINE__);
- #endif // PYJ.2019.07.29_END --
- if(cmd)
- HAL_GPIO_WritePin(PATH_EN_1_8G_UL_GPIO_Port,PATH_EN_1_8G_UL_Pin, GPIO_PIN_SET);
- else
- HAL_GPIO_WritePin(PATH_EN_1_8G_UL_GPIO_Port,PATH_EN_1_8G_UL_Pin, GPIO_PIN_RESET);
-
- break;
- case INDEX_PATH_EN_2_1G_DL :
- #ifdef DEBUG_PRINT
- printf("\r\n LINE %d\r\n",__LINE__);
- #endif /* DEBUG_PRINT */
- if(cmd)
- HAL_GPIO_WritePin(PATH_EN_2_1G_DL_GPIO_Port,PATH_EN_2_1G_DL_Pin, GPIO_PIN_SET);
- else
- HAL_GPIO_WritePin(PATH_EN_2_1G_DL_GPIO_Port,PATH_EN_2_1G_DL_Pin, GPIO_PIN_RESET);
- break;
- case INDEX_PATH_EN_2_1G_UL :
- #ifdef DEBUG_PRINT
- printf("\r\n LINE %d\r\n",__LINE__);
- #endif /* DEBUG_PRINT */
- if(cmd)
- HAL_GPIO_WritePin(PATH_EN_2_1G_UL_GPIO_Port,PATH_EN_2_1G_UL_Pin, GPIO_PIN_SET);
- else
- HAL_GPIO_WritePin(PATH_EN_2_1G_UL_GPIO_Port,PATH_EN_2_1G_UL_Pin, GPIO_PIN_RESET);
- break;
- case INDEX_PATH_EN_3_5G_L :
- if(cmd){
- HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin, GPIO_PIN_SET);
- // printf("\r\n LINE %d\r\n",__LINE__);
- }
- else{
- HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin, GPIO_PIN_RESET);
- // printf("\r\n LINE %d\r\n",__LINE__);
- }
- break;
- case INDEX_PATH_EN_3_5G_H :
- if(cmd){
- HAL_GPIO_WritePin(PATH_EN_3_5G_H_GPIO_Port,PATH_EN_3_5G_H_Pin, GPIO_PIN_SET);
- // printf("\r\n LINE %d\r\n",__LINE__);
- }
- else{
- HAL_GPIO_WritePin(PATH_EN_3_5G_H_GPIO_Port,PATH_EN_3_5G_H_Pin, GPIO_PIN_RESET);
- // printf("\r\n LINE %d\r\n",__LINE__);
- }
- break;
- case INDEX_PATH_EN_3_5G_DL :
- #ifdef DEBUG_PRINT
- printf("\r\n LINE %d\r\n",__LINE__);
- #endif /* DEBUG_PRINT */
- if(cmd)
- HAL_GPIO_WritePin(PATH_EN_3_5G_DL_GPIO_Port,PATH_EN_3_5G_DL_Pin, GPIO_PIN_SET);
- else
- HAL_GPIO_WritePin(PATH_EN_3_5G_DL_GPIO_Port,PATH_EN_3_5G_DL_Pin, GPIO_PIN_RESET);
- break;
- case INDEX_PATH_EN_3_5G_UL :
- #ifdef DEBUG_PRINT
- printf("\r\n LINE %d\r\n",__LINE__);
- #endif /* DEBUG_PRINT */
- if(cmd)
- HAL_GPIO_WritePin(PATH_EN_3_5G_UL_GPIO_Port,PATH_EN_3_5G_UL_Pin, GPIO_PIN_SET);
- else
- HAL_GPIO_WritePin(PATH_EN_3_5G_UL_GPIO_Port,PATH_EN_3_5G_UL_Pin, GPIO_PIN_RESET);
- break;
- case INDEX_PLL_ON_OFF_3_5G_H:
- // printf("\r\n LINE %d\r\n",__LINE__);
- if(cmd)
- HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_H_GPIO_Port,PLL_ON_OFF_3_5G_H_Pin, GPIO_PIN_SET);
- else
- HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_H_GPIO_Port,PLL_ON_OFF_3_5G_H_Pin, GPIO_PIN_RESET);
- break;
- case INDEX_PLL_ON_OFF_3_5G_L:
- // printf("\r\n LINE %d\r\n",__LINE__);
- if(cmd)
- HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_L_GPIO_Port,PLL_ON_OFF_3_5G_L_Pin, GPIO_PIN_SET);
- else
- HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_L_GPIO_Port,PLL_ON_OFF_3_5G_L_Pin, GPIO_PIN_RESET);
- break;
- case INDEX_T_SYNC_DL:
- case INDEX__T_SYNC_UL:
- case INDEX_T_SYNC_UL:
- case INDEX__T_SYNC_DL:
- if(cmd){
- HAL_GPIO_WritePin(_T_SYNC_UL_GPIO_Port,_T_SYNC_UL_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(T_SYNC_UL_GPIO_Port,T_SYNC_UL_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(_T_SYNC_DL_GPIO_Port,_T_SYNC_DL_Pin, GPIO_PIN_SET);
- HAL_GPIO_WritePin(T_SYNC_DL_GPIO_Port,T_SYNC_DL_Pin, GPIO_PIN_SET);
- }
- else{
- HAL_GPIO_WritePin(_T_SYNC_UL_GPIO_Port,_T_SYNC_UL_Pin, GPIO_PIN_SET);
- HAL_GPIO_WritePin(T_SYNC_UL_GPIO_Port,T_SYNC_UL_Pin, GPIO_PIN_SET);
- HAL_GPIO_WritePin(_T_SYNC_DL_GPIO_Port,_T_SYNC_DL_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(T_SYNC_DL_GPIO_Port,T_SYNC_DL_Pin, GPIO_PIN_RESET);
- }
- #ifdef DEBUG_PRINT
- printf("TDD SYNC OPERATE ; %d\r\n",cmd);
- #endif /* DEBUG_PRINT */
- break;
- default :
- #ifdef DEBUG_PRINT
- printf("Function : %s LINE : %d ERROR \r\n",__func__,__LINE__);
- #endif /* DEBUG_PRINT */
- break;
- }
- }
- void ATTEN_PLL_PATH_Initialize(void){
- #if 0 // PYJ.2019.07.31_BEGIN --
- for(int i = 0; i < INDEX_BLUE_EOF + 1; i++){
- printf("Data = %x\r\n", Flash_Save_data[i]);
- }
- #endif // PYJ.2019.07.31_END --
- Flash_Save_data[INDEX_BLUE_CRC] = STH30_CreateCrc(&Flash_Save_data[Type], Flash_Save_data[Length]);
- RF_Ctrl_Main(&Flash_Save_data[INDEX_BLUE_HEADER]);
- RF_Status_Get();
- }
- void Power_ON_OFF_Initialize(void){
- /* * * PATH PLL ON OFF SECTION* * */
- HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port ,PATH_EN_3_5G_L_Pin , GPIO_PIN_RESET);
- HAL_GPIO_WritePin(PATH_EN_3_5G_H_GPIO_Port ,PATH_EN_3_5G_H_Pin , GPIO_PIN_RESET);
- HAL_GPIO_WritePin(PATH_EN_3_5G_DL_GPIO_Port ,PATH_EN_3_5G_DL_Pin , GPIO_PIN_RESET);
- HAL_GPIO_WritePin(PATH_EN_3_5G_UL_GPIO_Port ,PATH_EN_3_5G_UL_Pin , GPIO_PIN_RESET);
- HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port ,PATH_EN_3_5G_L_Pin , GPIO_PIN_RESET);
- HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_H_GPIO_Port,PLL_ON_OFF_3_5G_H_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_L_GPIO_Port,PLL_ON_OFF_3_5G_L_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(PATH_EN_2_1G_DL_GPIO_Port ,PATH_EN_2_1G_DL_Pin , GPIO_PIN_RESET);
- HAL_GPIO_WritePin(PATH_EN_2_1G_UL_GPIO_Port ,PATH_EN_2_1G_UL_Pin , GPIO_PIN_RESET);
- HAL_GPIO_WritePin(PATH_EN_1_8G_DL_GPIO_Port ,PATH_EN_1_8G_DL_Pin , GPIO_PIN_RESET);
- HAL_GPIO_WritePin(PATH_EN_1_8G_UL_GPIO_Port ,PATH_EN_1_8G_UL_Pin , GPIO_PIN_RESET);
- /* * * TDD SECTION* * */
- HAL_GPIO_WritePin(_T_SYNC_UL_GPIO_Port,_T_SYNC_UL_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(T_SYNC_UL_GPIO_Port,T_SYNC_UL_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(_T_SYNC_DL_GPIO_Port,_T_SYNC_DL_Pin, GPIO_PIN_SET);
- HAL_GPIO_WritePin(T_SYNC_DL_GPIO_Port,T_SYNC_DL_Pin, GPIO_PIN_SET);
- HAL_Delay(1);
- }
- void Error_Message_Occur(PLL_Error mode){
- static uint8_t temp_data[7];
- temp_data[INDEX_BLUE_HEADER] = BLUECELL_HEADER;
- temp_data[INDEX_BLUE_TYPE] = TYPE_BLUECELL_ERROR;
- temp_data[INDEX_BLUE_LENGTH] = 4;
- temp_data[INDEX_BLUE_CRCINDEX + 0] = INDEX_BLUE_CRCINDEX + 2;
-
-
- switch(mode){
- case DL_1_8:
- temp_data[INDEX_BLUE_CRCINDEX + 1] = DL_1_8;
- break;
- case UL_1_8:
- temp_data[INDEX_BLUE_CRCINDEX + 1] = UL_1_8;
- break;
- case DL_2_1:
- temp_data[INDEX_BLUE_CRCINDEX + 1] = DL_2_1;
- break;
- case UL_2_1:
- temp_data[INDEX_BLUE_CRCINDEX + 1] = UL_2_1;
- break;
- }
- temp_data[INDEX_BLUE_CRCINDEX + 2] = STH30_CreateCrc(&temp_data[Type], temp_data[Length]);
- temp_data[INDEX_BLUE_CRCINDEX + 3] = BLUECELL_TAILER;
- HAL_UART_Transmit_DMA(&huart1,&temp_data[INDEX_BLUE_HEADER],temp_data[INDEX_BLUE_LENGTH] + 3);
- }
- void Pol_Delay_us(volatile uint32_t microseconds)
- {
- /* Go to number of cycles for system */
- microseconds *= (SystemCoreClock / 1000000);
-
- /* Delay till end */
- while (microseconds--);
- }
- void Boot_LED_Toggle(void){
- if(LedTimerCnt > 500){HAL_GPIO_TogglePin(BOOT_LED_GPIO_Port,GPIO_PIN_14);LedTimerCnt = 0;}
- }
- void ADC_Check(void){
- if(AdcTimerCnt > 2500){
- for(uint8_t i = 0; i< ADC_EA; i++ ){
- Prev_data[INDEX_DET_1_8G_DL_IN_H + i*2] = (uint16_t)((ADCvalue[i] & 0xFF00) >> 8);
- Prev_data[INDEX_DET_1_8G_DL_IN_L + i*2] = (uint16_t)(ADCvalue[i] & 0x00FF);
- AdcTimerCnt = 0;
- #if 0 // PYJ.2019.08.09_BEGIN --
- printf("Prev_data[%d] : %x",i,Prev_data[INDEX_DET_1_8G_DL_IN_H + i]);
- printf("%x\r\n",i,Prev_data[INDEX_DET_1_8G_DL_IN_L + i]);
- #endif // PYJ.2019.08.09_END --
- }
- }
- }
- void Uart_Check(void){
- while (TerminalQueue.data > 0 && UartRxTimerCnt > 100) GetDataFromUartQueue(&hTerminal);
- }
|