-/* $Id: drv_Trefon.c,v 1.1 2005/04/24 04:33:46 reinelt Exp $
+/* $Id: drv_Trefon.c,v 1.2 2005/04/24 05:27:09 reinelt Exp $
*
* driver for TREFON USB LCD displays
*
*
*
* $Log: drv_Trefon.c,v $
+ * Revision 1.2 2005/04/24 05:27:09 reinelt
+ * Trefon Backlight added
+ *
* Revision 1.1 2005/04/24 04:33:46 reinelt
* driver for TREFON USB LCD's added
*
#define LCD_USB_VENDOR 0xfff0
#define LCD_USB_DEVICE 0xfffe
-#define PKT_START 0x02
-#define PKT_DATA 0x02
-#define PKT_CTRL 0x06
-#define PKT_END 0xff
+#define PKT_START 0x02
+#define PKT_BACKLIGHT 0x01
+#define PKT_DATA 0x02
+#define PKT_CTRL 0x06
+#define PKT_END 0xff
static char Name[]="TREFON";
}
+static int drv_TF_backlight (int backlight)
+{
+ char buffer[4] = { PKT_START, PKT_BACKLIGHT, 0, PKT_END };
+
+ if (backlight < 0) backlight = 0;
+ if (backlight > 1) backlight = 1;
+
+ buffer[2] = backlight;
+ drv_TF_send(buffer, 4);
+
+ return backlight;
+}
+
+
static int drv_TF_start (const char *section, const int quiet)
{
+ int backlight;
int rows=-1, cols=-1;
char *s;
return -1;
}
+ if (cfg_number(section, "Backlight", 1, 0, 1, &backlight) > 0) {
+ drv_TF_backlight (backlight);
+ }
+
drv_TF_clear(); /* clear display */
if (!quiet) {
/*** plugins ***/
/****************************************/
-/* none */
+static void plugin_backlight (RESULT *result, RESULT *arg1)
+{
+ double backlight;
+
+ backlight = drv_TF_backlight(R2N(arg1));
+ SetResult(&result, R_NUMBER, &backlight);
+}
/****************************************/
widget_register(&wc);
/* register plugins */
- /* none */
+ AddFunction ("LCD::backlight", 1, plugin_backlight);
return 0;
}