Rev 2407 | Rev 2416 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2407 | Rev 2408 | ||
---|---|---|---|
Line 87... | Line 87... | ||
87 | 87 | ||
88 | 88 | ||
89 | void LipoDetection(unsigned char print) |
89 | void LipoDetection(unsigned char print) |
90 | { |
90 | { |
91 | #define MAX_CELL_VOLTAGE 43 // max cell voltage for LiPO |
91 | #define MAX_CELL_VOLTAGE 43 // max cell voltage for LiPO |
92 | if(print) printf("\n\rBatt:"); |
92 | if(print) |
93 | // timer = SetDelay(100); |
- | |
94 | // if(print) while (!CheckDelay(timer)); |
- | |
95 | // up to 6s LiPo, less than 2s is technical impossible |
93 | { |
- | 94 | printf("\n\rBatt:"); |
|
96 | // for(cells = 2; cells < 7; cells++) if(UBat < cells * MAX_CELL_VOLTAGE) break; |
95 | LipoCells = 1 + UBat / MAX_CELL_VOLTAGE; |
97 | LipoCells = 1 + UBat / MAX_CELL_VOLTAGE; |
96 | } |
98 | if(EE_Parameter.UnterspannungsWarnung < 50) |
97 | if(EE_Parameter.UnterspannungsWarnung < 50) |
99 | { |
98 | { |
100 | BattLowVoltageWarning = LipoCells * EE_Parameter.UnterspannungsWarnung; |
99 | BattLowVoltageWarning = LipoCells * EE_Parameter.UnterspannungsWarnung; |
Line 106... | Line 105... | ||
106 | } |
105 | } |
107 | else BattLowVoltageWarning = EE_Parameter.UnterspannungsWarnung; |
106 | else BattLowVoltageWarning = EE_Parameter.UnterspannungsWarnung; |
Line 108... | Line 107... | ||
108 | 107 | ||
109 | // automatische Zellenerkennung |
108 | // automatische Zellenerkennung |
- | 109 | if(EE_Parameter.AutoLandingVoltage < 50) EE_Parameter.AutoLandingVoltage = LipoCells * EE_Parameter.AutoLandingVoltage; |
|
Line 110... | Line 110... | ||
110 | if(EE_Parameter.AutoLandingVoltage < 50) EE_Parameter.AutoLandingVoltage = LipoCells * EE_Parameter.AutoLandingVoltage; |
110 | if(EE_Parameter.ComingHomeVoltage < 50) EE_Parameter.ComingHomeVoltage = LipoCells * EE_Parameter.ComingHomeVoltage; |
- | 111 | ||
- | 112 | if(EE_Parameter.AutoLandingVoltage > BattLowVoltageWarning) EE_Parameter.AutoLandingVoltage = BattLowVoltageWarning - 1; |
|
111 | 113 | if(EE_Parameter.ComingHomeVoltage >= BattLowVoltageWarning) EE_Parameter.ComingHomeVoltage = BattLowVoltageWarning - 1; |
|
112 | if(EE_Parameter.AutoLandingVoltage > BattLowVoltageWarning) EE_Parameter.AutoLandingVoltage = BattLowVoltageWarning - 1; |
114 | if(EE_Parameter.AutoLandingVoltage >= EE_Parameter.ComingHomeVoltage) EE_Parameter.AutoLandingVoltage = EE_Parameter.ComingHomeVoltage - 1; |
113 | 115 | ||
114 | if(print) |
116 | if(print) |
- | 117 | { |
|
115 | { |
118 | printf(" Low warning: %d.%dV",BattLowVoltageWarning/10,BattLowVoltageWarning%10); |
116 | printf(" Low warning: %d.%d",BattLowVoltageWarning/10,BattLowVoltageWarning%10); |
119 | if(EE_Parameter.ComingHomeVoltage) printf(" Auto-CH: %d.%dV",EE_Parameter.ComingHomeVoltage/10,EE_Parameter.ComingHomeVoltage%10); |
117 | if(EE_Parameter.AutoLandingVoltage) printf(" Autolanding: %d.%d",EE_Parameter.AutoLandingVoltage/10,EE_Parameter.AutoLandingVoltage%10); |
120 | if(EE_Parameter.AutoLandingVoltage) printf(" Autolanding: %d.%dV",EE_Parameter.AutoLandingVoltage/10,EE_Parameter.AutoLandingVoltage%10); |
Line 118... | Line 121... | ||
118 | } |
121 | } |
119 | } |
122 | } |