#include #include "main.h" #include "Bluecell_operate.h" #include "PE43711.h" extern volatile uint32_t LedTimerCnt; extern volatile uint32_t AdcTimerCnt; extern void PE43711_atten_ctrl(PE43711_st ATT ,uint8_t data); extern void Uart1_Data_Send(uint8_t* data,uint8_t size); uint8_t Alarm_Status[MAX_ALARM_Len] = {0,}; //uint8_t data123[10000]; DET_UL DET_UL1; DET_UL DET_UL2; DET_UL DET_UL3; DET_UL DET_UL4; DET_DL DET_DL1; DET_DL DET_DL2; DET_DL DET_DL3; DET_DL DET_DL4; uint8_t ResultData[1024] = {0,}; void Boot_LED_Toggle(void){ if(LedTimerCnt > 500){ HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_14); LedTimerCnt = 0; // printf("LED OF OFF\r\n"); } } uint8_t* MBIC_HeaderDataSetting(uint8_t* data){ ResultData[MBIC_PREAMBLE_0] = MBIC_PREAMBLE0; ResultData[MBIC_PREAMBLE_1] = MBIC_PREAMBLE1; ResultData[MBIC_PREAMBLE_2] = MBIC_PREAMBLE2; ResultData[MBIC_PREAMBLE_3] = MBIC_PREAMBLE3; ResultData[MBIC_SUBUID_0] = MBIC_SUBUID0; ResultData[MBIC_SUBUID_1] = MBIC_SUBUID1; ResultData[MBIC_RCODE_0] = data[MBIC_RCODE_0]; ResultData[MBIC_TRID_0] = data[MBIC_TRID_0]; ResultData[MBIC_TRID_1] = data[MBIC_TRID_1]; ResultData[MBIC_SEQSUM_0] = data[MBIC_SEQSUM_0]; ResultData[MBIC_TTL_0] = data[MBIC_TTL_0]; ResultData[MBIC_TIME_0] = data[MBIC_TIME_0]; ResultData[MBIC_TIME_1] = data[MBIC_TIME_1]; ResultData[MBIC_TIME_2] = data[MBIC_TIME_2]; ResultData[MBIC_TIME_3] = data[MBIC_TIME_3]; ResultData[MBIC_TIME_4] = data[MBIC_TIME_4]; ResultData[MBIC_TIME_5] = data[MBIC_TIME_5]; return ResultData; } typedef enum{ BLUECELL_HEADER, BLUECELL_TYPE, BLUECELL_LENGTH, BLUECELL_CRCINDEX, BLUECELL_DATA, }BLUECELLProt_st; typedef struct{ bool AGC1_En; bool AGC2_En; bool AGC3_En; bool AGC4_En; bool ALC1_En; bool ALC2_En; bool ALC3_En; bool ALC4_En; }AutoCtrl_st; extern ALL_PE43711_st ALL_ATT; BLUESTATUS_st bluecell_Currdatastatus; BLUESTATUS_st bluecell_Prevdatastatus; uint8_t PE43711_Calc(uint8_t high_bit,uint8_t low_bit){ uint16_t tmp_h = 0,tmp_l = 0; double ret = 0; uint8_t val = 0; tmp_h = high_bit; tmp_l = low_bit; ret += ((tmp_h << 8) & 0xFF00); ret += (tmp_l & 0x00FF); ret /= 100; val = PE43711_DataToHexConvert(ret); } void CompareAttenData(BLUESTATUS_st Curr,BLUESTATUS_st Prev){ uint8_t val = 0; if(Curr.ATT_DL1_H != Prev.ATT_DL1_H ||Curr.ATT_DL1_L != Prev.ATT_DL1_L){ bluecell_Prevdatastatus.ATT_DL1_H = bluecell_Currdatastatus.ATT_DL1_H; bluecell_Prevdatastatus.ATT_DL1_L = bluecell_Currdatastatus.ATT_DL1_L; val = PE43711_Calc(Curr.ATT_DL1_H,Curr.ATT_DL1_L); // printf("%d val = %x \r\n",__LINE__,val); PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val); } // printf("\r\nCurr.ATT_DL2_H : %x \r\nPrev.ATT_DL2_H : %x \r\n",Curr.ATT_DL2_H,Prev.ATT_DL2_H); // printf("\r\nCurr.ATT_DL2_L : %x \r\nPrev.ATT_DL2_L : %x \r\n",Curr.ATT_DL2_L,Prev.ATT_DL2_L); if((Curr.ATT_DL2_H != Prev.ATT_DL2_H) ||(Curr.ATT_DL2_L != Prev.ATT_DL2_L)){ bluecell_Prevdatastatus.ATT_DL2_H = bluecell_Currdatastatus.ATT_DL2_H; bluecell_Prevdatastatus.ATT_DL2_L = bluecell_Currdatastatus.ATT_DL2_L; val = PE43711_Calc(Curr.ATT_DL2_H,Curr.ATT_DL2_L); // printf("%d val = %x \r\n",__LINE__,val); PE43711_atten_ctrl(ALL_ATT.ATT_DL2,val); } if(Curr.ATT_DL3_H != Prev.ATT_DL3_H ||Curr.ATT_DL3_L != Prev.ATT_DL3_L){ bluecell_Prevdatastatus.ATT_DL3_H = bluecell_Currdatastatus.ATT_DL3_H; bluecell_Prevdatastatus.ATT_DL3_L = bluecell_Currdatastatus.ATT_DL3_L; val = PE43711_Calc(Curr.ATT_DL3_H,Curr.ATT_DL3_L); // printf("%d val = %x \r\n",__LINE__,val); PE43711_atten_ctrl(ALL_ATT.ATT_DL3,val); } if(Curr.ATT_DL4_H != Prev.ATT_DL4_H ||Curr.ATT_DL4_L != Prev.ATT_DL4_L){ bluecell_Prevdatastatus.ATT_DL4_H = bluecell_Currdatastatus.ATT_DL4_H; bluecell_Prevdatastatus.ATT_DL4_L = bluecell_Currdatastatus.ATT_DL4_L; val = PE43711_Calc(Curr.ATT_DL4_H,Curr.ATT_DL4_L); // printf("%d val = %x \r\n",__LINE__,val); PE43711_atten_ctrl(ALL_ATT.ATT_DL4,val); } if(Curr.ATT_UL1_H != Prev.ATT_UL1_H ||Curr.ATT_UL1_L != Prev.ATT_UL1_L){ bluecell_Prevdatastatus.ATT_UL1_H = bluecell_Currdatastatus.ATT_UL1_H; bluecell_Prevdatastatus.ATT_UL1_L = bluecell_Currdatastatus.ATT_UL1_L; val = PE43711_Calc(Curr.ATT_UL1_H,Curr.ATT_UL1_L); // printf("%d val = %x \r\n",__LINE__,val); PE43711_atten_ctrl(ALL_ATT.ATT_UL1,val); } if(Curr.ATT_UL2_H != Prev.ATT_UL2_H ||Curr.ATT_UL2_L != Prev.ATT_UL2_L){ bluecell_Prevdatastatus.ATT_UL2_H = bluecell_Currdatastatus.ATT_UL2_H; bluecell_Prevdatastatus.ATT_UL2_L = bluecell_Currdatastatus.ATT_UL2_L; val = PE43711_Calc(Curr.ATT_UL2_H,Curr.ATT_UL2_L); // printf("%d val = %x \r\n",__LINE__,val); PE43711_atten_ctrl(ALL_ATT.ATT_UL2,val); } if(Curr.ATT_UL3_H != Prev.ATT_UL3_H ||Curr.ATT_UL3_L != Prev.ATT_UL3_L){ bluecell_Prevdatastatus.ATT_UL3_H = bluecell_Currdatastatus.ATT_UL3_H; bluecell_Prevdatastatus.ATT_UL3_L = bluecell_Currdatastatus.ATT_UL3_L; val = PE43711_Calc(Curr.ATT_UL3_H,Curr.ATT_UL3_L); // printf("%d val = %x \r\n",__LINE__,val); PE43711_atten_ctrl(ALL_ATT.ATT_UL3,val); } if(Curr.ATT_UL4_H != Prev.ATT_UL4_H ||Curr.ATT_UL4_L != Prev.ATT_UL4_L){ bluecell_Prevdatastatus.ATT_UL4_H = bluecell_Currdatastatus.ATT_UL4_H; bluecell_Prevdatastatus.ATT_UL4_L = bluecell_Currdatastatus.ATT_UL4_L; val = PE43711_Calc(Curr.ATT_UL4_H,Curr.ATT_UL4_L); // printf("%d val = %x \r\n",__LINE__,val); PE43711_atten_ctrl(ALL_ATT.ATT_UL4,val); } // memcpy(&bluecell_Prevdatastatus.ATT_DL1_H,&bluecell_Currdatastatus.ATT_DL1_H,32); #if 0 // PYJ.2020.04.21_BEGIN -- if(Curr.ATT_ALC1_H != Prev.ATT_ALC1_H ||Curr.ATT_ALC1_L != Prev.ATT_ALC1_L){ tmp_h = Curr.ATT_ALC1_H; tmp_l = Curr.ATT_ALC1_L; ret += ((tmp_h << 8) & 0xFF00); ret += (tmp_l & 0x00FF); ret /= 100; val = PE43711_DataToHexConvert(ret); // PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val); } if(Curr.ATT_ALC2_H != Prev.ATT_ALC2_H ||Curr.ATT_ALC2_L != Prev.ATT_ALC2_L){ tmp_h = Curr.ATT_ALC2_H; tmp_l = Curr.ATT_ALC2_L; ret += ((tmp_h << 8) & 0xFF00); ret += (tmp_l & 0x00FF); ret /= 100; val = PE43711_DataToHexConvert(ret); // PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val); } if(Curr.ATT_ALC3_H != Prev.ATT_ALC3_H ||Curr.ATT_ALC3_L != Prev.ATT_ALC3_L){ tmp_h = Curr.ATT_ALC3_H; tmp_l = Curr.ATT_ALC3_L; ret += ((tmp_h << 8) & 0xFF00); ret += (tmp_l & 0x00FF); ret /= 100; val = PE43711_DataToHexConvert(ret); // PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val); } if(Curr.ATT_ALC4_H != Prev.ATT_ALC4_H ||Curr.ATT_ALC4_L != Prev.ATT_ALC4_L){ tmp_h = Curr.ATT_ALC4_H; tmp_l = Curr.ATT_ALC4_L; ret += ((tmp_h << 8) & 0xFF00); ret += (tmp_l & 0x00FF); ret /= 100; val = PE43711_DataToHexConvert(ret); // PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val); } if(Curr.ATT_AGC1_H != Prev.ATT_AGC1_H ||Curr.ATT_AGC1_L != Prev.ATT_AGC1_L){ tmp_h = Curr.ATT_AGC1_H; tmp_l = Curr.ATT_AGC1_L; ret += ((tmp_h << 8) & 0xFF00); ret += (tmp_l & 0x00FF); ret /= 100; val = PE43711_DataToHexConvert(ret); // PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val); } if(Curr.ATT_AGC2_H != Prev.ATT_AGC2_H ||Curr.ATT_AGC2_L != Prev.ATT_AGC2_L){ tmp_h = Curr.ATT_AGC2_H; tmp_l = Curr.ATT_AGC2_L; ret += ((tmp_h << 8) & 0xFF00); ret += (tmp_l & 0x00FF); ret /= 100; val = PE43711_DataToHexConvert(ret); // PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val); } if(Curr.ATT_AGC3_H != Prev.ATT_AGC3_H ||Curr.ATT_AGC3_L != Prev.ATT_AGC3_L){ tmp_h = Curr.ATT_AGC3_H; tmp_l = Curr.ATT_AGC3_L; ret += ((tmp_h << 8) & 0xFF00); ret += (tmp_l & 0x00FF); ret /= 100; val = PE43711_DataToHexConvert(ret); // PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val); } if(Curr.ATT_AGC4_H != Prev.ATT_AGC4_H ||Curr.ATT_AGC4_L != Prev.ATT_AGC4_L){ tmp_h = Curr.ATT_AGC4_H; tmp_l = Curr.ATT_AGC4_L; ret += ((tmp_h << 8) & 0xFF00); ret += (tmp_l & 0x00FF); ret /= 100; val = PE43711_DataToHexConvert(ret); // PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val); } #endif // PYJ.2020.04.21_END -- } void Bluecell_DataCopy(){ } bool Bluecell_Operate(uint8_t* data){ uint8_t datatype = data[BLUECELL_TYPE]; uint16_t tmp_h = 0,tmp_l = 0; double ret = 0 ,tmp = 0.1; uint8_t val = 0; uint8_t i = 0; switch(datatype){ case ATTSET : // printf("Function : %s Line %d \r\n",__func__,__LINE__); bluecell_Currdatastatus.ATT_DL1_H = data[BLUECELL_DATA + i++]; bluecell_Currdatastatus.ATT_DL1_L = data[BLUECELL_DATA + i++]; bluecell_Currdatastatus.ATT_DL2_H = data[BLUECELL_DATA + i++]; bluecell_Currdatastatus.ATT_DL2_L = data[BLUECELL_DATA + i++]; bluecell_Currdatastatus.ATT_DL3_H = data[BLUECELL_DATA + i++]; bluecell_Currdatastatus.ATT_DL3_L = data[BLUECELL_DATA + i++]; bluecell_Currdatastatus.ATT_DL4_H = data[BLUECELL_DATA + i++]; bluecell_Currdatastatus.ATT_DL4_L = data[BLUECELL_DATA + i++]; bluecell_Currdatastatus.ATT_UL1_H = data[BLUECELL_DATA + i++]; bluecell_Currdatastatus.ATT_UL1_L = data[BLUECELL_DATA + i++]; bluecell_Currdatastatus.ATT_UL2_H = data[BLUECELL_DATA + i++]; bluecell_Currdatastatus.ATT_UL2_L = data[BLUECELL_DATA + i++]; bluecell_Currdatastatus.ATT_UL3_H = data[BLUECELL_DATA + i++]; bluecell_Currdatastatus.ATT_UL3_L = data[BLUECELL_DATA + i++]; bluecell_Currdatastatus.ATT_UL4_H = data[BLUECELL_DATA + i++]; bluecell_Currdatastatus.ATT_UL4_L = data[BLUECELL_DATA + i++]; // memcpy(&bluecell_Currdatastatus.ATT_DL1_H,&data[BLUECELL_DATA],32); // bluecell_Currdatastatus.ATT_DL1_H = data[BLUECELL_DATA + i++]; // bluecell_Currdatastatus.ATT_DL1_L = data[BLUECELL_DATA + 1]; /* Atten Ctrl Function */ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus); // printf("ret : %f ,tmp %f \r\n",ret,tmp ); break; case ATT_DL1_PATH : if(data[BLUECELL_DATA]==0){ HAL_GPIO_WritePin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin,GPIO_PIN_SET);//CLOCK printf("ATT_DL1_PATH OFF\r\n"); } else{ HAL_GPIO_WritePin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin,GPIO_PIN_RESET);//CLOCK printf("ATT_DL1_PATH ON\r\n"); } break; break; case ATT_UL1_PATH : if(data[BLUECELL_DATA]==0){ HAL_GPIO_WritePin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin,GPIO_PIN_SET);//CLOCK } else{ HAL_GPIO_WritePin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin,GPIO_PIN_RESET);//CLOCK } printf("Function : %s Line %d \r\n",__func__,__LINE__); break; case ATT_SelfTest1 : if(data[BLUECELL_DATA]==0){ HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,GPIO_PIN_RESET);//CLOCK HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,PATH_SW1_Pin,GPIO_PIN_SET);//CLOCK } else{ HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,GPIO_PIN_SET);//CLOCK HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,PATH_SW1_Pin,GPIO_PIN_RESET);//CLOCK } printf("Function : %s Line %d \r\n",__func__,__LINE__); break; case ATT_DL2_PATH : if(data[BLUECELL_DATA]==0){ HAL_GPIO_WritePin(PATH_EN_DL2_GPIO_Port,PATH_EN_DL2_Pin,GPIO_PIN_SET);//CLOCK } else{ HAL_GPIO_WritePin(PATH_EN_DL2_GPIO_Port,PATH_EN_DL2_Pin,GPIO_PIN_RESET);//CLOCK } printf("Function : %s Line %d \r\n",__func__,__LINE__); break; break; case ATT_UL2_PATH : if(data[BLUECELL_DATA]==0){ HAL_GPIO_WritePin(PATH_EN_UL2_GPIO_Port,PATH_EN_UL2_Pin,GPIO_PIN_SET);//CLOCK } else{ HAL_GPIO_WritePin(PATH_EN_UL2_GPIO_Port,PATH_EN_UL2_Pin,GPIO_PIN_RESET);//CLOCK } break; case ATT_SelfTest2 : if(data[BLUECELL_DATA]==0){ HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,GPIO_PIN_RESET);//CLOCK HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,PATH_SW2_Pin,GPIO_PIN_SET);//CLOCK }else{ HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,PATH_SW2_Pin,GPIO_PIN_RESET);//CLOCK HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,GPIO_PIN_SET);//CLOCK } printf("Function : %s Line %d \r\n",__func__,__LINE__); break; case ATT_DL3_PATH : if(data[BLUECELL_DATA]==0){ HAL_GPIO_WritePin(PATH_EN_DL3_GPIO_Port,PATH_EN_DL3_Pin,GPIO_PIN_SET);//CLOCK } else{ HAL_GPIO_WritePin(PATH_EN_DL3_GPIO_Port,PATH_EN_DL3_Pin,GPIO_PIN_RESET);//CLOCK } printf("Function : %s Line %d \r\n",__func__,__LINE__); break; case ATT_UL3_PATH : if(data[BLUECELL_DATA]==0){ HAL_GPIO_WritePin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin,GPIO_PIN_SET);//CLOCK } else{ HAL_GPIO_WritePin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin,GPIO_PIN_RESET);//CLOCK } printf("Function : %s Line %d \r\n",__func__,__LINE__); break; case ATT_SelfTest3 : if(data[BLUECELL_DATA]==0){ HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,GPIO_PIN_RESET);//CLOCK HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,PATH_SW3_Pin,GPIO_PIN_SET);//CLOCK } else{ HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,PATH_SW3_Pin,GPIO_PIN_RESET);//CLOCK HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,GPIO_PIN_SET);//CLOCK } printf("Function : %s Line %d \r\n",__func__,__LINE__); break; case ATT_DL4_PATH : if(data[BLUECELL_DATA]==0){ HAL_GPIO_WritePin(PATH_EN_DL4_GPIO_Port,PATH_EN_DL4_Pin,GPIO_PIN_SET);//CLOCK }else{ HAL_GPIO_WritePin(PATH_EN_DL4_GPIO_Port,PATH_EN_DL4_Pin,GPIO_PIN_RESET);//CLOCK } printf("Function : %s Line %d \r\n",__func__,__LINE__); break; case ATT_UL4_PATH: if(data[BLUECELL_DATA]==0){ HAL_GPIO_WritePin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin,GPIO_PIN_SET);//CLOCK } else{ HAL_GPIO_WritePin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin,GPIO_PIN_RESET);//CLOCK } printf("Function : %s Line %d \r\n",__func__,__LINE__); break; case ATT_SelfTest4 : if(data[BLUECELL_DATA]==0){ HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,GPIO_PIN_RESET);//CLOCK HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,PATH_SW4_Pin,GPIO_PIN_SET);//CLOCK }else{ HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,GPIO_PIN_SET);//CLOCK HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,PATH_SW4_Pin,GPIO_PIN_RESET);//CLOCK } printf("Function : %s Line %d \r\n",__func__,__LINE__); break; case ALC1_EN : if(data[BLUECELL_DATA]==0){ bluecell_Currdatastatus.ATT_ALC1_ONOFF = false; } else{ bluecell_Currdatastatus.ATT_ALC1_ONOFF = true; } break; case ALC2_EN : if(data[BLUECELL_DATA]==0){ bluecell_Currdatastatus.ATT_ALC2_ONOFF = false; } else{ bluecell_Currdatastatus.ATT_ALC2_ONOFF = true; } break; case ALC3_EN : if(data[BLUECELL_DATA]==0){ bluecell_Currdatastatus.ATT_ALC3_ONOFF = false; } else{ bluecell_Currdatastatus.ATT_ALC3_ONOFF = true; } break; case ALC4_EN : if(data[BLUECELL_DATA]==0){ bluecell_Currdatastatus.ATT_ALC4_ONOFF = false; } else{ bluecell_Currdatastatus.ATT_ALC4_ONOFF = true; } break; case AGC1_EN : if(data[BLUECELL_DATA]==0){ bluecell_Currdatastatus.ATT_AGC1_ONOFF = false; } else{ bluecell_Currdatastatus.ATT_AGC1_ONOFF = true; } break; case AGC2_EN : if(data[BLUECELL_DATA]==0){ bluecell_Currdatastatus.ATT_AGC2_ONOFF = false; } else{ bluecell_Currdatastatus.ATT_AGC2_ONOFF = true; } break; case AGC3_EN : if(data[BLUECELL_DATA]==0){ bluecell_Currdatastatus.ATT_AGC3_ONOFF = false; } else{ bluecell_Currdatastatus.ATT_AGC3_ONOFF = true; } break; case AGC4_EN : if(data[BLUECELL_DATA]==0){ bluecell_Currdatastatus.ATT_AGC4_ONOFF = false; } else{ bluecell_Currdatastatus.ATT_AGC4_ONOFF = true; } break; case Bluecell_StatusReq: DataStatusSet(); Uart1_Data_Send(&bluecell_Currdatastatus, sizeof(bluecell_Currdatastatus) + 1 ); break; } return true; } void DataStatusSet(void){ bluecell_Currdatastatus.bluecell_header = 0xbe; bluecell_Currdatastatus.bluecell_type = Bluecell_StatusReq; bluecell_Currdatastatus.bluecell_length = sizeof(bluecell_Currdatastatus) - 2; bluecell_Currdatastatus.bluecell_crcindex = 56; bluecell_Currdatastatus.Selftest0 = HAL_GPIO_ReadPin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin); bluecell_Currdatastatus.Selftest1 = HAL_GPIO_ReadPin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin); bluecell_Currdatastatus.Selftest2 = HAL_GPIO_ReadPin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin); bluecell_Currdatastatus.Selftest3 = HAL_GPIO_ReadPin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin); bluecell_Currdatastatus.ATT_DL1_PATH = HAL_GPIO_ReadPin(PATH_EN_DL1_GPIO_Port,PATH_EN_UL1_Pin);//CLOCK; bluecell_Currdatastatus.ATT_DL2_PATH = HAL_GPIO_ReadPin(PATH_EN_DL2_GPIO_Port,PATH_EN_UL2_Pin);//CLOCK; bluecell_Currdatastatus.ATT_DL3_PATH = HAL_GPIO_ReadPin(PATH_EN_DL3_GPIO_Port,PATH_EN_UL3_Pin);//CLOCK; bluecell_Currdatastatus.ATT_DL4_PATH = HAL_GPIO_ReadPin(PATH_EN_DL4_GPIO_Port,PATH_EN_UL4_Pin);//CLOCK; bluecell_Currdatastatus.ATT_UL1_PATH = HAL_GPIO_ReadPin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin);//CLOCK; bluecell_Currdatastatus.ATT_UL2_PATH = HAL_GPIO_ReadPin(PATH_EN_UL2_GPIO_Port,PATH_EN_UL2_Pin);//CLOCK; bluecell_Currdatastatus.ATT_UL3_PATH = HAL_GPIO_ReadPin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin);//CLOCK; bluecell_Currdatastatus.ATT_UL4_PATH = HAL_GPIO_ReadPin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin);//CLOCK; bluecell_Currdatastatus.bluecell_crc = STH30_CreateCrc(&bluecell_Currdatastatus.bluecell_type, bluecell_Currdatastatus.bluecell_length); /*bluecell_Currdatastatus.ATT_AGC1_ONOFF; bluecell_Currdatastatus.ATT_ALC1_ONOFF; bluecell_Currdatastatus.ATT_AGC2_ONOFF; bluecell_Currdatastatus.ATT_ALC2_ONOFF; bluecell_Currdatastatus.ATT_AGC3_ONOFF; bluecell_Currdatastatus.ATT_ALC3_ONOFF; bluecell_Currdatastatus.ATT_AGC4_ONOFF; bluecell_Currdatastatus.ATT_ALC4_ONOFF; bluecell_Currdatastatus.ATT_AGC1_H; bluecell_Currdatastatus.ATT_AGC1_L; bluecell_Currdatastatus.ATT_ALC1_H; bluecell_Currdatastatus.ATT_ALC1_L; bluecell_Currdatastatus.ATT_AGC2_H; bluecell_Currdatastatus.ATT_AGC2_L; bluecell_Currdatastatus.ATT_ALC2_H; bluecell_Currdatastatus.ATT_ALC2_L; bluecell_Currdatastatus.ATT_AGC3_H; bluecell_Currdatastatus.ATT_AGC3_L; bluecell_Currdatastatus.ATT_ALC3_H; bluecell_Currdatastatus.ATT_ALC3_L; bluecell_Currdatastatus.ATT_AGC4_H; bluecell_Currdatastatus.ATT_AGC4_L; bluecell_Currdatastatus.ATT_ALC4_H; bluecell_Currdatastatus.ATT_ALC4_L; */ } bool MBIC_Operate(uint8_t* data){ uint16_t datatype = 0; switch(datatype){ case Alarm_Bit_List: Uart1_Data_Send(&Alarm_Status[0],MAX_ALARM_Len); break; case Alarm_Mask: break; case Alarm_Test_Mode: break; case Alarm_Test_Dummy: break; case CPU_Version: break; case ModuleINFORMATION_null1: break; case CPU_Current_Bank: break; case CPU_Bank_Select_Reboot_by: break; case CPU_Bank1_Image_Version: break; case CPU_Bank1_Image_BuildTime: break; case CPU_Bank1_Image_Name: break; case CPU_Bank2_Image_Version: break; case CPU_Bank2_Image_BuildTime: break; case CPU_Bank2_Image_Name: break; case SW_Reset: break; case Factory_Set_Initialization: break; case Temperature: break; case Temperature_Offset: break; case Temp_High_Threshold: break; case Temp_High_Threshold_Default: break; case Temp_High_Alarm: break; case LED_TEST: break; case Node: break; case Type: break; case PCB_Version: break; case Serial_Number: break; case Manufacture: break; case Manufacture_Date: break; case ENVIRONMENT_INVENTORY_null1: printf("Function : %s .... Line : %d\r\n",__func__,__LINE__); break; case Freq_ID: break; case Carrier_ID: break; case Carrier_ON_OFF: break; } return true; } void ADC_Check(void){ if(AdcTimerCnt > 10){ bluecell_Currdatastatus.DET_DL1_IN_H = (uint16_t)((ADC1value[Bluecell_DET_DL1_ADC_INDEX_H] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_DL1_IN_L = (uint16_t)((ADC1value[Bluecell_DET_DL1_ADC_INDEX_L] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_DL2_IN_H = (uint16_t)((ADC1value[Bluecell_DET_DL2_ADC_INDEX_H] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_DL2_IN_L = (uint16_t)((ADC1value[Bluecell_DET_DL2_ADC_INDEX_L] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_DL3_IN_H = (uint16_t)((ADC1value[Bluecell_DET_DL3_ADC_INDEX_H] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_DL3_IN_L = (uint16_t)((ADC1value[Bluecell_DET_DL3_ADC_INDEX_L] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_DL4_IN_H = (uint16_t)((ADC1value[Bluecell_DET_DL4_ADC_INDEX_H] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_DL4_IN_L = (uint16_t)((ADC1value[Bluecell_DET_DL4_ADC_INDEX_L] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_UL1_IN_H = (uint16_t)((ADC1value[Bluecell_DET_UL1_ADC_INDEX_H] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_UL1_IN_L = (uint16_t)((ADC1value[Bluecell_DET_UL1_ADC_INDEX_L] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_UL2_IN_H = (uint16_t)((ADC1value[Bluecell_DET_UL2_ADC_INDEX_H] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_UL2_IN_L = (uint16_t)((ADC1value[Bluecell_DET_UL2_ADC_INDEX_L] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_UL3_IN_H = (uint16_t)((ADC1value[Bluecell_DET_UL3_ADC_INDEX_H] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_UL3_IN_L = (uint16_t)((ADC1value[Bluecell_DET_UL3_ADC_INDEX_L] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_UL4_IN_H = (uint16_t)((ADC1value[Bluecell_DET_UL4_ADC_INDEX_H] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_UL4_IN_L = (uint16_t)((ADC1value[Bluecell_DET_UL4_ADC_INDEX_L] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_TEMP_H =(uint16_t)((ADC1value[Bluecell_RFU_TEMP_ADC_INDEX_H] & 0xFF00) >> 8); bluecell_Currdatastatus.DET_TEMP_L =(uint16_t)((ADC1value[Bluecell_RFU_TEMP_ADC_INDEX_L] & 0xFF00) >> 8); #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 -- AdcTimerCnt = 0; } }