Rev 1939 | Rev 1941 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1939 | Rev 1940 | ||
---|---|---|---|
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 | //--------------------------------------------------------------- |
|
- | 66 | unsigned char NC_Fills_HoTT_Telemety() |
|
- | 67 | { |
|
- | 68 | unsigned char *ptr; |
|
- | 69 | unsigned char max = 0,i,z; |
|
- | 70 | switch(FromNaviCtrl.Param.Byte[11]) |
|
- | 71 | { |
|
- | 72 | case HOTT_VARIO_PACKET_ID: |
|
- | 73 | ptr = (unsigned char *) &VarioPacket; |
|
- | 74 | max = sizeof(VarioPacket); |
|
- | 75 | break; |
|
- | 76 | case HOTT_GPS_PACKET_ID: |
|
- | 77 | ptr = (unsigned char *) &GPSPacket; |
|
- | 78 | max = sizeof(GPSPacket); |
|
- | 79 | break; |
|
- | 80 | case HOTT_ELECTRIC_AIR_PACKET_ID: |
|
- | 81 | ptr = (unsigned char *) &ElectricAirPacket; |
|
- | 82 | max = sizeof(ElectricAirPacket); |
|
- | 83 | break; |
|
- | 84 | } |
|
- | 85 | z = FromNaviCtrl.Param.Byte[0]; // Data allocation |
|
- | 86 | ||
- | 87 | for(i=0; i < FromNaviCtrl.Param.Byte[1]; i++) |
|
- | 88 | { |
|
- | 89 | if(z >= max) break; |
|
- | 90 | ptr[z] = FromNaviCtrl.Param.Byte[2+i]; |
|
- | 91 | z++; |
|
- | 92 | } |
|
- | 93 | } |
|
- | 94 | ||
- | 95 | //--------------------------------------------------------------- |
|
65 | //--------------------------------------------------------------- |
96 | |
66 | unsigned char HoTT_Telemety(unsigned char packet_request) |
97 | unsigned char HoTT_Telemety(unsigned char packet_request) |
67 | { |
98 | { |
68 | switch(packet_request) |
99 | switch(packet_request) |
69 | { |
100 | { |
70 | case HOTT_VARIO_PACKET_ID: |
101 | case HOTT_VARIO_PACKET_ID: |
- | 102 | VarioPacket.Altitude = HoehenWert/100 + 500; |
|
- | 103 | VarioPacket.m_sec = GPSInfo.Speed+120; |
|
- | 104 | GPSPacket.m_3sec = 120; |
|
71 | VarioPacket.Altitude = HoehenWert/100 + 500; |
105 | GPSPacket.m_10sec = 120; |
72 | if (VarioPacket.Altitude < VarioPacket.MinAltitude) VarioPacket.MinAltitude = VarioPacket.Altitude; |
106 | if (VarioPacket.Altitude < VarioPacket.MinAltitude) VarioPacket.MinAltitude = VarioPacket.Altitude; |
73 | if (VarioPacket.Altitude > VarioPacket.MaxAltitude) VarioPacket.MaxAltitude = VarioPacket.Altitude; |
107 | if (VarioPacket.Altitude > VarioPacket.MaxAltitude) VarioPacket.MaxAltitude = VarioPacket.Altitude; |
74 | VarioPacket.WarnBeep = HoTT_Waring(); |
108 | VarioPacket.WarnBeep = HoTT_Waring(); |
75 | HoTT_DataPointer = (unsigned char *) &VarioPacket; |
109 | HoTT_DataPointer = (unsigned char *) &VarioPacket; |
76 | return(sizeof(VarioPacket)); |
110 | return(sizeof(VarioPacket)); |
Line 77... | Line 111... | ||
77 | break; |
111 | break; |
78 | 112 | ||
79 | case HOTT_GPS_PACKET_ID: |
113 | case HOTT_GPS_PACKET_ID: |
80 | GPSPacket.Altitude = HoehenWert/100 + 500; |
114 | GPSPacket.Altitude = HoehenWert/100 + 500; |
81 | GPSPacket.Distance = GPSInfo.HomeDistance/10; |
115 | // GPSPacket.Distance = GPSInfo.HomeDistance/10; |
82 | GPSPacket.Heading = KompassValue/2; |
116 | // GPSPacket.Heading = GPSInfo.HomeBearing/2;//KompassValue/2; |
83 | GPSPacket.Speed = (GPSInfo.Speed * 36) / 10; |
117 | // GPSPacket.Speed = (GPSInfo.Speed * 36) / 10; |
84 | GPSPacket.m_sec = GPSInfo.Speed+120; |
118 | GPSPacket.m_sec = GPSInfo.Speed+120; |
85 | GPSPacket.m_3sec = 120; |
119 | GPSPacket.m_3sec = 120; |
86 | GPSPacket.m_10sec = 0; |
120 | GPSPacket.m_10sec = 0; |
87 | GPSPacket.WarnBeep = HoTT_Waring(); |
121 | GPSPacket.WarnBeep = HoTT_Waring(); |
88 | HoTT_DataPointer = (unsigned char *) &GPSPacket; |
122 | HoTT_DataPointer = (unsigned char *) &GPSPacket; |
89 | return(sizeof(GPSPacket)); |
123 | return(sizeof(GPSPacket)); |
90 | break; |
124 | break; |
91 | case HOTT_ELECTRIC_AIR_PACKET_ID: |
125 | case HOTT_ELECTRIC_AIR_PACKET_ID: |
- | 126 | ElectricAirPacket.Altitude = HoehenWert/100 + 500; |
|
- | 127 | ElectricAirPacket.Battery1 = UBat; |
|
- | 128 | ElectricAirPacket.Battery2 = UBat; |
|
- | 129 | ElectricAirPacket.m_sec = GPSInfo.Speed+120; |
|
- | 130 | ElectricAirPacket.m_3sec = 120; |
|
- | 131 | ElectricAirPacket.InputVoltage = UBat; |
|
92 | ElectricAirPacket.Altitude = HoehenWert/1000 + 500; ; |
132 | ElectricAirPacket.Temperature1 = Motor[0].Temperature + 20; |
93 | ElectricAirPacket.Battery1 = UBat; |
133 | ElectricAirPacket.Temperature2 = Motor[1].Temperature + 20; |
- | 134 | ElectricAirPacket.Capacity = Capacity.UsedCapacity/10; |
|
94 | ElectricAirPacket.Capacity = Capacity.UsedCapacity; |
135 | ElectricAirPacket.WarnBeep = HoTT_Waring(); |
95 | ElectricAirPacket.WarnBeep = HoTT_Waring(); |
136 | ElectricAirPacket.Current = Capacity.ActualCurrent; |
96 | HoTT_DataPointer = (unsigned char *) &ElectricAirPacket; |
137 | HoTT_DataPointer = (unsigned char *) &ElectricAirPacket; |
97 | return(sizeof(ElectricAirPacket)); |
138 | return(sizeof(ElectricAirPacket)); |
98 | break; |
139 | break; |
Line 130... | Line 171... | ||
130 | break; |
171 | break; |
131 | case 2: |
172 | case 2: |
132 | if(FC_StatusFlags & FC_STATUS_LOWBAT) |
173 | if(FC_StatusFlags & FC_STATUS_LOWBAT) |
133 | HoTT_printfxy_BLINK(0,2," %5i ",Capacity.UsedCapacity) |
174 | HoTT_printfxy_BLINK(0,2," %5i ",Capacity.UsedCapacity) |
134 | else HoTT_printfxy(0,2," %5i ",Capacity.UsedCapacity); |
175 | else HoTT_printfxy(0,2," %5i ",Capacity.UsedCapacity); |
135 | HoTT_printfxy(12,2,"I:%2i.%1iA",Capacity.ActualCurrent/10, Capacity.ActualCurrent%10); |
176 | HoTT_printfxy(12,2,"I:%2i.%1iA ",Capacity.ActualCurrent/10, Capacity.ActualCurrent%10); |
136 | break; |
177 | break; |
137 | case 3: |
178 | case 3: |
138 | HoTT_printfxy(9,0,"I"); |
179 | HoTT_printfxy(9,0,"I"); |
139 | HoTT_printfxy(9,1,"I"); |
180 | HoTT_printfxy(9,1,"I"); |
140 | HoTT_printfxy(9,2,"I"); |
181 | HoTT_printfxy(9,2,"I"); |
141 | HoTT_printfxy(0,3,"---------+-----------"); |
182 | HoTT_printfxy(0,3,"---------+-----------"); |
142 | HoTT_printfxy(9,4,"I"); |
- | |
143 | HoTT_printfxy(9,5,"I"); |
- | |
144 | HoTT_printfxy(0,6,"---------------------"); |
183 | HoTT_printfxy(0,6,"---------------------"); |
145 | break; |
184 | break; |
146 | case 4: |
185 | case 4: |
147 | if(NaviDataOkay) |
186 | if(NaviDataOkay) |
148 | { |
187 | { |
- | 188 | HoTT_printfxy(9,4,"I"); |
|
149 | HoTT_printfxy(0,4,"SAT:%2d ",GPSInfo.NumOfSats); |
189 | HoTT_printfxy(0,4,"SAT:%2d ",GPSInfo.NumOfSats); |
150 | HoTT_printfxy(10,4,"DIST:%3dm",GPSInfo.HomeDistance/10); |
190 | HoTT_printfxy(10,4,"DIST:%3dm",GPSInfo.HomeDistance/10); |
151 | switch (GPSInfo.SatFix) |
191 | switch (GPSInfo.SatFix) |
152 | { |
192 | { |
153 | case SATFIX_3D: |
193 | case SATFIX_3D: |
Line 159... | Line 199... | ||
159 | break; |
199 | break; |
160 | } |
200 | } |
161 | } |
201 | } |
162 | else |
202 | else |
163 | { //012345678901234567890 |
203 | { //012345678901234567890 |
164 | HoTT_printfxy(0,4,"No Navi "); |
204 | Hott_ClearLine(4); |
165 | } |
205 | } |
166 | break; |
206 | break; |
167 | case 5: |
207 | case 5: |
168 | if(NaviDataOkay) |
208 | if(NaviDataOkay) |
169 | { |
209 | { |
- | 210 | HoTT_printfxy(9,5,"I"); |
|
170 | HoTT_printfxy(4,5,"%2um/s",GPSInfo.Speed,GPSInfo.NumOfSats); |
211 | HoTT_printfxy(4,5,"%2um/s",GPSInfo.Speed,GPSInfo.NumOfSats); |
171 | HoTT_printfxy(12,5,"HM:%3d%c %c", GPSInfo.HomeBearing, HoTT_GRAD, NC_GPS_ModeCharacter); |
212 | HoTT_printfxy(12,5,"HM:%3d%c %c", GPSInfo.HomeBearing, HoTT_GRAD, NC_GPS_ModeCharacter); |
172 | } |
213 | } |
173 | else HoTT_printfxy(0,5," | "); |
214 | else Hott_ClearLine(5); |
174 | break; |
215 | break; |
175 | case 6: |
216 | case 6: |
176 | /* |
217 | /* |
177 | if(RequiredMotors == 4) Hott_ClearLine(6); |
218 | if(RequiredMotors == 4) Hott_ClearLine(6); |
178 | else |
219 | else |