summaryrefslogtreecommitdiff
path: root/glcddrivers/drivers.c
diff options
context:
space:
mode:
Diffstat (limited to 'glcddrivers/drivers.c')
-rw-r--r--glcddrivers/drivers.c117
1 files changed, 117 insertions, 0 deletions
diff --git a/glcddrivers/drivers.c b/glcddrivers/drivers.c
new file mode 100644
index 0000000..ff1e439
--- /dev/null
+++ b/glcddrivers/drivers.c
@@ -0,0 +1,117 @@
+/*
+ * GraphLCD driver library
+ *
+ * drivers.c - global driver constants and functions
+ *
+ * This file is released under the GNU General Public License. Refer
+ * to the COPYING file distributed with this package.
+ *
+ * (c) 2004 Andreas Regel <andreas.regel AT powarman.de>
+ */
+
+#include <string.h>
+
+#include "drivers.h"
+#include "simlcd.h"
+#include "gu140x32f.h"
+#include "gu256x64-372.h"
+#include "gu256x64-3900.h"
+#include "hd61830.h"
+#include "ks0108.h"
+#include "sed1330.h"
+#include "sed1520.h"
+#include "t6963c.h"
+#include "framebuffer.h"
+#include "image.h"
+#include "noritake800.h"
+#include "avrctl.h"
+#include "network.h"
+#include "gu126x64D-K610A4.h"
+#include "serdisp.h"
+#include "g15daemon.h"
+
+namespace GLCD
+{
+
+tDriver drivers[] =
+{
+ {"simlcd", kDriverSimLCD},
+ {"gu140x32f", kDriverGU140X32F},
+ {"gu256x64-372", kDriverGU256X64_372},
+ {"gu256x64-3900", kDriverGU256X64_3900},
+ {"hd61830", kDriverHD61830},
+ {"ks0108", kDriverKS0108},
+ {"sed1330", kDriverSED1330},
+ {"sed1520", kDriverSED1520},
+ {"t6963c", kDriverT6963C},
+ {"framebuffer", kDriverFramebuffer},
+ {"image", kDriverImage},
+ {"noritake800", kDriverNoritake800},
+ {"avrctl", kDriverAvrCtl},
+ {"network", kDriverNetwork},
+ {"gu126x64D-K610A4", kDriverGU126X64D_K610A4},
+ {"serdisp", kDriverSerDisp},
+ {"g15daemon", kDriverG15daemon},
+ {"", kDriverUnknown}
+};
+
+tDriver * GetAvailableDrivers(int & count)
+{
+ for (count = 0; drivers[count].name.length() > 0; count++)
+ ;
+ return drivers;
+}
+
+int GetDriverID(const std::string & driver)
+{
+ for (int i = 0; drivers[i].name.length() > 0; i++)
+ if (drivers[i].name == driver)
+ return drivers[i].id;
+ return kDriverUnknown;
+}
+
+cDriver * CreateDriver(int driverID, cDriverConfig * config)
+{
+ switch (driverID)
+ {
+ case kDriverSimLCD:
+ return new cDriverSimLCD(config);
+ case kDriverGU140X32F:
+ return new cDriverGU140X32F(config);
+ case kDriverGU256X64_372:
+ return new cDriverGU256X64_372(config);
+ case kDriverGU256X64_3900:
+ return new cDriverGU256X64_3900(config);
+ case kDriverHD61830:
+ return new cDriverHD61830(config);
+ case kDriverKS0108:
+ return new cDriverKS0108(config);
+ case kDriverSED1330:
+ return new cDriverSED1330(config);
+ case kDriverSED1520:
+ return new cDriverSED1520(config);
+ case kDriverT6963C:
+ return new cDriverT6963C(config);
+ case kDriverFramebuffer:
+ return new cDriverFramebuffer(config);
+ case kDriverImage:
+ return new cDriverImage(config);
+ case kDriverNoritake800:
+ return new cDriverNoritake800(config);
+ case kDriverAvrCtl:
+ return new cDriverAvrCtl(config);
+ case kDriverNetwork:
+ return new cDriverNetwork(config);
+ case kDriverGU126X64D_K610A4:
+ return new cDriverGU126X64D_K610A4(config);
+ case kDriverSerDisp:
+ return new cDriverSerDisp(config);
+ case kDriverG15daemon:
+ return new cDriverG15daemon(config);
+ case kDriverUnknown:
+ default:
+ return NULL;
+ }
+}
+
+} // end of namespace