Subversion Repositories Projects

Rev

Blame | Last modification | View Log | RSS feed


/****************************************************************/
/*                                                                                                                              */
/*                               NG-Video 5,8GHz                                                        */
/*                                                                                                                              */
/*                              Copyright (C) 2011 - gebad                                              */
/*                                                                                                                              */
/*  This code is distributed under the GNU Public License               */
/*      which can be found at http://www.gnu.org/licenses/gpl.txt       */
/*                                                                                                                              */
/*      using                                                                                                           */
/*      http://www.avrfreaks.net/                                                                       */
/*      index.php?name=PNphpBB2&file=viewtopic&t=71985&view=previous*/
/*                                                                                                                              */
/****************************************************************/

#include "messages.h"

PGM_P MessageTableGerman[LAST_NAT_MESSAGE+1] PROGMEM = {
  MSG_TABLE(GERMAN, MSG_LANGUAGE),
  MSG_TABLE(GERMAN, MSG_GERMAN),
  MSG_TABLE(GERMAN, MSG_ENGLISH),
  MSG_TABLE(GERMAN, MSG_FRENCH),
  MSG_TABLE(GERMAN, MSG_RETURN),
  MSG_TABLE(GERMAN, MSG_AV_SOURCE),
  MSG_TABLE(GERMAN, MSG_RX_CHANNEL),
  MSG_TABLE(GERMAN, MSG_RSSI_CALIBR),
  MSG_TABLE(GERMAN, MSG_TX),
  MSG_TABLE(GERMAN, MSG_TX_OFF),
  MSG_TABLE(GERMAN, MSG_TX_ON),
  MSG_TABLE(GERMAN, MSG_CONTINUE),
  MSG_TABLE(GERMAN, MSG_CONTRAST),
  MSG_TABLE(GERMAN, MSG_BACKGR_LIGHT),
  MSG_TABLE(GERMAN, MSG_LIGHT),
  MSG_TABLE(GERMAN, MSG_LIGHT_OFF),
  MSG_TABLE(GERMAN, MSG_LIGHT_ON),
  MSG_TABLE(GERMAN, MSG_SEC),
  MSG_TABLE(GERMAN, MSG_BATTERY),
  MSG_TABLE(GERMAN, MSG_U_MIN),
  MSG_TABLE(GERMAN, MSG_U_SETUP),
  MSG_TABLE(GERMAN, MSG_U_OFFSET),
  MSG_TABLE(GERMAN, MSG_CALIBRATION),
  MSG_TABLE(GERMAN, MSG_RUNNING),
  MSG_TABLE(GERMAN, MSG_ERROR),
  MSG_TABLE(GERMAN, MSG_TX_NOT),
  MSG_TABLE(GERMAN, MSG_ACCU_LOW),
  MSG_TABLE(GERMAN, MSG_SERVO_CALIBR),
  MSG_TABLE(GERMAN, MSG_SERVO_STEPS),
  MSG_TABLE(GERMAN, MSG_SERVO1_REVERSE),
  MSG_TABLE(GERMAN, MSG_CALIB1_LEFT),
  MSG_TABLE(GERMAN, MSG_CALIB1_RIGHT),
  MSG_TABLE(GERMAN, MSG_CALIB1_MIDDLE),
  MSG_TABLE(GERMAN, MSG_SERVO2_REVERSE),
  MSG_TABLE(GERMAN, MSG_CALIB2_LEFT),
  MSG_TABLE(GERMAN, MSG_CALIB2_RIGHT),
  MSG_TABLE(GERMAN, MSG_CALIB2_MIDDLE),
  MSG_TABLE(GERMAN, MSG_OFF),
  MSG_TABLE(GERMAN, MSG_ON),
  MSG_TABLE(GERMAN, MSG_TRACKING),
  MSG_TABLE(GERMAN, MSG_TRACK_GPS),
  MSG_TABLE(GERMAN, MSG_TRACK_TX_OSD_DATA),
  MSG_TABLE(GERMAN, MSG_HYSTERESE),
  MSG_TABLE(GERMAN, MSG_TRACK_TX_ON),
  MSG_TABLE(GERMAN, MSG_GPS_DISPLAY),
  MSG_TABLE(GERMAN, MSG_GPS_CALCULATE),
  MSG_TABLE(GERMAN, MSG_GPS_CURRENT),
  MSG_TABLE(GERMAN, MSG_GPS_HOME),
  MSG_TABLE(GERMAN, MSG_GPS_NO_DATA),
  MSG_TABLE(GERMAN, MSG_RX_TIME),
  MSG_TABLE(GERMAN, MSG_COM),
  MSG_TABLE(GERMAN, MSG_KOMMA),
  MSG_TABLE(GERMAN, MSG_UHW33V),
};

PGM_P MessageTableEnglish[LAST_NAT_MESSAGE+1] PROGMEM = {
  MSG_TABLE(ENGLISH, MSG_LANGUAGE),
  MSG_TABLE(ENGLISH, MSG_GERMAN),
  MSG_TABLE(ENGLISH, MSG_ENGLISH),
  MSG_TABLE(ENGLISH, MSG_FRENCH),
  MSG_TABLE(ENGLISH, MSG_RETURN),
  MSG_TABLE(ENGLISH, MSG_AV_SOURCE),
  MSG_TABLE(ENGLISH, MSG_RX_CHANNEL),
  MSG_TABLE(ENGLISH, MSG_RSSI_CALIBR),
  MSG_TABLE(ENGLISH, MSG_TX),
  MSG_TABLE(ENGLISH, MSG_TX_OFF),
  MSG_TABLE(ENGLISH, MSG_TX_ON),
  MSG_TABLE(ENGLISH, MSG_CONTINUE),
  MSG_TABLE(ENGLISH, MSG_CONTRAST),
  MSG_TABLE(ENGLISH, MSG_BACKGR_LIGHT),
  MSG_TABLE(ENGLISH, MSG_LIGHT),
  MSG_TABLE(ENGLISH, MSG_LIGHT_OFF),
  MSG_TABLE(ENGLISH, MSG_LIGHT_ON),
  MSG_TABLE(ENGLISH, MSG_SEC),
  MSG_TABLE(ENGLISH, MSG_BATTERY),
  MSG_TABLE(ENGLISH, MSG_U_MIN),
  MSG_TABLE(ENGLISH, MSG_U_SETUP),
  MSG_TABLE(ENGLISH, MSG_U_OFFSET),
  MSG_TABLE(ENGLISH, MSG_CALIBRATION),
  MSG_TABLE(ENGLISH, MSG_RUNNING),
  MSG_TABLE(ENGLISH, MSG_ERROR),
  MSG_TABLE(ENGLISH, MSG_TX_NOT),
  MSG_TABLE(ENGLISH, MSG_ACCU_LOW),
  MSG_TABLE(ENGLISH, MSG_SERVO_CALIBR),
  MSG_TABLE(ENGLISH, MSG_SERVO_STEPS),
  MSG_TABLE(ENGLISH, MSG_SERVO1_REVERSE),
  MSG_TABLE(ENGLISH, MSG_CALIB1_LEFT),
  MSG_TABLE(ENGLISH, MSG_CALIB1_RIGHT),
  MSG_TABLE(ENGLISH, MSG_CALIB1_MIDDLE),
  MSG_TABLE(ENGLISH, MSG_SERVO2_REVERSE),
  MSG_TABLE(ENGLISH, MSG_CALIB2_LEFT),
  MSG_TABLE(ENGLISH, MSG_CALIB2_RIGHT),
  MSG_TABLE(ENGLISH, MSG_CALIB2_MIDDLE),
  MSG_TABLE(ENGLISH, MSG_OFF),
  MSG_TABLE(ENGLISH, MSG_ON),
  MSG_TABLE(ENGLISH, MSG_TRACKING),
  MSG_TABLE(ENGLISH, MSG_TRACK_GPS),
  MSG_TABLE(ENGLISH, MSG_TRACK_TX_OSD_DATA),
  MSG_TABLE(ENGLISH, MSG_HYSTERESE),
  MSG_TABLE(ENGLISH, MSG_TRACK_TX_ON),
  MSG_TABLE(ENGLISH, MSG_GPS_DISPLAY),
  MSG_TABLE(ENGLISH, MSG_GPS_CALCULATE),
  MSG_TABLE(ENGLISH, MSG_GPS_CURRENT),
  MSG_TABLE(ENGLISH, MSG_GPS_HOME),
  MSG_TABLE(ENGLISH, MSG_GPS_NO_DATA),
  MSG_TABLE(ENGLISH, MSG_RX_TIME),
  MSG_TABLE(ENGLISH, MSG_COM),
  MSG_TABLE(ENGLISH, MSG_KOMMA),
  MSG_TABLE(ENGLISH, MSG_UHW33V),
};

PGM_P MessageTableFrench[LAST_NAT_MESSAGE+1] PROGMEM = {
  MSG_TABLE(FRENCH, MSG_LANGUAGE),
  MSG_TABLE(FRENCH, MSG_GERMAN),
  MSG_TABLE(FRENCH, MSG_ENGLISH),
  MSG_TABLE(FRENCH, MSG_FRENCH),
  MSG_TABLE(FRENCH, MSG_RETURN),
  MSG_TABLE(FRENCH, MSG_AV_SOURCE),
  MSG_TABLE(FRENCH, MSG_RX_CHANNEL),
  MSG_TABLE(FRENCH, MSG_RSSI_CALIBR),
  MSG_TABLE(FRENCH, MSG_TX),
  MSG_TABLE(FRENCH, MSG_TX_OFF),
  MSG_TABLE(FRENCH, MSG_TX_ON),
  MSG_TABLE(FRENCH, MSG_CONTINUE),
  MSG_TABLE(FRENCH, MSG_CONTRAST),
  MSG_TABLE(FRENCH, MSG_BACKGR_LIGHT),
  MSG_TABLE(FRENCH, MSG_LIGHT),
  MSG_TABLE(FRENCH, MSG_LIGHT_OFF),
  MSG_TABLE(FRENCH, MSG_LIGHT_ON),
  MSG_TABLE(FRENCH, MSG_SEC),
  MSG_TABLE(FRENCH, MSG_BATTERY),
  MSG_TABLE(FRENCH, MSG_U_MIN),
  MSG_TABLE(FRENCH, MSG_U_SETUP),
  MSG_TABLE(FRENCH, MSG_U_OFFSET),
  MSG_TABLE(FRENCH, MSG_CALIBRATION),
  MSG_TABLE(FRENCH, MSG_RUNNING),
  MSG_TABLE(FRENCH, MSG_ERROR),
  MSG_TABLE(FRENCH, MSG_TX_NOT),
  MSG_TABLE(FRENCH, MSG_ACCU_LOW),
  MSG_TABLE(FRENCH, MSG_SERVO_CALIBR),
  MSG_TABLE(FRENCH, MSG_SERVO_STEPS),
  MSG_TABLE(FRENCH, MSG_SERVO1_REVERSE),
  MSG_TABLE(FRENCH, MSG_CALIB1_LEFT),
  MSG_TABLE(FRENCH, MSG_CALIB1_RIGHT),
  MSG_TABLE(FRENCH, MSG_CALIB1_MIDDLE),
  MSG_TABLE(FRENCH, MSG_SERVO2_REVERSE),
  MSG_TABLE(FRENCH, MSG_CALIB2_LEFT),
  MSG_TABLE(FRENCH, MSG_CALIB2_RIGHT),
  MSG_TABLE(FRENCH, MSG_CALIB2_MIDDLE),
  MSG_TABLE(FRENCH, MSG_OFF),
  MSG_TABLE(FRENCH, MSG_ON),
  MSG_TABLE(FRENCH, MSG_TRACKING),
  MSG_TABLE(FRENCH, MSG_TRACK_GPS),
  MSG_TABLE(FRENCH, MSG_TRACK_TX_OSD_DATA),
  MSG_TABLE(FRENCH, MSG_HYSTERESE),
  MSG_TABLE(FRENCH, MSG_TRACK_TX_ON),
  MSG_TABLE(FRENCH, MSG_GPS_DISPLAY),
  MSG_TABLE(FRENCH, MSG_GPS_CALCULATE),
  MSG_TABLE(FRENCH, MSG_GPS_CURRENT),
  MSG_TABLE(FRENCH, MSG_GPS_HOME),
  MSG_TABLE(FRENCH, MSG_GPS_NO_DATA),
  MSG_TABLE(FRENCH, MSG_RX_TIME),
  MSG_TABLE(FRENCH, MSG_COM),
  MSG_TABLE(FRENCH, MSG_KOMMA),
  MSG_TABLE(FRENCH, MSG_UHW33V),
};

PGM_P MessageTableInternational[MESSAGE_LAST_MESSAGE+1] PROGMEM = {
  MSG_TABLE(INTERNAT, MSG_RSSI_MIN),
  MSG_TABLE(INTERNAT, MSG_RSSI_MAX),
  MSG_TABLE(INTERNAT, MSG_DIVERSITY),
  MSG_TABLE(INTERNAT, MSG_LCD),
  MSG_TABLE(INTERNAT, MSG_AV1),
  MSG_TABLE(INTERNAT, MSG_AV2),
  MSG_TABLE(INTERNAT, MSG_RX1),
  MSG_TABLE(INTERNAT, MSG_RX2),
  MSG_TABLE(INTERNAT, MSG_STEPS_255),
  MSG_TABLE(INTERNAT, MSG_STEPS_1023),
  MSG_TABLE(INTERNAT, MSG_SERVO1),
  MSG_TABLE(INTERNAT, MSG_SERVO2),
  MSG_TABLE(INTERNAT, MSG_TRACK_RSSI),
  MSG_TABLE(INTERNAT, MSG_TRACK_MKCOCKPIT),
  MSG_TABLE(INTERNAT, MSG_TRACK_SERVO_HYTERESE),
  MSG_TABLE(INTERNAT, MSG_BAUDRATE),
  MSG_TABLE(INTERNAT, MSG_UHW5V),
  MSG_TABLE(INTERNAT, MSG_VERSION1),
  MSG_TABLE(INTERNAT, MSG_VERSION2)
};

char* Msg(MessageType Message)
{ static char Str[LCD_LINES * LCD_COLS + 1];

  if (Message > LAST_NAT_MESSAGE)
    strcpy_P(Str, (const char*)( pgm_read_word( &(MessageTableInternational[Message - LAST_NAT_MESSAGE - 1]))));
  else
    switch (language) {
      case ENGLISH: strcpy_P(Str, (const char*)( pgm_read_word( &(MessageTableEnglish[Message]))));
                                break;
          case FRENCH : strcpy_P(Str, (const char*)( pgm_read_word( &(MessageTableFrench[Message]))));
                                        break;
      default:      strcpy_P(Str, (const char*)( pgm_read_word( &(MessageTableGerman[Message]))));
  }
  return(Str);
}