Subversion Repositories Projects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1115 - 1
 
2
/****************************************************************/
3
/*                                                                                                                              */
4
/*                               NG-Video 5,8GHz                                                        */
5
/*                                                                                                                              */
6
/*                              Copyright (C) 2011 - gebad                                              */
7
/*                                                                                                                              */
8
/*  This code is distributed under the GNU Public License               */
9
/*      which can be found at http://www.gnu.org/licenses/gpl.txt       */
10
/*                                                                                                                              */
11
/*      using                                                                                                           */
12
/*      http://www.avrfreaks.net/                                                                       */
13
/*      index.php?name=PNphpBB2&file=viewtopic&t=71985&view=previous*/
14
/*                                                                                                                              */
15
/****************************************************************/
16
 
17
#include "messages.h"
18
 
19
PGM_P MessageTableGerman[LAST_NAT_MESSAGE+1] PROGMEM = {
20
  MSG_TABLE(GERMAN, MSG_LANGUAGE),
21
  MSG_TABLE(GERMAN, MSG_GERMAN),
22
  MSG_TABLE(GERMAN, MSG_ENGLISH),
23
  MSG_TABLE(GERMAN, MSG_FRENCH),
24
  MSG_TABLE(GERMAN, MSG_RETURN),
25
  MSG_TABLE(GERMAN, MSG_AV_SOURCE),
26
  MSG_TABLE(GERMAN, MSG_RX_CHANNEL),
27
  MSG_TABLE(GERMAN, MSG_RSSI_CALIBR),
28
  MSG_TABLE(GERMAN, MSG_TX),
29
  MSG_TABLE(GERMAN, MSG_TX_OFF),
30
  MSG_TABLE(GERMAN, MSG_TX_ON),
31
  MSG_TABLE(GERMAN, MSG_CONTINUE),
32
  MSG_TABLE(GERMAN, MSG_CONTRAST),
33
  MSG_TABLE(GERMAN, MSG_BACKGR_LIGHT),
34
  MSG_TABLE(GERMAN, MSG_LIGHT),
35
  MSG_TABLE(GERMAN, MSG_LIGHT_OFF),
36
  MSG_TABLE(GERMAN, MSG_LIGHT_ON),
37
  MSG_TABLE(GERMAN, MSG_SEC),
38
  MSG_TABLE(GERMAN, MSG_BATTERY),
39
  MSG_TABLE(GERMAN, MSG_U_MIN),
40
  MSG_TABLE(GERMAN, MSG_U_SETUP),
41
  MSG_TABLE(GERMAN, MSG_U_OFFSET),
42
  MSG_TABLE(GERMAN, MSG_CALIBRATION),
43
  MSG_TABLE(GERMAN, MSG_RUNNING),
44
  MSG_TABLE(GERMAN, MSG_ERROR),
45
  MSG_TABLE(GERMAN, MSG_TX_NOT),
46
  MSG_TABLE(GERMAN, MSG_ACCU_LOW),
47
  MSG_TABLE(GERMAN, MSG_SERVO_CALIBR),
48
  MSG_TABLE(GERMAN, MSG_SERVO_STEPS),
49
  MSG_TABLE(GERMAN, MSG_SERVO1_REVERSE),
50
  MSG_TABLE(GERMAN, MSG_CALIB1_LEFT),
51
  MSG_TABLE(GERMAN, MSG_CALIB1_RIGHT),
52
  MSG_TABLE(GERMAN, MSG_CALIB1_MIDDLE),
53
  MSG_TABLE(GERMAN, MSG_SERVO2_REVERSE),
54
  MSG_TABLE(GERMAN, MSG_CALIB2_LEFT),
55
  MSG_TABLE(GERMAN, MSG_CALIB2_RIGHT),
56
  MSG_TABLE(GERMAN, MSG_CALIB2_MIDDLE),
57
  MSG_TABLE(GERMAN, MSG_OFF),
58
  MSG_TABLE(GERMAN, MSG_ON),
59
  MSG_TABLE(GERMAN, MSG_TRACKING),
60
  MSG_TABLE(GERMAN, MSG_TRACK_GPS),
61
  MSG_TABLE(GERMAN, MSG_TRACK_TX_OSD_DATA),
62
  MSG_TABLE(GERMAN, MSG_HYSTERESE),
63
  MSG_TABLE(GERMAN, MSG_TRACK_TX_ON),
64
  MSG_TABLE(GERMAN, MSG_GPS_DISPLAY),
65
  MSG_TABLE(GERMAN, MSG_GPS_CALCULATE),
66
  MSG_TABLE(GERMAN, MSG_GPS_CURRENT),
67
  MSG_TABLE(GERMAN, MSG_GPS_HOME),
68
  MSG_TABLE(GERMAN, MSG_GPS_NO_DATA),
69
  MSG_TABLE(GERMAN, MSG_RX_TIME),
70
  MSG_TABLE(GERMAN, MSG_COM),
71
  MSG_TABLE(GERMAN, MSG_KOMMA),
72
  MSG_TABLE(GERMAN, MSG_UHW33V),
73
};
74
 
75
PGM_P MessageTableEnglish[LAST_NAT_MESSAGE+1] PROGMEM = {
76
  MSG_TABLE(ENGLISH, MSG_LANGUAGE),
77
  MSG_TABLE(ENGLISH, MSG_GERMAN),
78
  MSG_TABLE(ENGLISH, MSG_ENGLISH),
79
  MSG_TABLE(ENGLISH, MSG_FRENCH),
80
  MSG_TABLE(ENGLISH, MSG_RETURN),
81
  MSG_TABLE(ENGLISH, MSG_AV_SOURCE),
82
  MSG_TABLE(ENGLISH, MSG_RX_CHANNEL),
83
  MSG_TABLE(ENGLISH, MSG_RSSI_CALIBR),
84
  MSG_TABLE(ENGLISH, MSG_TX),
85
  MSG_TABLE(ENGLISH, MSG_TX_OFF),
86
  MSG_TABLE(ENGLISH, MSG_TX_ON),
87
  MSG_TABLE(ENGLISH, MSG_CONTINUE),
88
  MSG_TABLE(ENGLISH, MSG_CONTRAST),
89
  MSG_TABLE(ENGLISH, MSG_BACKGR_LIGHT),
90
  MSG_TABLE(ENGLISH, MSG_LIGHT),
91
  MSG_TABLE(ENGLISH, MSG_LIGHT_OFF),
92
  MSG_TABLE(ENGLISH, MSG_LIGHT_ON),
93
  MSG_TABLE(ENGLISH, MSG_SEC),
94
  MSG_TABLE(ENGLISH, MSG_BATTERY),
95
  MSG_TABLE(ENGLISH, MSG_U_MIN),
96
  MSG_TABLE(ENGLISH, MSG_U_SETUP),
97
  MSG_TABLE(ENGLISH, MSG_U_OFFSET),
98
  MSG_TABLE(ENGLISH, MSG_CALIBRATION),
99
  MSG_TABLE(ENGLISH, MSG_RUNNING),
100
  MSG_TABLE(ENGLISH, MSG_ERROR),
101
  MSG_TABLE(ENGLISH, MSG_TX_NOT),
102
  MSG_TABLE(ENGLISH, MSG_ACCU_LOW),
103
  MSG_TABLE(ENGLISH, MSG_SERVO_CALIBR),
104
  MSG_TABLE(ENGLISH, MSG_SERVO_STEPS),
105
  MSG_TABLE(ENGLISH, MSG_SERVO1_REVERSE),
106
  MSG_TABLE(ENGLISH, MSG_CALIB1_LEFT),
107
  MSG_TABLE(ENGLISH, MSG_CALIB1_RIGHT),
108
  MSG_TABLE(ENGLISH, MSG_CALIB1_MIDDLE),
109
  MSG_TABLE(ENGLISH, MSG_SERVO2_REVERSE),
110
  MSG_TABLE(ENGLISH, MSG_CALIB2_LEFT),
111
  MSG_TABLE(ENGLISH, MSG_CALIB2_RIGHT),
112
  MSG_TABLE(ENGLISH, MSG_CALIB2_MIDDLE),
113
  MSG_TABLE(ENGLISH, MSG_OFF),
114
  MSG_TABLE(ENGLISH, MSG_ON),
115
  MSG_TABLE(ENGLISH, MSG_TRACKING),
116
  MSG_TABLE(ENGLISH, MSG_TRACK_GPS),
117
  MSG_TABLE(ENGLISH, MSG_TRACK_TX_OSD_DATA),
118
  MSG_TABLE(ENGLISH, MSG_HYSTERESE),
119
  MSG_TABLE(ENGLISH, MSG_TRACK_TX_ON),
120
  MSG_TABLE(ENGLISH, MSG_GPS_DISPLAY),
121
  MSG_TABLE(ENGLISH, MSG_GPS_CALCULATE),
122
  MSG_TABLE(ENGLISH, MSG_GPS_CURRENT),
123
  MSG_TABLE(ENGLISH, MSG_GPS_HOME),
124
  MSG_TABLE(ENGLISH, MSG_GPS_NO_DATA),
125
  MSG_TABLE(ENGLISH, MSG_RX_TIME),
126
  MSG_TABLE(ENGLISH, MSG_COM),
127
  MSG_TABLE(ENGLISH, MSG_KOMMA),
128
  MSG_TABLE(ENGLISH, MSG_UHW33V),
129
};
130
 
131
PGM_P MessageTableFrench[LAST_NAT_MESSAGE+1] PROGMEM = {
132
  MSG_TABLE(FRENCH, MSG_LANGUAGE),
133
  MSG_TABLE(FRENCH, MSG_GERMAN),
134
  MSG_TABLE(FRENCH, MSG_ENGLISH),
135
  MSG_TABLE(FRENCH, MSG_FRENCH),
136
  MSG_TABLE(FRENCH, MSG_RETURN),
137
  MSG_TABLE(FRENCH, MSG_AV_SOURCE),
138
  MSG_TABLE(FRENCH, MSG_RX_CHANNEL),
139
  MSG_TABLE(FRENCH, MSG_RSSI_CALIBR),
140
  MSG_TABLE(FRENCH, MSG_TX),
141
  MSG_TABLE(FRENCH, MSG_TX_OFF),
142
  MSG_TABLE(FRENCH, MSG_TX_ON),
143
  MSG_TABLE(FRENCH, MSG_CONTINUE),
144
  MSG_TABLE(FRENCH, MSG_CONTRAST),
145
  MSG_TABLE(FRENCH, MSG_BACKGR_LIGHT),
146
  MSG_TABLE(FRENCH, MSG_LIGHT),
147
  MSG_TABLE(FRENCH, MSG_LIGHT_OFF),
148
  MSG_TABLE(FRENCH, MSG_LIGHT_ON),
149
  MSG_TABLE(FRENCH, MSG_SEC),
150
  MSG_TABLE(FRENCH, MSG_BATTERY),
151
  MSG_TABLE(FRENCH, MSG_U_MIN),
152
  MSG_TABLE(FRENCH, MSG_U_SETUP),
153
  MSG_TABLE(FRENCH, MSG_U_OFFSET),
154
  MSG_TABLE(FRENCH, MSG_CALIBRATION),
155
  MSG_TABLE(FRENCH, MSG_RUNNING),
156
  MSG_TABLE(FRENCH, MSG_ERROR),
157
  MSG_TABLE(FRENCH, MSG_TX_NOT),
158
  MSG_TABLE(FRENCH, MSG_ACCU_LOW),
159
  MSG_TABLE(FRENCH, MSG_SERVO_CALIBR),
160
  MSG_TABLE(FRENCH, MSG_SERVO_STEPS),
161
  MSG_TABLE(FRENCH, MSG_SERVO1_REVERSE),
162
  MSG_TABLE(FRENCH, MSG_CALIB1_LEFT),
163
  MSG_TABLE(FRENCH, MSG_CALIB1_RIGHT),
164
  MSG_TABLE(FRENCH, MSG_CALIB1_MIDDLE),
165
  MSG_TABLE(FRENCH, MSG_SERVO2_REVERSE),
166
  MSG_TABLE(FRENCH, MSG_CALIB2_LEFT),
167
  MSG_TABLE(FRENCH, MSG_CALIB2_RIGHT),
168
  MSG_TABLE(FRENCH, MSG_CALIB2_MIDDLE),
169
  MSG_TABLE(FRENCH, MSG_OFF),
170
  MSG_TABLE(FRENCH, MSG_ON),
171
  MSG_TABLE(FRENCH, MSG_TRACKING),
172
  MSG_TABLE(FRENCH, MSG_TRACK_GPS),
173
  MSG_TABLE(FRENCH, MSG_TRACK_TX_OSD_DATA),
174
  MSG_TABLE(FRENCH, MSG_HYSTERESE),
175
  MSG_TABLE(FRENCH, MSG_TRACK_TX_ON),
176
  MSG_TABLE(FRENCH, MSG_GPS_DISPLAY),
177
  MSG_TABLE(FRENCH, MSG_GPS_CALCULATE),
178
  MSG_TABLE(FRENCH, MSG_GPS_CURRENT),
179
  MSG_TABLE(FRENCH, MSG_GPS_HOME),
180
  MSG_TABLE(FRENCH, MSG_GPS_NO_DATA),
181
  MSG_TABLE(FRENCH, MSG_RX_TIME),
182
  MSG_TABLE(FRENCH, MSG_COM),
183
  MSG_TABLE(FRENCH, MSG_KOMMA),
184
  MSG_TABLE(FRENCH, MSG_UHW33V),
185
};
186
 
187
PGM_P MessageTableInternational[MESSAGE_LAST_MESSAGE+1] PROGMEM = {
188
  MSG_TABLE(INTERNAT, MSG_RSSI_MIN),
189
  MSG_TABLE(INTERNAT, MSG_RSSI_MAX),
190
  MSG_TABLE(INTERNAT, MSG_DIVERSITY),
191
  MSG_TABLE(INTERNAT, MSG_LCD),
192
  MSG_TABLE(INTERNAT, MSG_AV1),
193
  MSG_TABLE(INTERNAT, MSG_AV2),
194
  MSG_TABLE(INTERNAT, MSG_RX1),
195
  MSG_TABLE(INTERNAT, MSG_RX2),
196
  MSG_TABLE(INTERNAT, MSG_STEPS_255),
197
  MSG_TABLE(INTERNAT, MSG_STEPS_1023),
198
  MSG_TABLE(INTERNAT, MSG_SERVO1),
199
  MSG_TABLE(INTERNAT, MSG_SERVO2),
200
  MSG_TABLE(INTERNAT, MSG_TRACK_RSSI),
201
  MSG_TABLE(INTERNAT, MSG_TRACK_MKCOCKPIT),
202
  MSG_TABLE(INTERNAT, MSG_TRACK_SERVO_HYTERESE),
203
  MSG_TABLE(INTERNAT, MSG_BAUDRATE),
204
  MSG_TABLE(INTERNAT, MSG_UHW5V),
205
  MSG_TABLE(INTERNAT, MSG_VERSION1),
206
  MSG_TABLE(INTERNAT, MSG_VERSION2)
207
};
208
 
209
char* Msg(MessageType Message)
210
{ static char Str[LCD_LINES * LCD_COLS + 1];
211
 
212
  if (Message > LAST_NAT_MESSAGE)
213
    strcpy_P(Str, (const char*)( pgm_read_word( &(MessageTableInternational[Message - LAST_NAT_MESSAGE - 1]))));
214
  else
215
    switch (language) {
216
      case ENGLISH: strcpy_P(Str, (const char*)( pgm_read_word( &(MessageTableEnglish[Message]))));
217
                                break;
218
          case FRENCH : strcpy_P(Str, (const char*)( pgm_read_word( &(MessageTableFrench[Message]))));
219
                                        break;
220
      default:      strcpy_P(Str, (const char*)( pgm_read_word( &(MessageTableGerman[Message]))));
221
  }
222
  return(Str);
223
}