Subversion Repositories Projects

Rev

Rev 2099 | Rev 2598 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2099 Rev 2225
1
/****************************************************************************
1
/****************************************************************************
2
 *   Copyright (C) 2009-2015 by Claas Anders "CaScAdE" Rathje               *
2
 *   Copyright (C) 2009-2016 by Claas Anders "CaScAdE" Rathje               *
3
 *   admiralcascade@gmail.com                                               *
3
 *   admiralcascade@gmail.com                                               *
4
 *   Project-URL: http://www.mylifesucks.de/oss/c-osd/                      *
4
 *   Project-URL: http://www.mylifesucks.de/oss/c-osd/                      *
5
 *                                                                          *
5
 *                                                                          *
6
 *   This program is free software; you can redistribute it and/or modify   *
6
 *   This program is free software; you can redistribute it and/or modify   *
7
 *   it under the terms of the GNU General Public License as published by   *
7
 *   it under the terms of the GNU General Public License as published by   *
8
 *   the Free Software Foundation; either version 2 of the License.         *
8
 *   the Free Software Foundation; either version 2 of the License.         *
9
 *                                                                          *
9
 *                                                                          *
10
 *   This program is distributed in the hope that it will be useful,        *
10
 *   This program is distributed in the hope that it will be useful,        *
11
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of         *
11
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of         *
12
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
12
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
13
 *   GNU General Public License for more details.                           *
13
 *   GNU General Public License for more details.                           *
14
 *                                                                          *
14
 *                                                                          *
15
 *   You should have received a copy of the GNU General Public License      *
15
 *   You should have received a copy of the GNU General Public License      *
16
 *   along with this program; if not, write to the                          *
16
 *   along with this program; if not, write to the                          *
17
 *   Free Software Foundation, Inc.,                                        *
17
 *   Free Software Foundation, Inc.,                                        *
18
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.              *
18
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.              *
19
 ****************************************************************************/
19
 ****************************************************************************/
20
 
20
 
21
#ifndef _OSD_HELPERS_H
21
#ifndef _OSD_HELPERS_H
22
#define _OSD_HELPERS_H
22
#define _OSD_HELPERS_H
23
 
23
 
24
/* ##########################################################################
24
/* ##########################################################################
25
 * compass stuff
25
 * compass stuff
26
 * ##########################################################################*/
26
 * ##########################################################################*/
27
 
27
 
28
/**
28
/**
29
 * convert the <heading> gotton from NC into an index
29
 * convert the <heading> gotton from NC into an index
30
 */
30
 */
31
uint8_t heading_conv(uint16_t);
31
uint8_t heading_conv(uint16_t);
32
 
32
 
33
/**
33
/**
34
 * convert the <heading> gotton from NC into a more
34
 * convert the <heading> gotton from NC into a more
35
 * precise index
35
 * precise index
36
 */
36
 */
37
uint8_t heading_fine_conv(uint16_t);
37
uint8_t heading_fine_conv(uint16_t);
38
 
38
 
39
/**
39
/**
40
 * draw a compass rose at <x>/<y> for <heading>
40
 * draw a compass rose at <x>/<y> for <heading>
41
 */
41
 */
42
void draw_compass(uint8_t, uint8_t, uint16_t);
42
void draw_compass(uint8_t, uint8_t, uint16_t);
43
 
43
 
44
/* ##########################################################################
44
/* ##########################################################################
45
 * battery index
45
 * battery index
46
 * ##########################################################################*/
46
 * ##########################################################################*/
47
/**
47
/**
48
 * draw a battery symbol at <x>/<y> according to <voltage>
48
 * draw a battery symbol at <x>/<y> according to <voltage>
49
 */
49
 */
50
void draw_battery(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t);
50
void draw_battery(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t);
51
 
51
 
52
/**
52
/**
53
 * draw the logo at <x>/<y>
53
 * draw the logo at <x>/<y>
54
 */
54
 */
55
void draw_logo(uint8_t x, uint8_t y);
55
void draw_logo(uint8_t x, uint8_t y);
56
 
56
 
57
/* ##########################################################################
57
/* ##########################################################################
58
 * variometer
58
 * variometer
59
 * ##########################################################################*/
59
 * ##########################################################################*/
60
/**
60
/**
61
 * draw variometer arrows at <x>/<y> according to <variometer>
61
 * draw variometer arrows at <x>/<y> according to <variometer>
62
 */
62
 */
63
void draw_variometer(uint8_t, uint8_t, int16_t);
63
void draw_variometer(uint8_t, uint8_t, int16_t);
64
 
64
 
65
/**
65
/**
66
 * draw a bigger vario with middle at <x>/<y> acording to <variometer>
66
 * draw a bigger vario with middle at <x>/<y> acording to <variometer>
67
 */
67
 */
68
void draw_big_variometer(uint8_t, uint8_t, int16_t);
68
void draw_big_variometer(uint8_t, uint8_t, int16_t);
69
 
69
 
70
/* ##########################################################################
70
/* ##########################################################################
71
 * artificial horizon
71
 * artificial horizon
72
 * ##########################################################################*/
72
 * ##########################################################################*/
73
/**
73
/**
74
 * draw roll und nick indicators (could be enhanced to full artificial horizon)
74
 * draw roll und nick indicators (could be enhanced to full artificial horizon)
75
 * from line <firstline> to <listlines> for given <nick> and <roll> values
75
 * from line <firstline> to <listlines> for given <nick> and <roll> values
76
 */
76
 */
77
void draw_artificial_horizon(uint8_t, uint8_t, int16_t, int16_t);
77
void draw_artificial_horizon(uint8_t, uint8_t, int16_t, int16_t);
78
 
78
 
79
void draw_agressiva_artificial_horizon(uint8_t, uint8_t, int16_t, int16_t);
79
void draw_agressiva_artificial_horizon(uint8_t, uint8_t, int16_t, int16_t);
80
 
80
 
81
/**
81
/**
82
 * draw scope of a second camera
82
 * draw scope of a second camera
83
 */
83
 */
84
void draw_scope();
84
void draw_scope();
85
 
85
 
86
/**
86
/**
87
 * draw stats
87
 * draw stats
88
 */
88
 */
89
void draw_stats();
89
void draw_stats();
90
#endif
90
#endif
91
 
91