source: PlatformSupport/Deprecated/pcores/user_io_board_controller_plbw_v1_01_a/src/user_io_board_controller_plbw.c

Last change on this file was 1051, checked in by murphpo, 16 years ago

Updated LCD controller with line/character offsets

File size: 5.8 KB
Line 
1///////////////////////////////////////////////////////////////-*-C-*-
2//
3// Copyright (c) 2007 Xilinx, Inc.  All rights reserved.
4//
5// Xilinx, Inc.  XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION
6// "AS IS" AS  A COURTESY TO YOU.  BY PROVIDING  THIS DESIGN, CODE, OR
7// INFORMATION  AS  ONE   POSSIBLE  IMPLEMENTATION  OF  THIS  FEATURE,
8// APPLICATION OR  STANDARD, XILINX  IS MAKING NO  REPRESENTATION THAT
9// THIS IMPLEMENTATION  IS FREE FROM  ANY CLAIMS OF  INFRINGEMENT, AND
10// YOU ARE  RESPONSIBLE FOR OBTAINING  ANY RIGHTS YOU MAY  REQUIRE FOR
11// YOUR  IMPLEMENTATION.   XILINX  EXPRESSLY  DISCLAIMS  ANY  WARRANTY
12// WHATSOEVER  WITH RESPECT  TO  THE ADEQUACY  OF THE  IMPLEMENTATION,
13// INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR REPRESENTATIONS THAT
14// THIS IMPLEMENTATION  IS FREE  FROM CLAIMS OF  INFRINGEMENT, IMPLIED
15// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16//
17//////////////////////////////////////////////////////////////////////
18
19#include "user_io_board_controller_plbw.h"
20#include "xparameters.h"
21#include "xcope.h"
22
23inline xc_status_t xc_user_io_board_controller_plbw_create(xc_iface_t **iface, void *config_table)
24{
25    // set up iface
26    *iface = (xc_iface_t *) config_table;
27
28#ifdef XC_DEBUG
29    USER_IO_BOARD_CONTROLLER_PLBW_Config *_config_table = config_table;
30
31    if (_config_table->xc_create == NULL) {
32        print("config_table.xc_create == NULL\r\n");
33        exit(1);
34    }
35#endif
36
37    // does nothing
38    return XC_SUCCESS;
39}
40
41inline xc_status_t xc_user_io_board_controller_plbw_release(xc_iface_t **iface) 
42{
43    // does nothing
44    return XC_SUCCESS;
45}
46
47inline xc_status_t xc_user_io_board_controller_plbw_open(xc_iface_t *iface)
48{
49    // does nothing
50    return XC_SUCCESS;
51}
52
53inline xc_status_t xc_user_io_board_controller_plbw_close(xc_iface_t *iface)
54{
55    // does nothing
56    return XC_SUCCESS;
57}
58
59inline xc_status_t xc_user_io_board_controller_plbw_read(xc_iface_t *iface, xc_r_addr_t addr, uint32_t *value)
60{
61    *value = *((uint32_t *) addr);
62    return XC_SUCCESS;
63}
64
65inline xc_status_t xc_user_io_board_controller_plbw_write(xc_iface_t *iface, xc_w_addr_t addr, const uint32_t value)
66{
67    *((uint32_t *) addr) = value;
68    return XC_SUCCESS;
69}
70
71xc_status_t xc_user_io_board_controller_plbw_getshmem(xc_iface_t *iface, const char *name, void **shmem)
72{
73    USER_IO_BOARD_CONTROLLER_PLBW_Config *_config_table = (USER_IO_BOARD_CONTROLLER_PLBW_Config *) iface;
74
75    if (strcmp("Buttons_Big", name) == 0) {
76        *shmem = (void *) & _config_table->Buttons_Big;
77    }
78    else if (strcmp("Buttons_Small", name) == 0) {
79        *shmem = (void *) & _config_table->Buttons_Small;
80    }
81    else if (strcmp("DIP_Switch", name) == 0) {
82        *shmem = (void *) & _config_table->DIP_Switch;
83    }
84    else if (strcmp("Trackball", name) == 0) {
85        *shmem = (void *) & _config_table->Trackball;
86    }
87    else if (strcmp("Buzzer_DutyCycle", name) == 0) {
88        *shmem = (void *) & _config_table->Buzzer_DutyCycle;
89    }
90    else if (strcmp("Buzzer_Enable", name) == 0) {
91        *shmem = (void *) & _config_table->Buzzer_Enable;
92    }
93    else if (strcmp("Buzzer_Period", name) == 0) {
94        *shmem = (void *) & _config_table->Buzzer_Period;
95    }
96    else if (strcmp("LCD_BackgroundColor", name) == 0) {
97        *shmem = (void *) & _config_table->LCD_BackgroundColor;
98    }
99    else if (strcmp("LCD_CharacterOffset", name) == 0) {
100        *shmem = (void *) & _config_table->LCD_CharacterOffset;
101    }
102    else if (strcmp("LCD_CharactersSelect", name) == 0) {
103        *shmem = (void *) & _config_table->LCD_CharactersSelect;
104    }
105    else if (strcmp("LCD_ColSet", name) == 0) {
106        *shmem = (void *) & _config_table->LCD_ColSet;
107    }
108    else if (strcmp("LCD_ConfigLocation", name) == 0) {
109        *shmem = (void *) & _config_table->LCD_ConfigLocation;
110    }
111    else if (strcmp("LCD_DividerSelect", name) == 0) {
112        *shmem = (void *) & _config_table->LCD_DividerSelect;
113    }
114    else if (strcmp("LCD_FirstEnd", name) == 0) {
115        *shmem = (void *) & _config_table->LCD_FirstEnd;
116    }
117    else if (strcmp("LCD_FirstStart", name) == 0) {
118        *shmem = (void *) & _config_table->LCD_FirstStart;
119    }
120    else if (strcmp("LCD_LineOffset", name) == 0) {
121        *shmem = (void *) & _config_table->LCD_LineOffset;
122    }
123    else if (strcmp("LCD_RamWrite", name) == 0) {
124        *shmem = (void *) & _config_table->LCD_RamWrite;
125    }
126    else if (strcmp("LCD_Reset", name) == 0) {
127        *shmem = (void *) & _config_table->LCD_Reset;
128    }
129    else if (strcmp("LCD_ResetLCD", name) == 0) {
130        *shmem = (void *) & _config_table->LCD_ResetLCD;
131    }
132    else if (strcmp("LCD_RowSet", name) == 0) {
133        *shmem = (void *) & _config_table->LCD_RowSet;
134    }
135    else if (strcmp("LCD_SecondEnd", name) == 0) {
136        *shmem = (void *) & _config_table->LCD_SecondEnd;
137    }
138    else if (strcmp("LCD_SecondStart", name) == 0) {
139        *shmem = (void *) & _config_table->LCD_SecondStart;
140    }
141    else if (strcmp("LCD_Send", name) == 0) {
142        *shmem = (void *) & _config_table->LCD_Send;
143    }
144    else if (strcmp("LCD_TotalCmdTransfer", name) == 0) {
145        *shmem = (void *) & _config_table->LCD_TotalCmdTransfer;
146    }
147    else if (strcmp("LEDs", name) == 0) {
148        *shmem = (void *) & _config_table->LEDs;
149    }
150    else if (strcmp("LCD_CharacterMap", name) == 0) {
151        *shmem = (void *) & _config_table->LCD_CharacterMap;
152    }
153    else if (strcmp("LCD_Characters", name) == 0) {
154        *shmem = (void *) & _config_table->LCD_Characters;
155    }
156    else if (strcmp("LCD_Commands", name) == 0) {
157        *shmem = (void *) & _config_table->LCD_Commands;
158    } else { shmem = NULL; return XC_FAILURE; } 
159
160    return XC_SUCCESS;
161}
Note: See TracBrowser for help on using the repository browser.