Rev 1941 | Rev 1943 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1941 | Rev 1942 | ||
---|---|---|---|
Line 61... | Line 61... | ||
61 | if(MotorenEin && NC_ErrorCode) return(VOICE_BEEP); |
61 | if(MotorenEin && NC_ErrorCode) return(VOICE_BEEP); |
62 | return(0); |
62 | return(0); |
63 | } |
63 | } |
Line 64... | Line 64... | ||
64 | 64 | ||
65 | //--------------------------------------------------------------- |
65 | //--------------------------------------------------------------- |
66 | unsigned char NC_Fills_HoTT_Telemety() |
66 | void NC_Fills_HoTT_Telemety(void) |
67 | { |
67 | { |
68 | unsigned char *ptr; |
68 | unsigned char *ptr; |
69 | unsigned char max = 0,i,z; |
69 | unsigned char max = 0,i,z; |
70 | switch(FromNaviCtrl.Param.Byte[11]) |
70 | switch(FromNaviCtrl.Param.Byte[11]) |
Line 90... | Line 90... | ||
90 | ptr[z] = FromNaviCtrl.Param.Byte[2+i]; |
90 | ptr[z] = FromNaviCtrl.Param.Byte[2+i]; |
91 | z++; |
91 | z++; |
92 | } |
92 | } |
93 | } |
93 | } |
Line -... | Line 94... | ||
- | 94 | ||
- | 95 | unsigned int BuildHoTT_Vario(void) |
|
- | 96 | { |
|
- | 97 | unsigned int tmp; |
|
- | 98 | if(WaypointTrimming == 0) |
|
- | 99 | { |
|
- | 100 | tmp = 30000 + (AltitudeSetpointTrimming * EE_Parameter.Hoehe_Verstaerkung) / 3; |
|
- | 101 | if(tmp < 30000 && tmp > 30000 - 50) tmp = 30000 - 50; // weil es erst bei < 0,5m/sek piept |
|
- | 102 | } |
|
94 | 103 | else |
|
- | 104 | if(WaypointTrimming > 0) tmp = 30000 + FromNC_AltitudeSpeed * 10; |
|
- | 105 | else tmp = 30000 - FromNC_AltitudeSpeed * 10; |
|
- | 106 | return(tmp); |
|
Line -... | Line 107... | ||
- | 107 | } |
|
95 | //--------------------------------------------------------------- |
108 | |
96 | 109 | //--------------------------------------------------------------- |
|
- | 110 | unsigned char HoTT_Telemety(unsigned char packet_request) |
|
- | 111 | { |
|
97 | unsigned char HoTT_Telemety(unsigned char packet_request) |
112 | static unsigned char search = 0,max,min,tmp_max,tmp_min; |
98 | { |
113 | |
99 | switch(packet_request) |
114 | switch(packet_request) |
100 | { |
115 | { |
101 | case HOTT_VARIO_PACKET_ID: |
116 | case HOTT_VARIO_PACKET_ID: |
102 | VarioPacket.Altitude = HoehenWert/100 + 500; |
117 | VarioPacket.Altitude = HoehenWert/100 + 500; |
103 | VarioPacket.m_sec = GPSInfo.Speed+120; |
118 | VarioPacket.m_sec = BuildHoTT_Vario(); |
104 | GPSPacket.m_3sec = 120; |
119 | GPSPacket.m_3sec = 120; |
105 | GPSPacket.m_10sec = 120; |
120 | GPSPacket.m_10sec = 120; |
106 | if (VarioPacket.Altitude < VarioPacket.MinAltitude) VarioPacket.MinAltitude = VarioPacket.Altitude; |
121 | if (VarioPacket.Altitude < VarioPacket.MinAltitude) VarioPacket.MinAltitude = VarioPacket.Altitude; |
Line 113... | Line 128... | ||
113 | case HOTT_GPS_PACKET_ID: |
128 | case HOTT_GPS_PACKET_ID: |
114 | GPSPacket.Altitude = HoehenWert/100 + 500; |
129 | GPSPacket.Altitude = HoehenWert/100 + 500; |
115 | // GPSPacket.Distance = GPSInfo.HomeDistance/10; |
130 | // GPSPacket.Distance = GPSInfo.HomeDistance/10; |
116 | // GPSPacket.Heading = GPSInfo.HomeBearing/2;//KompassValue/2; |
131 | // GPSPacket.Heading = GPSInfo.HomeBearing/2;//KompassValue/2; |
117 | // GPSPacket.Speed = (GPSInfo.Speed * 36) / 10; |
132 | // GPSPacket.Speed = (GPSInfo.Speed * 36) / 10; |
118 | GPSPacket.m_sec = GPSInfo.Speed+120; |
133 | GPSPacket.m_sec = BuildHoTT_Vario(); |
119 | GPSPacket.m_3sec = 120; |
134 | GPSPacket.m_3sec = 120; |
120 | GPSPacket.m_10sec = 0; |
135 | GPSPacket.m_10sec = 0; |
121 | GPSPacket.WarnBeep = HoTT_Waring(); |
136 | GPSPacket.WarnBeep = HoTT_Waring(); |
122 | HoTT_DataPointer = (unsigned char *) &GPSPacket; |
137 | HoTT_DataPointer = (unsigned char *) &GPSPacket; |
123 | return(sizeof(GPSPacket)); |
138 | return(sizeof(GPSPacket)); |
124 | break; |
139 | break; |
125 | case HOTT_ELECTRIC_AIR_PACKET_ID: |
140 | case HOTT_ELECTRIC_AIR_PACKET_ID: |
- | 141 | ||
- | 142 | if(Motor[search].Temperature > tmp_max) tmp_max = Motor[search].Temperature; |
|
- | 143 | else |
|
- | 144 | if(Motor[search].Temperature) if(Motor[search].Temperature < tmp_min) tmp_min = Motor[search].Temperature; |
|
- | 145 | if(++search > MAX_MOTORS) |
|
- | 146 | { |
|
- | 147 | search = 0; |
|
- | 148 | if(tmp_min != 255) min = tmp_min; else min = 0; |
|
- | 149 | max = tmp_max; |
|
- | 150 | tmp_min = 255; |
|
- | 151 | tmp_max = 0; |
|
- | 152 | } |
|
126 | ElectricAirPacket.Altitude = HoehenWert/100 + 500; |
153 | ElectricAirPacket.Altitude = HoehenWert/100 + 500; |
127 | ElectricAirPacket.Battery1 = UBat; |
154 | ElectricAirPacket.Battery1 = UBat; |
128 | ElectricAirPacket.Battery2 = UBat; |
155 | ElectricAirPacket.Battery2 = UBat; |
129 | ElectricAirPacket.m_sec = GPSInfo.Speed+120; |
156 | ElectricAirPacket.m_sec = BuildHoTT_Vario(); |
130 | ElectricAirPacket.m_3sec = 120; |
157 | ElectricAirPacket.m_3sec = 120; |
131 | ElectricAirPacket.InputVoltage = UBat; |
158 | ElectricAirPacket.InputVoltage = UBat; |
132 | ElectricAirPacket.Temperature1 = Motor[0].Temperature + 20; |
159 | ElectricAirPacket.Temperature1 = min + 20; |
133 | ElectricAirPacket.Temperature2 = Motor[1].Temperature + 20; |
160 | ElectricAirPacket.Temperature2 = max + 20; |
134 | ElectricAirPacket.Capacity = Capacity.UsedCapacity/10; |
161 | ElectricAirPacket.Capacity = Capacity.UsedCapacity/10; |
135 | ElectricAirPacket.WarnBeep = HoTT_Waring(); |
162 | ElectricAirPacket.WarnBeep = HoTT_Waring(); |
136 | ElectricAirPacket.Current = Capacity.ActualCurrent; |
163 | ElectricAirPacket.Current = Capacity.ActualCurrent; |
137 | HoTT_DataPointer = (unsigned char *) &ElectricAirPacket; |
164 | HoTT_DataPointer = (unsigned char *) &ElectricAirPacket; |
138 | return(sizeof(ElectricAirPacket)); |
165 | return(sizeof(ElectricAirPacket)); |