/* $Id: drv_LCDLinux.c,v 1.1 2005/01/22 22:57:57 reinelt Exp $ * * driver for the LCD-Linux HD44780 kernel driver * http://lcd-linux.sourceforge.net * * Copyright (C) 2005 Michael Reinelt * Copyright (C) 2005 The LCD4Linux Team * * This file is part of LCD4Linux. * * LCD4Linux is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * LCD4Linux is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * * $Log: drv_LCDLinux.c,v $ * Revision 1.1 2005/01/22 22:57:57 reinelt * LCD-Linux driver added * */ /* * * exported fuctions: * * struct DRIVER drv_LCDLinux * */ #include "config.h" #include #include #include #include #include #include "debug.h" #include "cfg.h" #include "qprintf.h" #include "plugin.h" #include "widget.h" #include "widget_text.h" #include "widget_icon.h" #include "widget_bar.h" #include "drv.h" #include "drv_generic_text.h" static char Name[]="LCD-Linux"; /****************************************/ /*** hardware dependant functions ***/ /****************************************/ static void drv_LL_clear (void) { char cmd[1]; /* Fixme */ #if 0 cmd[0] = LCD_CLEAR; /* clear display */ drv_generic_serial_write (cmd, 1); /* clear screen */ #endif } static int drv_LL_send (const char request, const char value) { char buf[2]; buf[0] = request; buf[1] = value; // Fixme // drv_generic_serial_write (buf, 2); return 0; } static void drv_LL_command (const char cmd) { // Fixme // drv_LL_send (LCD_CMD, cmd); } static void drv_LL_write (const int row, const int col, const char *data, int len) { int pos; /* 16x4 Displays use a slightly different layout */ if (DCOLS==16 && DROWS==4) { pos = (row%2)*64+(row/2)*16+col; } else { pos = (row%2)*64+(row/2)*20+col; } drv_LL_command (0x80|pos); while (len--) { // Fixme // drv_LL_send (LCD_DATA, *data++); } } static void drv_LL_defchar (const int ascii, const unsigned char *matrix) { int i; drv_LL_command (0x40|8*ascii); for (i = 0; i < 8; i++) { // Fixme // drv_LL_send (LCD_DATA, *matrix++ & 0x1f); } } static int drv_LL_start (const char *section, const int quiet) { int rows=-1, cols=-1; char *s; /* Fixme: open device */ s=cfg_get(section, "Size", NULL); if (s==NULL || *s=='\0') {
# automatically generated from http://www.digitv.fi/sivu.asp?path=1;8224;9519
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE