NinjaFlight
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
hott.h
Go to the documentation of this file.
1 /*
2  * This file is part of Ninjaflight.
3  *
4  * Ninjaflight is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * Ninjaflight is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with Ninjaflight. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 /*
19  * Authors:
20  * Dominic Clifton/Hydra
21  * Carsten Giesen
22  * Adam Majerczyk (majerczyk.adam@gmail.com)
23  * Texmode add-on by Michi (mamaretti32@gmail.com)
24  */
25 
26 #pragma once
27 
28 #include "../config/hott.h"
29 
30 #define HOTTV4_RXTX 4
31 
32 #define HOTTV4_TEXT_MODE_REQUEST_ID 0x7f
33 #define HOTTV4_BINARY_MODE_REQUEST_ID 0x80
34 
35 #define HOTTV4_BUTTON_DEC 0xEB
36 #define HOTTV4_BUTTON_INC 0xED
37 #define HOTTV4_BUTTON_SET 0xE9
38 #define HOTTV4_BUTTON_NIL 0x0F
39 #define HOTTV4_BUTTON_NEXT 0xEE
40 #define HOTTV4_BUTTON_PREV 0xE7
41 
42 #define HOTT_EAM_OFFSET_HEIGHT 500
43 #define HOTT_EAM_OFFSET_M2S 72
44 #define HOTT_EAM_OFFSET_M3S 120
45 #define HOTT_EAM_OFFSET_TEMPERATURE 20
46 
47 #define HOTT_GPS_ALTITUDE_OFFSET 500
48 
49 typedef enum {
60 
61 typedef enum {
72 
73 //
74 // Messages
75 //
76 
77 #define HOTT_TEXT_MODE_REQUEST_ID 0x7f
78 #define HOTT_BINARY_MODE_REQUEST_ID 0x80
79 //Sensor Ids
80 
81 //Id 0x80 is used when no sensor has been found during the bus scan
82 // additionaly meaning?
83 #define HOTT_TELEMETRY_NO_SENSOR_ID 0x80
84 
85 //Graupner #33601 Vario Module
86 #define HOTT_TELEMETRY_VARIO_SENSOR_ID 0x89
87 
88 //Graupner #33600 GPS Module
89 #define HOTT_TELEMETRY_GPS_SENSOR_ID 0x8a
90 
91 //Graupner #337xx Air ESC
92 #define HOTT_TELEMETRY_AIRESC_SENSOR_ID 0x8c
93 
94 //Graupner #33611 General Air Module
95 #define HOTT_TELEMETRY_GAM_SENSOR_ID 0x8d
96 
97 //Graupner #33620 Electric Air Module
98 #define HOTT_TELEMETRY_EAM_SENSOR_ID 0x8e
99 
100 
101 #define HOTT_EAM_SENSOR_TEXT_ID 0xE0 // Electric Air Module ID
102 #define HOTT_GPS_SENSOR_TEXT_ID 0xA0 // GPS Module ID
103 
104 
105 #define HOTT_TEXTMODE_MSG_TEXT_LEN 168
106 //Text mode msgs type
108  uint8_t start_byte; //#01 constant value 0x7b
109  uint8_t fill1; //#02 constant value 0x00
110  uint8_t warning_beeps;//#03 1=A 2=B ...
111  uint8_t msg_txt[HOTT_TEXTMODE_MSG_TEXT_LEN]; //#04 ASCII text to display to
112  // Bit 7 = 1 -> Inverse character display
113  // Display 21x8
114  uint8_t stop_byte; //#171 constant value 0x7d
115 };
116 
117 typedef struct HOTT_GAM_MSG_s {
118  uint8_t start_byte; //#01 start uint8_t constant value 0x7c
119  uint8_t gam_sensor_id; //#02 EAM sensort id. constat value 0x8d
120  uint8_t warning_beeps; //#03 1=A 2=B ... 0x1a=Z 0 = no alarm
121  // Q Min cell voltage sensor 1
122  // R Min Battery 1 voltage sensor 1
123  // J Max Battery 1 voltage sensor 1
124  // F Min temperature sensor 1
125  // H Max temperature sensor 1
126  // S Min Battery 2 voltage sensor 2
127  // K Max Battery 2 voltage sensor 2
128  // G Min temperature sensor 2
129  // I Max temperature sensor 2
130  // W Max current
131  // V Max capacity mAh
132  // P Min main power voltage
133  // X Max main power voltage
134  // O Min altitude
135  // Z Max altitude
136  // C negative difference m/s too high
137  // A negative difference m/3s too high
138  // N positive difference m/s too high
139  // L positive difference m/3s too high
140  // T Minimum RPM
141  // Y Maximum RPM
142 
143  uint8_t sensor_id; //#04 constant value 0xd0
144  uint8_t alarm_invers1; //#05 alarm bitmask. Value is displayed inverted
145  //Bit# Alarm field
146  // 0 all cell voltage
147  // 1 Battery 1
148  // 2 Battery 2
149  // 3 Temperature 1
150  // 4 Temperature 2
151  // 5 Fuel
152  // 6 mAh
153  // 7 Altitude
154  uint8_t alarm_invers2; //#06 alarm bitmask. Value is displayed inverted
155  //Bit# Alarm Field
156  // 0 main power current
157  // 1 main power voltage
158  // 2 Altitude
159  // 3 m/s
160  // 4 m/3s
161  // 5 unknown
162  // 6 unknown
163  // 7 "ON" sign/text msg active
164 
165  uint8_t cell1; //#07 cell 1 voltage lower value. 0.02V steps, 124=2.48V
166  uint8_t cell2; //#08
167  uint8_t cell3; //#09
168  uint8_t cell4; //#10
169  uint8_t cell5; //#11
170  uint8_t cell6; //#12
171  uint8_t batt1_L; //#13 battery 1 voltage LSB value. 0.1V steps. 50 = 5.5V
172  uint8_t batt1_H; //#14
173  uint8_t batt2_L; //#15 battery 2 voltage LSB value. 0.1V steps. 50 = 5.5V
174  uint8_t batt2_H; //#16
175  uint8_t temperature1; //#17 temperature 1. offset of 20. a value of 20 = 0�C
176  uint8_t temperature2; //#18 temperature 2. offset of 20. a value of 20 = 0�C
177  uint8_t fuel_procent; //#19 Fuel capacity in %. Values 0--100
178  // graphical display ranges: 0-25% 50% 75% 100%
179  uint8_t fuel_ml_L; //#20 Fuel in ml scale. Full = 65535!
180  uint8_t fuel_ml_H; //#21
181  uint8_t rpm_L; //#22 RPM in 10 RPM steps. 300 = 3000rpm
182  uint8_t rpm_H; //#23
183  uint8_t altitude_L; //#24 altitude in meters. offset of 500, 500 = 0m
184  uint8_t altitude_H; //#25
185  uint8_t climbrate_L; //#26 climb rate in 0.01m/s. Value of 30000 = 0.00 m/s
186  uint8_t climbrate_H; //#27
187  uint8_t climbrate3s; //#28 climb rate in m/3sec. Value of 120 = 0m/3sec
188  uint8_t current_L; //#29 current in 0.1A steps
189  uint8_t current_H; //#30
190  uint8_t main_voltage_L; //#31 Main power voltage using 0.1V steps
191  uint8_t main_voltage_H; //#32
192  uint8_t batt_cap_L; //#33 used battery capacity in 10mAh steps
193  uint8_t batt_cap_H; //#34
194  uint8_t speed_L; //#35 (air?) speed in km/h(?) we are using ground speed here per default
195  uint8_t speed_H; //#36
196  uint8_t min_cell_volt; //#37 minimum cell voltage in 2mV steps. 124 = 2,48V
197  uint8_t min_cell_volt_num; //#38 number of the cell with the lowest voltage
198  uint8_t rpm2_L; //#39 RPM in 10 RPM steps. 300 = 3000rpm
199  uint8_t rpm2_H; //#40
200  uint8_t general_error_number;//#41 Voice error == 12. TODO: more docu
201  uint8_t pressure; //#42 Pressure up to 16bar. 0,1bar scale. 20 = 2bar
202  uint8_t version; //#43 version number TODO: more info?
203  uint8_t stop_byte; //#44 stop uint8_t
205 
206 #define HOTT_VARIO_MSG_TEXT_LEN 21
207 typedef struct HOTT_VARIO_MSG_s {
208  uint8_t start_byte; //#01 start uint8_t constant value 0x7c
209  uint8_t vario_sensor_id; //#02 VARIO sensort id. constat value 0x89
210  uint8_t warning_beeps; //#03 1=A 2=B ...
211  // Q Min cell voltage sensor 1
212  // R Min Battery 1 voltage sensor 1
213  // J Max Battery 1 voltage sensor 1
214  // F Min temperature sensor 1
215  // H Max temperature sensor 1
216  // S Min Battery voltage sensor 2
217  // K Max Battery voltage sensor 2
218  // G Min temperature sensor 2
219  // I Max temperature sensor 2
220  // W Max current
221  // V Max capacity mAh
222  // P Min main power voltage
223  // X Max main power voltage
224  // O Min altitude
225  // Z Max altitude
226  // T Minimum RPM
227  // Y Maximum RPM
228  // C m/s negative difference
229  // A m/3s negative difference
230 
231 
232  uint8_t sensor_id; //#04 constant value 0x90
233  uint8_t alarm_invers1; //#05 Inverse display (alarm?) bitmask
234  //TODO: more info
235  uint8_t altitude_L; //#06 Altitude low uint8_t. In meters. A value of 500 means 0m
236  uint8_t altitude_H; //#07 Altitude high uint8_t
237  uint8_t altitude_max_L; //#08 Max. measured altitude low uint8_t. In meters. A value of 500 means 0m
238  uint8_t altitude_max_H; //#09 Max. measured altitude high uint8_t
239  uint8_t altitude_min_L; //#10 Min. measured altitude low uint8_t. In meters. A value of 500 means 0m
240  uint8_t altitude_min_H; //#11 Min. measured altitude high uint8_t
241  uint8_t climbrate_L; //#12 Climb rate in m/s. Steps of 0.01m/s. Value of 30000 = 0.00 m/s
242  uint8_t climbrate_H; //#13 Climb rate in m/s
243  uint8_t climbrate3s_L; //#14 Climb rate in m/3s. Steps of 0.01m/3s. Value of 30000 = 0.00 m/3s
244  uint8_t climbrate3s_H; //#15 Climb rate m/3s low uint8_t
245  uint8_t climbrate10s_L; //#16 Climb rate m/10s. Steps of 0.01m/10s. Value of 30000 = 0.00 m/10s
246  uint8_t climbrate10s_H; //#17 Climb rate m/10s low uint8_t
247  uint8_t text_msg[HOTT_VARIO_MSG_TEXT_LEN]; //#18 Free ASCII text message
248  uint8_t free_char1; //#39 Free ASCII character. appears right to home distance
249  uint8_t free_char2; //#40 Free ASCII character. appears right to home direction
250  uint8_t free_char3; //#41 Free ASCII character. appears? TODO: Check where this char appears
251  uint8_t compass_direction; //#42 Compass heading in 2� steps. 1 = 2�
252  uint8_t version; //#43 version number TODO: more info?
253  uint8_t stop_byte; //#44 stop uint8_t, constant value 0x7d
255 
256 typedef struct HOTT_EAM_MSG_s {
257  uint8_t start_byte; //#01 start uint8_t
258  uint8_t eam_sensor_id; //#02 EAM sensort id. constat value 0x8e
259  uint8_t warning_beeps; //#03 1=A 2=B ... or 'A' - 0x40 = 1
260  // Q Min cell voltage sensor 1
261  // R Min Battery 1 voltage sensor 1
262  // J Max Battery 1 voltage sensor 1
263  // F Mim temperature sensor 1
264  // H Max temperature sensor 1
265  // S Min cell voltage sensor 2
266  // K Max cell voltage sensor 2
267  // G Min temperature sensor 2
268  // I Max temperature sensor 2
269  // W Max current
270  // V Max capacity mAh
271  // P Min main power voltage
272  // X Max main power voltage
273  // O Min altitude
274  // Z Max altitude
275  // C (negative) sink rate m/sec to high
276  // B (negative) sink rate m/3sec to high
277  // N climb rate m/sec to high
278  // M climb rate m/3sec to high
279 
280  uint8_t sensor_id; //#04 constant value 0xe0
281  uint8_t alarm_invers1; //#05 alarm bitmask. Value is displayed inverted
282  //Bit# Alarm field
283  // 0 mAh
284  // 1 Battery 1
285  // 2 Battery 2
286  // 3 Temperature 1
287  // 4 Temperature 2
288  // 5 Altitude
289  // 6 Current
290  // 7 Main power voltage
291  uint8_t alarm_invers2; //#06 alarm bitmask. Value is displayed inverted
292  //Bit# Alarm Field
293  // 0 m/s
294  // 1 m/3s
295  // 2 Altitude (duplicate?)
296  // 3 m/s (duplicate?)
297  // 4 m/3s (duplicate?)
298  // 5 unknown/unused
299  // 6 unknown/unused
300  // 7 "ON" sign/text msg active
301 
302  uint8_t cell1_L; //#07 cell 1 voltage lower value. 0.02V steps, 124=2.48V
303  uint8_t cell2_L; //#08
304  uint8_t cell3_L; //#09
305  uint8_t cell4_L; //#10
306  uint8_t cell5_L; //#11
307  uint8_t cell6_L; //#12
308  uint8_t cell7_L; //#13
309  uint8_t cell1_H; //#14 cell 1 voltage high value. 0.02V steps, 124=2.48V
310  uint8_t cell2_H; //#15
311  uint8_t cell3_H; //#16
312  uint8_t cell4_H; //#17
313  uint8_t cell5_H; //#18
314  uint8_t cell6_H; //#19
315  uint8_t cell7_H; //#20
316 
317  uint8_t batt1_voltage_L; //#21 battery 1 voltage lower value in 100mv steps, 50=5V. optionally cell8_L value 0.02V steps
318  uint8_t batt1_voltage_H; //#22
319 
320  uint8_t batt2_voltage_L; //#23 battery 2 voltage lower value in 100mv steps, 50=5V. optionally cell8_H value. 0.02V steps
321  uint8_t batt2_voltage_H; //#24
322 
323  uint8_t temp1; //#25 Temperature sensor 1. 20=0�, 46=26� - offset of 20.
324  uint8_t temp2; //#26 temperature sensor 2
325 
326  uint8_t altitude_L; //#27 Attitude lower value. unit: meters. Value of 500 = 0m
327  uint8_t altitude_H; //#28
328 
329  uint8_t current_L; //#29 Current in 0.1 steps
330  uint8_t current_H; //#30
331 
332  uint8_t main_voltage_L; //#31 Main power voltage (drive) in 0.1V steps
333  uint8_t main_voltage_H; //#32
334 
335  uint8_t batt_cap_L; //#33 used battery capacity in 10mAh steps
336  uint8_t batt_cap_H; //#34
337 
338  uint8_t climbrate_L; //#35 climb rate in 0.01m/s. Value of 30000 = 0.00 m/s
339  uint8_t climbrate_H; //#36
340 
341  uint8_t climbrate3s; //#37 climbrate in m/3sec. Value of 120 = 0m/3sec
342 
343  uint8_t rpm_L; //#38 RPM. Steps: 10 U/min
344  uint8_t rpm_H; //#39
345 
346  uint8_t electric_min; //#40 Electric minutes. Time does start, when motor current is > 3 A
347  uint8_t electric_sec; //#41
348 
349  uint8_t speed_L; //#42 (air?) speed in km/h. Steps 1km/h
350  uint8_t speed_H; //#43
351  uint8_t stop_byte; //#44 stop uint8_t
353 
354 //HoTT GPS Sensor response to Receiver (?!not?! Smartbox)
355 typedef struct HOTT_GPS_MSG_s {
356  uint8_t start_byte; //#01 constant value 0x7c
357  uint8_t gps_sensor_id; //#02 constant value 0x8a
358  uint8_t warning_beeps; //#03 1=A 2=B ...
359  // A Min Speed
360  // L Max Speed
361  // O Min Altitude
362  // Z Max Altitude
363  // C (negative) sink rate m/sec to high
364  // B (negative) sink rate m/3sec to high
365  // N climb rate m/sec to high
366  // M climb rate m/3sec to high
367  // D Max home distance
368  //
369 
370  uint8_t sensor_id; //#04 constant (?) value 0xa0
371  uint8_t alarm_invers1; //#05
372  //TODO: more info
373  uint8_t alarm_invers2; //#06 1 = No GPS signal
374  //TODO: more info
375 
376  uint8_t flight_direction; //#07 flight direction in 2 degreees/step (1 = 2degrees);
377  uint8_t gps_speed_L; //08 km/h
378  uint8_t gps_speed_H; //#09
379 
380  uint8_t pos_NS; //#10 north = 0, south = 1
381  uint8_t pos_NS_dm_L; //#11 degree minutes ie N48�39�988
382  uint8_t pos_NS_dm_H; //#12
383  uint8_t pos_NS_sec_L; //#13 position seconds
384  uint8_t pos_NS_sec_H; //#14
385 
386  uint8_t pos_EW; //#15 east = 0, west = 1
387  uint8_t pos_EW_dm_L; //#16 degree minutes ie. E9�25�9360
388  uint8_t pos_EW_dm_H; //#17
389  uint8_t pos_EW_sec_L; //#18 position seconds
390  uint8_t pos_EW_sec_H; //#19
391 
392  uint8_t home_distance_L; //#20 meters
393  uint8_t home_distance_H; //#21
394 
395  uint8_t altitude_L; //#22 meters. Value of 500 = 0m
396  uint8_t altitude_H; //#23
397 
398  uint8_t climbrate_L; //#24 m/s 0.01m/s resolution. Value of 30000 = 0.00 m/s
399  uint8_t climbrate_H; //#25
400 
401  uint8_t climbrate3s; //#26 climbrate in m/3s resolution, value of 120 = 0 m/3s
402 
403  uint8_t gps_satelites;//#27 sat count
404  uint8_t gps_fix_char; //#28 GPS fix character. display, 'D' = DGPS, '2' = 2D, '3' = 3D, '-' = no fix. Where appears this char???
405 
406  uint8_t home_direction;//#29 direction from starting point to Model position (2 degree steps)
407  uint8_t angle_roll; //#30 angle roll in 2 degree steps
408  uint8_t angle_nick; //#31 angle in 2degree steps
409  uint8_t angle_compass; //#32 angle in 2degree steps. 1 = 2�, 255 = - 2� (1 uint8_t) North = 0�
410 
411  uint8_t gps_time_h; //#33 UTC time hours
412  uint8_t gps_time_m; //#34 UTC time minutes
413  uint8_t gps_time_s; //#35 UTC time seconds
414  uint8_t gps_time_sss; //#36 UTC time milliseconds
415 
416  uint8_t msl_altitude_L;//#37 mean sea level altitude
417  uint8_t msl_altitude_H;//#38
418 
419  uint8_t vibration; //#39 vibrations level in %
420 
421  uint8_t free_char1; //#40 appears right to home distance
422  uint8_t free_char2; //#41 appears right to home direction
423  uint8_t free_char3; //#42 GPS ASCII D=DGPS 2=2D 3=3D -=No Fix
424  uint8_t version; //#43
425  // 0 GPS Graupner #33600
426  // 1 Gyro Receiver
427  // 255 Mikrokopter
428  uint8_t stop_byte; //#44 constant value 0x7d
430 
431 typedef struct HOTT_AIRESC_MSG_s {
432  uint8_t start_byte; //#01 constant value 0x7c
433  uint8_t airesc_sensor_id; //#02 constant value 0x8c
434  uint8_t warning_beeps; //#03 1=A 2=B ...
435  // A
436  // L
437  // O
438  // Z
439  // C
440  // B
441  // N
442  // M
443  // D
444  //
445 
446  uint8_t sensor_id; //#04 constant value 0xc0
447  uint8_t alarm_invers1; //#05 TODO: more info
448  uint8_t alarm_invers2; //#06 TODO: more info
449  uint8_t input_v_L; //#07 Input voltage low byte
450  uint8_t input_v_H; //#08
451  uint8_t input_v_min_L; //#09 Input min. voltage low byte
452  uint8_t input_v_min_H; //#10
453  uint8_t batt_cap_L; //#11 battery capacity in 10mAh steps
454  uint8_t batt_cap_H; //#12
455  uint8_t esc_temp; //#13 ESC temperature
456  uint8_t esc_max_temp; //#14 ESC max. temperature
457  uint8_t current_L; //#15 Current in 0.1 steps
458  uint8_t current_H; //#16
459  uint8_t current_max_L; //#17 Current max. in 0.1 steps
460  uint8_t current_max_H; //#18
461  uint8_t rpm_L; //#19 RPM in 10U/min steps
462  uint8_t rpm_H; //#20
463  uint8_t rpm_max_L; //#21 RPM max
464  uint8_t rpm_max_H; //#22
465  uint8_t throttle; //#23 throttle in %
466  uint8_t speed_L; //#24 Speed
467  uint8_t speed_H; //#25
468  uint8_t speed_max_L; //#26 Speed max
469  uint8_t speed_max_H; //#27
470  uint8_t bec_v; //#28 BEC voltage
471  uint8_t bec_min_v; //#29 BEC min. voltage
472  uint8_t bec_current; //#30 BEC current
473  uint8_t bec_current_max_L; //#31 BEC max. current
474  uint8_t bec_current_max_H; //#32 TODO: not really clear why 2 bytes...
475  uint8_t pwm; //#33 PWM
476  uint8_t bec_temp; //#34 BEC temperature
477  uint8_t bec_temp_max; //#35 BEC highest temperature
478  uint8_t motor_temp; //#36 Motor or external sensor temperature
479  uint8_t motor_temp_max; //#37 Highest motor or external sensor temperature
480  uint8_t motor_rpm_L; //#38 Motor or external RPM sensor (without gear)
481  uint8_t motor_rpm_H; //#39
482  uint8_t motor_timing; //#40 Motor timing
483  uint8_t motor_timing_adv; //#41 Motor advanced timing
484  uint8_t motor_highest_current; //#42 Motor number (1-x) with highest current
485  uint8_t version; //#43 Version number (highest current motor 1-x)
486  uint8_t stop_byte; //#44 constant value 0x7d
488 
489 struct hott {
494  uint8_t *hottMsg;
496  uint8_t hottMsgCrc;
503 };
504 
505 struct battery;
506 void hott_init(struct hott *self, struct system_calls *system, struct battery *bat);
507 void hott_process_data(struct hott *self);
508 void checkHoTTTelemetryState(void);
509 
510 void configureHoTTTelemetryPort(void);
511 void freeHoTTTelemetryPort(void);
512 
513 uint32_t getHoTTTelemetryProviderBaudRate(void);
514 
515 //void addGPSCoordinates(HOTT_GPS_MSG_t *hottGPSMessage, int32_t latitude, int32_t longitude);
516 //void hottPrepareGPSResponse(HOTT_GPS_MSG_t *hottGPSMessage);
517 
uint8_t alarm_invers1
Definition: hott.h:281
uint8_t climbrate10s_L
Definition: hott.h:245
uint8_t speed_H
Definition: hott.h:467
Definition: hott.h:355
uint8_t version
Definition: hott.h:485
uint8_t airesc_sensor_id
Definition: hott.h:433
Definition: hott.h:64
bool hottTelemetryEnabled
Definition: hott.h:499
uint8_t alarm_invers1
Definition: hott.h:144
uint8_t current_L
Definition: hott.h:457
portSharing_e
Definition: serial.h:41
uint8_t main_voltage_L
Definition: hott.h:190
uint8_t speed_H
Definition: hott.h:195
uint8_t gps_time_s
Definition: hott.h:413
uint8_t batt1_voltage_L
Definition: hott.h:317
uint8_t altitude_H
Definition: hott.h:184
uint8_t cell1
Definition: hott.h:165
uint8_t temperature2
Definition: hott.h:176
uint8_t batt2_voltage_L
Definition: hott.h:320
uint8_t cell6
Definition: hott.h:170
uint8_t gps_time_m
Definition: hott.h:412
uint8_t main_voltage_H
Definition: hott.h:333
uint8_t altitude_H
Definition: hott.h:327
uint8_t input_v_min_H
Definition: hott.h:452
Definition: serial.h:71
uint8_t esc_temp
Definition: hott.h:455
uint32_t lastMessagesPreparedAt
Definition: hott.h:491
uint8_t cell6_L
Definition: hott.h:307
uint8_t free_char3
Definition: hott.h:423
Definition: hott.h:51
uint8_t rpm_H
Definition: hott.h:182
Definition: hott.h:117
uint8_t pos_NS_dm_H
Definition: hott.h:382
uint8_t bec_v
Definition: hott.h:470
uint8_t rpm_L
Definition: hott.h:181
uint8_t climbrate_H
Definition: hott.h:186
uint8_t altitude_min_L
Definition: hott.h:239
uint8_t cell7_L
Definition: hott.h:308
uint8_t speed_L
Definition: hott.h:194
uint8_t version
Definition: hott.h:252
uint8_t gps_fix_char
Definition: hott.h:404
uint8_t cell3
Definition: hott.h:167
hottEamAlarm2Flag_e
Definition: hott.h:61
uint8_t altitude_L
Definition: hott.h:326
uint8_t home_direction
Definition: hott.h:406
uint8_t fuel_procent
Definition: hott.h:177
uint8_t cell4_H
Definition: hott.h:312
uint8_t motor_temp_max
Definition: hott.h:479
#define HOTT_VARIO_MSG_TEXT_LEN
Definition: hott.h:206
uint8_t input_v_H
Definition: hott.h:450
uint8_t general_error_number
Definition: hott.h:200
Definition: hott.h:50
uint8_t pos_EW_sec_H
Definition: hott.h:390
void configureHoTTTelemetryPort(void)
uint8_t main_voltage_L
Definition: hott.h:332
uint8_t speed_max_H
Definition: hott.h:469
uint8_t climbrate_L
Definition: hott.h:185
uint8_t gps_speed_H
Definition: hott.h:378
uint8_t rpm_L
Definition: hott.h:343
uint8_t batt_cap_L
Definition: hott.h:192
uint8_t rpm_H
Definition: hott.h:462
uint8_t msl_altitude_H
Definition: hott.h:417
uint8_t start_byte
Definition: hott.h:208
Definition: hott.h:52
Definition: hott.h:63
uint8_t warning_beeps
Definition: hott.h:120
uint8_t angle_nick
Definition: hott.h:408
uint8_t input_v_min_L
Definition: hott.h:451
Definition: battery.h:30
uint8_t batt_cap_L
Definition: hott.h:453
Definition: hott.h:431
uint8_t climbrate10s_H
Definition: hott.h:246
uint8_t batt_cap_H
Definition: hott.h:193
uint8_t alarm_invers1
Definition: hott.h:371
uint8_t stop_byte
Definition: hott.h:203
uint8_t batt_cap_H
Definition: hott.h:336
HOTT_GPS_MSG_t hottGPSMessage
Definition: hott.h:501
uint8_t electric_min
Definition: hott.h:346
uint8_t motor_timing
Definition: hott.h:482
uint8_t alarm_invers1
Definition: hott.h:233
uint8_t alarm_invers2
Definition: hott.h:154
uint8_t current_L
Definition: hott.h:188
uint8_t pos_NS_sec_H
Definition: hott.h:384
uint8_t min_cell_volt_num
Definition: hott.h:197
uint8_t start_byte
Definition: hott.h:356
Definition: hott.h:207
uint8_t rpm_H
Definition: hott.h:344
uint8_t free_char3
Definition: hott.h:250
uint8_t cell6_H
Definition: hott.h:314
struct system_config system
Definition: config.h:99
uint8_t pwm
Definition: hott.h:475
uint8_t warning_beeps
Definition: hott.h:259
uint8_t hottMsgRemainingBytesToSendCount
Definition: hott.h:495
uint8_t pos_EW_sec_L
Definition: hott.h:389
uint8_t speed_H
Definition: hott.h:350
uint8_t motor_temp
Definition: hott.h:478
void hott_init(struct hott *self, struct system_calls *system, struct battery *bat)
uint8_t motor_rpm_H
Definition: hott.h:481
uint8_t climbrate3s_L
Definition: hott.h:243
uint8_t climbrate_L
Definition: hott.h:398
uint8_t current_H
Definition: hott.h:189
uint8_t current_H
Definition: hott.h:458
void checkHoTTTelemetryState(void)
uint8_t altitude_L
Definition: hott.h:395
uint8_t warning_beeps
Definition: hott.h:210
uint8_t temperature1
Definition: hott.h:175
uint8_t pos_NS
Definition: hott.h:380
uint8_t altitude_L
Definition: hott.h:183
uint8_t cell4
Definition: hott.h:168
uint8_t stop_byte
Definition: hott.h:114
uint8_t speed_max_L
Definition: hott.h:468
uint8_t pos_NS_sec_L
Definition: hott.h:383
uint8_t altitude_max_L
Definition: hott.h:237
uint8_t cell4_L
Definition: hott.h:305
uint8_t bec_current
Definition: hott.h:472
uint8_t sensor_id
Definition: hott.h:143
uint8_t batt1_L
Definition: hott.h:171
bool hottIsSending
Definition: hott.h:493
uint8_t main_voltage_H
Definition: hott.h:191
uint8_t home_distance_H
Definition: hott.h:393
uint8_t cell3_H
Definition: hott.h:311
struct HOTT_VARIO_MSG_s HOTT_VARIO_MSG_t
uint8_t cell1_L
Definition: hott.h:302
uint8_t electric_sec
Definition: hott.h:347
uint8_t version
Definition: hott.h:202
uint8_t fill1
Definition: hott.h:109
Definition: hott.h:57
serialPort_t * hottPort
Definition: hott.h:497
uint8_t free_char1
Definition: hott.h:248
struct HOTT_EAM_MSG_s HOTT_EAM_MSG_t
uint8_t alarm_invers2
Definition: hott.h:291
uint8_t rpm2_L
Definition: hott.h:198
uint8_t warning_beeps
Definition: hott.h:358
uint8_t alarm_invers1
Definition: hott.h:447
uint8_t batt2_L
Definition: hott.h:173
uint8_t start_byte
Definition: hott.h:118
void freeHoTTTelemetryPort(void)
uint8_t sensor_id
Definition: hott.h:232
uint8_t angle_compass
Definition: hott.h:409
uint8_t gps_speed_L
Definition: hott.h:377
uint8_t temp2
Definition: hott.h:324
uint8_t input_v_L
Definition: hott.h:449
uint8_t rpm2_H
Definition: hott.h:199
uint8_t msg_txt[HOTT_TEXTMODE_MSG_TEXT_LEN]
Definition: hott.h:111
uint8_t pos_EW_dm_H
Definition: hott.h:388
uint8_t motor_timing_adv
Definition: hott.h:483
uint8_t stop_byte
Definition: hott.h:486
uint8_t alarm_invers2
Definition: hott.h:373
uint8_t cell2
Definition: hott.h:166
uint8_t rpm_L
Definition: hott.h:461
uint32_t lastHoTTRequestCheckAt
Definition: hott.h:490
uint8_t current_L
Definition: hott.h:329
struct serial_port_config * portConfig
Definition: hott.h:498
uint8_t msl_altitude_L
Definition: hott.h:416
uint8_t batt2_voltage_H
Definition: hott.h:321
uint8_t pos_EW
Definition: hott.h:386
hottEamAlarm1Flag_e
Definition: hott.h:49
uint8_t motor_rpm_L
Definition: hott.h:480
uint8_t bec_min_v
Definition: hott.h:471
uint8_t alarm_invers2
Definition: hott.h:448
uint8_t climbrate_H
Definition: hott.h:399
uint8_t altitude_L
Definition: hott.h:235
uint8_t warning_beeps
Definition: hott.h:434
uint8_t motor_highest_current
Definition: hott.h:484
uint8_t * hottMsg
Definition: hott.h:494
struct HOTT_AIRESC_MSG_s HOTT_AIRESC_MSG_t
uint8_t vario_sensor_id
Definition: hott.h:209
uint32_t getHoTTTelemetryProviderBaudRate(void)
uint8_t text_msg[HOTT_VARIO_MSG_TEXT_LEN]
Definition: hott.h:247
uint8_t bec_temp
Definition: hott.h:476
uint8_t hottMsgCrc
Definition: hott.h:496
uint8_t bec_temp_max
Definition: hott.h:477
uint8_t stop_byte
Definition: hott.h:428
Definition: hott.h:62
uint8_t speed_L
Definition: hott.h:466
uint32_t lastHottAlarmSoundTime
Definition: hott.h:492
uint8_t sensor_id
Definition: hott.h:446
uint8_t bec_current_max_L
Definition: hott.h:473
uint8_t cell3_L
Definition: hott.h:304
uint8_t esc_max_temp
Definition: hott.h:456
uint8_t start_byte
Definition: hott.h:257
uint8_t climbrate3s
Definition: hott.h:401
uint8_t pressure
Definition: hott.h:201
uint8_t start_byte
Definition: hott.h:432
uint8_t pos_NS_dm_L
Definition: hott.h:381
void hott_process_data(struct hott *self)
uint8_t fuel_ml_L
Definition: hott.h:179
uint8_t home_distance_L
Definition: hott.h:392
uint8_t batt1_voltage_H
Definition: hott.h:318
Definition: hott.h:69
uint8_t pos_EW_dm_L
Definition: hott.h:387
uint8_t free_char1
Definition: hott.h:421
uint8_t current_H
Definition: hott.h:330
uint8_t free_char2
Definition: hott.h:249
uint8_t version
Definition: hott.h:424
uint8_t cell2_L
Definition: hott.h:303
uint8_t angle_roll
Definition: hott.h:407
uint8_t climbrate_H
Definition: hott.h:242
uint8_t climbrate3s
Definition: hott.h:341
uint8_t min_cell_volt
Definition: hott.h:196
Definition: system_calls.h:200
uint8_t rpm_max_L
Definition: hott.h:463
uint8_t warning_beeps
Definition: hott.h:110
uint8_t cell5_H
Definition: hott.h:313
uint8_t stop_byte
Definition: hott.h:351
uint8_t compass_direction
Definition: hott.h:251
uint8_t sensor_id
Definition: hott.h:370
Definition: hott.h:107
uint8_t altitude_H
Definition: hott.h:396
uint8_t climbrate3s_H
Definition: hott.h:244
uint8_t climbrate_L
Definition: hott.h:338
uint8_t batt_cap_L
Definition: hott.h:335
Definition: hott.h:53
struct HOTT_GAM_MSG_s HOTT_GAM_MSG_t
uint8_t cell1_H
Definition: hott.h:309
uint8_t gps_satelites
Definition: hott.h:403
uint8_t batt1_H
Definition: hott.h:172
uint8_t sensor_id
Definition: hott.h:280
uint8_t cell2_H
Definition: hott.h:310
uint8_t start_byte
Definition: hott.h:108
Definition: hott.h:68
struct battery_config bat
Definition: config.h:96
uint8_t flight_direction
Definition: hott.h:376
uint8_t current_max_L
Definition: hott.h:459
uint8_t stop_byte
Definition: hott.h:253
uint8_t batt_cap_H
Definition: hott.h:454
uint8_t altitude_min_H
Definition: hott.h:240
uint8_t cell5
Definition: hott.h:169
uint8_t gps_time_h
Definition: hott.h:411
uint8_t current_max_H
Definition: hott.h:460
HOTT_EAM_MSG_t hottEAMMessage
Definition: hott.h:502
uint8_t climbrate_L
Definition: hott.h:241
#define HOTT_TEXTMODE_MSG_TEXT_LEN
Definition: hott.h:105
portSharing_e hottPortSharing
Definition: hott.h:500
uint8_t altitude_max_H
Definition: hott.h:238
uint8_t gps_sensor_id
Definition: hott.h:357
uint8_t climbrate_H
Definition: hott.h:339
Definition: hott.h:489
uint8_t speed_L
Definition: hott.h:349
uint8_t climbrate3s
Definition: hott.h:187
uint8_t cell5_L
Definition: hott.h:306
struct HOTT_GPS_MSG_s HOTT_GPS_MSG_t
uint8_t gam_sensor_id
Definition: hott.h:119
uint8_t throttle
Definition: hott.h:465
uint8_t bec_current_max_H
Definition: hott.h:474
uint8_t gps_time_sss
Definition: hott.h:414
uint8_t free_char2
Definition: hott.h:422
uint8_t fuel_ml_H
Definition: hott.h:180
Definition: hott.h:256
uint8_t rpm_max_H
Definition: hott.h:464
uint8_t vibration
Definition: hott.h:419
uint8_t temp1
Definition: hott.h:323
Definition: hott.h:56
uint8_t cell7_H
Definition: hott.h:315
uint8_t eam_sensor_id
Definition: hott.h:258
Definition: serial.h:43
uint8_t altitude_H
Definition: hott.h:236
uint8_t batt2_H
Definition: hott.h:174