Subversion Repositories Projects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
962 - 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_COM),
70
  MSG_TABLE(GERMAN, MSG_KOMMA),
71
  MSG_TABLE(GERMAN, MSG_UHW33V),
72
};
73
 
74
PGM_P MessageTableEnglish[LAST_NAT_MESSAGE+1] PROGMEM = {
75
  MSG_TABLE(ENGLISH, MSG_LANGUAGE),
76
  MSG_TABLE(ENGLISH, MSG_GERMAN),
77
  MSG_TABLE(ENGLISH, MSG_ENGLISH),
78
  MSG_TABLE(ENGLISH, MSG_FRENCH),
79
  MSG_TABLE(ENGLISH, MSG_RETURN),
80
  MSG_TABLE(ENGLISH, MSG_AV_SOURCE),
81
  MSG_TABLE(ENGLISH, MSG_RX_CHANNEL),
82
  MSG_TABLE(ENGLISH, MSG_RSSI_CALIBR),
83
  MSG_TABLE(ENGLISH, MSG_TX),
84
  MSG_TABLE(ENGLISH, MSG_TX_OFF),
85
  MSG_TABLE(ENGLISH, MSG_TX_ON),
86
  MSG_TABLE(ENGLISH, MSG_CONTINUE),
87
  MSG_TABLE(ENGLISH, MSG_CONTRAST),
88
  MSG_TABLE(ENGLISH, MSG_BACKGR_LIGHT),
89
  MSG_TABLE(ENGLISH, MSG_LIGHT),
90
  MSG_TABLE(ENGLISH, MSG_LIGHT_OFF),
91
  MSG_TABLE(ENGLISH, MSG_LIGHT_ON),
92
  MSG_TABLE(ENGLISH, MSG_SEC),
93
  MSG_TABLE(ENGLISH, MSG_BATTERY),
94
  MSG_TABLE(ENGLISH, MSG_U_MIN),
95
  MSG_TABLE(ENGLISH, MSG_U_SETUP),
96
  MSG_TABLE(ENGLISH, MSG_U_OFFSET),
97
  MSG_TABLE(ENGLISH, MSG_CALIBRATION),
98
  MSG_TABLE(ENGLISH, MSG_RUNNING),
99
  MSG_TABLE(ENGLISH, MSG_ERROR),
100
  MSG_TABLE(ENGLISH, MSG_TX_NOT),
101
  MSG_TABLE(ENGLISH, MSG_ACCU_LOW),
102
  MSG_TABLE(ENGLISH, MSG_SERVO_CALIBR),
103
  MSG_TABLE(ENGLISH, MSG_SERVO_STEPS),
104
  MSG_TABLE(ENGLISH, MSG_SERVO1_REVERSE),
105
  MSG_TABLE(ENGLISH, MSG_CALIB1_LEFT),
106
  MSG_TABLE(ENGLISH, MSG_CALIB1_RIGHT),
107
  MSG_TABLE(ENGLISH, MSG_CALIB1_MIDDLE),
108
  MSG_TABLE(ENGLISH, MSG_SERVO2_REVERSE),
109
  MSG_TABLE(ENGLISH, MSG_CALIB2_LEFT),
110
  MSG_TABLE(ENGLISH, MSG_CALIB2_RIGHT),
111
  MSG_TABLE(ENGLISH, MSG_CALIB2_MIDDLE),
112
  MSG_TABLE(ENGLISH, MSG_OFF),
113
  MSG_TABLE(ENGLISH, MSG_ON),
114
  MSG_TABLE(ENGLISH, MSG_TRACKING),
115
  MSG_TABLE(ENGLISH, MSG_TRACK_GPS),
116
  MSG_TABLE(ENGLISH, MSG_TRACK_TX_OSD_DATA),
117
  MSG_TABLE(ENGLISH, MSG_HYSTERESE),
118
  MSG_TABLE(ENGLISH, MSG_TRACK_TX_ON),
119
  MSG_TABLE(ENGLISH, MSG_GPS_DISPLAY),
120
  MSG_TABLE(ENGLISH, MSG_GPS_CALCULATE),
121
  MSG_TABLE(ENGLISH, MSG_GPS_CURRENT),
122
  MSG_TABLE(ENGLISH, MSG_GPS_HOME),
123
  MSG_TABLE(ENGLISH, MSG_GPS_NO_DATA),
124
  MSG_TABLE(ENGLISH, MSG_COM),
125
  MSG_TABLE(ENGLISH, MSG_KOMMA),
126
  MSG_TABLE(ENGLISH, MSG_UHW33V),
127
};
128
 
129
PGM_P MessageTableFrench[LAST_NAT_MESSAGE+1] PROGMEM = {
130
  MSG_TABLE(FRENCH, MSG_LANGUAGE),
131
  MSG_TABLE(FRENCH, MSG_GERMAN),
132
  MSG_TABLE(FRENCH, MSG_ENGLISH),
133
  MSG_TABLE(FRENCH, MSG_FRENCH),
134
  MSG_TABLE(FRENCH, MSG_RETURN),
135
  MSG_TABLE(FRENCH, MSG_AV_SOURCE),
136
  MSG_TABLE(FRENCH, MSG_RX_CHANNEL),
137
  MSG_TABLE(FRENCH, MSG_RSSI_CALIBR),
138
  MSG_TABLE(FRENCH, MSG_TX),
139
  MSG_TABLE(FRENCH, MSG_TX_OFF),
140
  MSG_TABLE(FRENCH, MSG_TX_ON),
141
  MSG_TABLE(FRENCH, MSG_CONTINUE),
142
  MSG_TABLE(FRENCH, MSG_CONTRAST),
143
  MSG_TABLE(FRENCH, MSG_BACKGR_LIGHT),
144
  MSG_TABLE(FRENCH, MSG_LIGHT),
145
  MSG_TABLE(FRENCH, MSG_LIGHT_OFF),
146
  MSG_TABLE(FRENCH, MSG_LIGHT_ON),
147
  MSG_TABLE(FRENCH, MSG_SEC),
148
  MSG_TABLE(FRENCH, MSG_BATTERY),
149
  MSG_TABLE(FRENCH, MSG_U_MIN),
150
  MSG_TABLE(FRENCH, MSG_U_SETUP),
151
  MSG_TABLE(FRENCH, MSG_U_OFFSET),
152
  MSG_TABLE(FRENCH, MSG_CALIBRATION),
153
  MSG_TABLE(FRENCH, MSG_RUNNING),
154
  MSG_TABLE(FRENCH, MSG_ERROR),
155
  MSG_TABLE(FRENCH, MSG_TX_NOT),
156
  MSG_TABLE(FRENCH, MSG_ACCU_LOW),
157
  MSG_TABLE(FRENCH, MSG_SERVO_CALIBR),
158
  MSG_TABLE(FRENCH, MSG_SERVO_STEPS),
159
  MSG_TABLE(FRENCH, MSG_SERVO1_REVERSE),
160
  MSG_TABLE(FRENCH, MSG_CALIB1_LEFT),
161
  MSG_TABLE(FRENCH, MSG_CALIB1_RIGHT),
162
  MSG_TABLE(FRENCH, MSG_CALIB1_MIDDLE),
163
  MSG_TABLE(FRENCH, MSG_SERVO2_REVERSE),
164
  MSG_TABLE(FRENCH, MSG_CALIB2_LEFT),
165
  MSG_TABLE(FRENCH, MSG_CALIB2_RIGHT),
166
  MSG_TABLE(FRENCH, MSG_CALIB2_MIDDLE),
167
  MSG_TABLE(FRENCH, MSG_OFF),
168
  MSG_TABLE(FRENCH, MSG_ON),
169
  MSG_TABLE(FRENCH, MSG_TRACKING),
170
  MSG_TABLE(FRENCH, MSG_TRACK_GPS),
171
  MSG_TABLE(FRENCH, MSG_TRACK_TX_OSD_DATA),
172
  MSG_TABLE(FRENCH, MSG_HYSTERESE),
173
  MSG_TABLE(FRENCH, MSG_TRACK_TX_ON),
174
  MSG_TABLE(FRENCH, MSG_GPS_DISPLAY),
175
  MSG_TABLE(FRENCH, MSG_GPS_CALCULATE),
176
  MSG_TABLE(FRENCH, MSG_GPS_CURRENT),
177
  MSG_TABLE(FRENCH, MSG_GPS_HOME),
178
  MSG_TABLE(FRENCH, MSG_GPS_NO_DATA),
179
  MSG_TABLE(FRENCH, MSG_COM),
180
  MSG_TABLE(FRENCH, MSG_KOMMA),
181
  MSG_TABLE(FRENCH, MSG_UHW33V),
182
};
183
 
184
PGM_P MessageTableInternational[MESSAGE_LAST_MESSAGE+1] PROGMEM = {
185
  MSG_TABLE(INTERNAT, MSG_RSSI_MIN),
186
  MSG_TABLE(INTERNAT, MSG_RSSI_MAX),
187
  MSG_TABLE(INTERNAT, MSG_DIVERSITY),
188
  MSG_TABLE(INTERNAT, MSG_LCD),
189
  MSG_TABLE(INTERNAT, MSG_AV1),
190
  MSG_TABLE(INTERNAT, MSG_AV2),
191
  MSG_TABLE(INTERNAT, MSG_STEPS_255),
192
  MSG_TABLE(INTERNAT, MSG_STEPS_1023),
193
  MSG_TABLE(INTERNAT, MSG_SERVO1),
194
  MSG_TABLE(INTERNAT, MSG_SERVO2),
195
  MSG_TABLE(INTERNAT, MSG_TRACK_RSSI),
196
  MSG_TABLE(INTERNAT, MSG_TRACK_MKCOCKPIT),
197
  MSG_TABLE(INTERNAT, MSG_TRACK_SERVO_HYTERESE),
198
  MSG_TABLE(INTERNAT, MSG_BAUDRATE),
199
  MSG_TABLE(INTERNAT, MSG_UHW5V),
200
  MSG_TABLE(INTERNAT, MSG_VERSION1),
201
  MSG_TABLE(INTERNAT, MSG_VERSION2)
202
};
203
 
204
char* Msg(MessageType Message)
205
{ static char Str[LCD_LINES * LCD_COLS + 1];
206
 
207
  if (Message > LAST_NAT_MESSAGE)
208
    strcpy_P(Str, (const char*)( pgm_read_word( &(MessageTableInternational[Message - LAST_NAT_MESSAGE - 1]))));
209
  else
210
    switch (language) {
211
      case ENGLISH: strcpy_P(Str, (const char*)( pgm_read_word( &(MessageTableEnglish[Message]))));
212
                                break;
213
          case FRENCH : strcpy_P(Str, (const char*)( pgm_read_word( &(MessageTableFrench[Message]))));
214
                                        break;
215
      default:      strcpy_P(Str, (const char*)( pgm_read_word( &(MessageTableGerman[Message]))));
216
  }
217
  return(Str);
218
}