|
@@ -96,6 +96,7 @@ double PE43711_Double(uint8_t high_bit,uint8_t low_bit);
|
96
|
96
|
void Booting_LED_Check(void);
|
97
|
97
|
double Bluecell_TestPro(double value );
|
98
|
98
|
double AGC_AutoControl_ADC_Compare(double CurrentAdc,uint8_t* CompareAdc,uint8_t size,int8_t* RefTable_Data);
|
|
99
|
+void ALC_Alarm_TimerSet(uint8_t num,int16_t threshold,int16_t CurrDet,int16_t CurrAtten);
|
99
|
100
|
|
100
|
101
|
|
101
|
102
|
|
|
@@ -2671,7 +2672,7 @@ uint32_t MBIC_DataSend(uint8_t* data){
|
2671
|
2672
|
data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_DLI_Level;
|
2672
|
2673
|
data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN;
|
2673
|
2674
|
data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_ULO_Level;
|
2674
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN;
|
|
2675
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_ULO_ALC_Alarm;
|
2675
|
2676
|
|
2676
|
2677
|
/*ALARM BIT MASK*/
|
2677
|
2678
|
data[MBIC_PAYLOADSTART + i++] = MBIC_AID;
|
|
@@ -4955,7 +4956,9 @@ int16_t ALC_Calc(uint8_t num,double CurrAtten ,int8_t threshold,double CurrDet){
|
4955
|
4956
|
|
4956
|
4957
|
// printf("2. %f : %f - %d\r\n",ret,CurrDet,threshold);
|
4957
|
4958
|
ret = Bluecell_TestPro(ret +( CurrAtten * -1));
|
4958
|
|
- ret *= -1;
|
|
4959
|
+ ret *= -1;
|
|
4960
|
+// if(CurrAtten <= -20)
|
|
4961
|
+// ALC_AlarmSet[num] = true;
|
4959
|
4962
|
}
|
4960
|
4963
|
else if(threshold -2 > CurrDet){
|
4961
|
4964
|
if(CurrAtten < 0){
|
|
@@ -4968,6 +4971,8 @@ int16_t ALC_Calc(uint8_t num,double CurrAtten ,int8_t threshold,double CurrDet){
|
4968
|
4971
|
// ret *= -1;
|
4969
|
4972
|
|
4970
|
4973
|
// printf("4.ret : %f\r\n",ret);
|
|
4974
|
+// ALC_AlarmSet[num] = false;
|
|
4975
|
+
|
4971
|
4976
|
}
|
4972
|
4977
|
|
4973
|
4978
|
}
|
|
@@ -4977,18 +4982,38 @@ int16_t ALC_Calc(uint8_t num,double CurrAtten ,int8_t threshold,double CurrDet){
|
4977
|
4982
|
if(ret < -20){
|
4978
|
4983
|
// printf("5. ret1 : %f \r\n",ret);
|
4979
|
4984
|
ret = -20;
|
4980
|
|
- ALC_AlarmSet[num] = true;
|
|
4985
|
+
|
4981
|
4986
|
}else{
|
4982
|
4987
|
if(ret > 0){
|
4983
|
4988
|
// printf("6. ret1 : %f \r\n",ret);
|
4984
|
4989
|
ret = 0;
|
4985
|
4990
|
}
|
4986
|
|
- ALC_AlarmSet[num] = false;
|
|
4991
|
+
|
4987
|
4992
|
}
|
4988
|
4993
|
// printf("ret7 : %f \r\n",ret);
|
4989
|
4994
|
return ret * 10;
|
4990
|
4995
|
}
|
4991
|
4996
|
#define UL_DL_DATASEND_MULTIPLE 10
|
|
4997
|
+void ALC_Alarm_TimerSet(uint8_t num,int16_t threshold,int16_t CurrDet,int16_t Atten){
|
|
4998
|
+ int16_t ret =0;
|
|
4999
|
+ int16_t CurrAtten = 0;
|
|
5000
|
+ CurrAtten = Atten * 0.1;
|
|
5001
|
+ if(threshold < CurrDet){
|
|
5002
|
+ ret = CurrDet - threshold ;
|
|
5003
|
+ ret = Bluecell_TestPro(ret +( CurrAtten / 10 * -1));
|
|
5004
|
+ ret *= -1;
|
|
5005
|
+ if(CurrAtten <= -20)
|
|
5006
|
+ ALC_AlarmSet[num] = true;
|
|
5007
|
+ }
|
|
5008
|
+ else if(threshold -2 > CurrDet){
|
|
5009
|
+ if(CurrAtten < 0){
|
|
5010
|
+ ret = (threshold - 2) - CurrDet ;// -27 ///// - 29
|
|
5011
|
+ ret = Bluecell_TestPro(ret);
|
|
5012
|
+ ret += CurrAtten;
|
|
5013
|
+ ALC_AlarmSet[num] = false;
|
|
5014
|
+ }
|
|
5015
|
+ }
|
|
5016
|
+}
|
4992
|
5017
|
void ALC_Function(){ //DL
|
4993
|
5018
|
//double Volt_Calc_val = 3.3 / 4095;
|
4994
|
5019
|
//double tempret = 0;
|
|
@@ -5081,12 +5106,15 @@ void ALC_Function(){ //DL
|
5081
|
5106
|
// Limitdata /= 10;
|
5082
|
5107
|
|
5083
|
5108
|
// printf("CurrentATTENVALUE : %f\r\n",CurrentATTENVALUE);
|
|
5109
|
+// CurrentATTENVALUE = PE43711_Double(bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_H,bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_L);
|
5084
|
5110
|
|
|
5111
|
+//// CurrentATTENVALUE = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_H;
|
5085
|
5112
|
bluecell_Currdatastatus.ULO_Level1_H = ((int16_t)ResultData & 0xFF00) >> 8;
|
5086
|
5113
|
bluecell_Currdatastatus.ULO_Level1_L = ((int16_t)ResultData & 0x00FF);
|
5087
|
5114
|
printf("ORIGIN ResdBm : %f %d\r\n",ResdBm,Main_Atten[ALC_Alarm_UL1_Index]);
|
5088
|
5115
|
printf("After ResdBm : %f \r\n",ResdBm);
|
5089
|
5116
|
Limitdata += (Main_Atten[ALC_Alarm_UL1_Index] / 10);
|
|
5117
|
+ ALC_Alarm_TimerSet(ALC_Alarm_UL1_Index,Limitdata,ResdBm,UL_Atten[ALC_Alarm_UL1_Index]);
|
5090
|
5118
|
IwillGiveAtten = ALC_Calc(ALC_Alarm_UL1_Index,CurrentATTENVALUE,Limitdata,ResdBm);
|
5091
|
5119
|
//IwillGiveAtten = ALC_Calc(ALC_Alarm_UL1_Index,CurrentATTENVALUE,Limitdata,ResdBm);
|
5092
|
5120
|
|
|
@@ -5097,13 +5125,13 @@ void ALC_Function(){ //DL
|
5097
|
5125
|
IwillGiveAtten += 10;
|
5098
|
5126
|
}
|
5099
|
5127
|
}
|
5100
|
|
-
|
5101
|
|
- if(UL_Atten[ALC_Alarm_UL1_Index] + IwillGiveAtten <= -200){
|
5102
|
|
-
|
5103
|
|
- tmpcalc = (-200 + (Main_Atten[ALC_Alarm_UL1_Index] * -1));
|
5104
|
|
- IwillGiveAtten =tmpcalc;
|
5105
|
|
- }
|
5106
|
|
-
|
|
5128
|
+//
|
|
5129
|
+// if(UL_Atten[ALC_Alarm_UL1_Index] + IwillGiveAtten <= -200){
|
|
5130
|
+//
|
|
5131
|
+// tmpcalc = (-200 + (Main_Atten[ALC_Alarm_UL1_Index] * -1));
|
|
5132
|
+// IwillGiveAtten =tmpcalc;
|
|
5133
|
+// }
|
|
5134
|
+//
|
5107
|
5135
|
printf(" UL_Atten[ALC_Alarm_UL1_Index] : %d I WILL GIVE ATTEN : %d \r\n", UL_Atten[ALC_Alarm_UL1_Index],IwillGiveAtten);
|
5108
|
5136
|
printf("ADC : %f CURR ATT : %f Threas : %d : I WILL GIVE ATTEN : %d \r\n",ret,ResdBm , Limitdata,IwillGiveAtten);
|
5109
|
5137
|
printf("==================END================\r\n");
|
|
@@ -5119,19 +5147,11 @@ void ALC_Function(){ //DL
|
5119
|
5147
|
// printf("CurrentATTENVALUE %f \r\n",CurrentATTENVALUE);
|
5120
|
5148
|
/* if(ALC_Level_Save[ALC_Alarm_UL1_Index] != ResultData
|
5121
|
5149
|
|| Limitdata != PrevLimitdata[ALC_Alarm_UL1_Index])*/
|
5122
|
|
- if(Limitdata != PrevLimitdata[ALC_Alarm_UL1_Index]
|
5123
|
|
- ||ResultData!= PrevResultData[ALC_Alarm_UL1_Index]
|
5124
|
|
- ||UL_ALC_GainAttenSet[ALC_Alarm_UL1_Index] == true){
|
5125
|
5150
|
if( (IwillGiveAtten > 0) || (CurrentATTENVALUE >= (IwillGiveAtten))){
|
5126
|
|
- tempcurratten = CurrentATTENVALUE * 10;
|
5127
|
|
- bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_H = (((uint16_t)((tempcurratten + IwillGiveAtten)) & 0xFF00) >> 8);
|
5128
|
|
- bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_L = ((uint16_t)(tempcurratten + IwillGiveAtten)) & 0x00FF;
|
|
5151
|
+ bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_H = (((uint16_t)((IwillGiveAtten)) & 0xFF00) >> 8);
|
|
5152
|
+ bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_L = ((uint16_t)(IwillGiveAtten)) & 0x00FF;
|
5129
|
5153
|
CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
5130
|
5154
|
}
|
5131
|
|
- PrevLimitdata[ALC_Alarm_UL1_Index] = Limitdata;
|
5132
|
|
- PrevResultData[ALC_Alarm_UL1_Index] = ResultData;
|
5133
|
|
- UL_ALC_GainAttenSet[ALC_Alarm_UL1_Index] = false;
|
5134
|
|
- }
|
5135
|
5155
|
// CurrentATTENVALUE = PE43711_Double(bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_H,bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_L);
|
5136
|
5156
|
|
5137
|
5157
|
// printf("CurrentATTENVALUE : %f\r\n",CurrentATTENVALUE );
|
|
@@ -5163,7 +5183,8 @@ void ALC_Function(){ //DL
|
5163
|
5183
|
ResultData = ResdBm;
|
5164
|
5184
|
CurrentATTENVALUE = PE43711_Double(bluecell_Currdatastatus.MBIC_ULO_ALC_Atten2_H,bluecell_Currdatastatus.MBIC_ULO_ALC_Atten2_L);
|
5165
|
5185
|
bluecell_Currdatastatus.ULO_Level2_H = ((int16_t)ResultData & 0xFF00) >> 8;
|
5166
|
|
- bluecell_Currdatastatus.ULO_Level2_L = ((int16_t)ResultData & 0x00FF);
|
|
5186
|
+ bluecell_Currdatastatus.ULO_Level2_L = ((int16_t)ResultData & 0x00FF);
|
|
5187
|
+// CurrentATTENVALUE = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten2_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten2_H;
|
5167
|
5188
|
IwillGiveAtten = ALC_Calc(ALC_Alarm_UL2_Index,CurrentATTENVALUE,Limitdata,ResdBm);
|
5168
|
5189
|
// printf("CurrentATTENVALUE : %f I WILL GIVE ATTEN : %d \r\n",CurrentATTENVALUE,IwillGiveAtten);
|
5169
|
5190
|
// printf("ADC : %f Current : %f Threas : %d : I WILL GIVE ATTEN : %d \r\n",ret,ResdBm , Limitdata,IwillGiveAtten);
|
|
@@ -5218,7 +5239,7 @@ void ALC_Function(){ //DL
|
5218
|
5239
|
CurrentATTENVALUE = PE43711_Double(bluecell_Currdatastatus.MBIC_ULO_ALC_Atten3_H,bluecell_Currdatastatus.MBIC_ULO_ALC_Atten3_L);
|
5219
|
5240
|
bluecell_Currdatastatus.ULO_Level3_H = ((int16_t)ResultData & 0xFF00) >> 8;
|
5220
|
5241
|
bluecell_Currdatastatus.ULO_Level3_L = ((int16_t)ResultData & 0x00FF);
|
5221
|
|
-
|
|
5242
|
+// CurrentATTENVALUE = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten3_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten3_H;
|
5222
|
5243
|
IwillGiveAtten = ALC_Calc(ALC_Alarm_UL3_Index,CurrentATTENVALUE,Limitdata,ResdBm);
|
5223
|
5244
|
// printf("ADC : %f Current : %f Threas : %d : I WILL GIVE ATTEN : %d \r\n",ret,ResdBm , Limitdata,IwillGiveAtten);
|
5224
|
5245
|
if( (IwillGiveAtten > 0) || (CurrentATTENVALUE >= (IwillGiveAtten * -1))){
|
|
@@ -5261,7 +5282,7 @@ void ALC_Function(){ //DL
|
5261
|
5282
|
CurrentATTENVALUE = PE43711_Double(bluecell_Currdatastatus.MBIC_ULO_ALC_Atten4_H,bluecell_Currdatastatus.MBIC_ULO_ALC_Atten4_L);
|
5262
|
5283
|
bluecell_Currdatastatus.ULO_Level4_H = ((int16_t)ResultData & 0xFF00) >> 8;
|
5263
|
5284
|
bluecell_Currdatastatus.ULO_Level4_L = ((int16_t)ResultData & 0x00FF);
|
5264
|
|
-
|
|
5285
|
+//// CurrentATTENVALUE = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_H;
|
5265
|
5286
|
IwillGiveAtten = ALC_Calc(ALC_Alarm_UL4_Index,CurrentATTENVALUE,Limitdata,ResdBm);
|
5266
|
5287
|
if( (IwillGiveAtten > 0) || (CurrentATTENVALUE >= (IwillGiveAtten * -1))){
|
5267
|
5288
|
tempcurratten = CurrentATTENVALUE * 10;
|