This is a demonstration of using the tft display of the Cypress PSoC 6 WiFi-BT Pioneer kit. The demo displays the status of the capsense buttons, slider and user button on the tft display. Makes use of emwin, capsense and PinDetect libraries.

Dependencies:   PinDetect

Committer:
reedas
Date:
Fri Aug 09 23:18:24 2019 +0000
Revision:
0:4ad2c16b6e43
Child:
1:f8f4e789361f
First Commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
reedas 0:4ad2c16b6e43 1 /***************************************************************************//**
reedas 0:4ad2c16b6e43 2 * \file DisplayInterface.h
reedas 0:4ad2c16b6e43 3 * \version 1.0
reedas 0:4ad2c16b6e43 4 *
reedas 0:4ad2c16b6e43 5 * \brief
reedas 0:4ad2c16b6e43 6 * Objective:
reedas 0:4ad2c16b6e43 7 * This is display software i8080 interface source file
reedas 0:4ad2c16b6e43 8 *
reedas 0:4ad2c16b6e43 9 ********************************************************************************
reedas 0:4ad2c16b6e43 10 * \copyright
reedas 0:4ad2c16b6e43 11 * Copyright 2018-2019 Cypress Semiconductor Corporation
reedas 0:4ad2c16b6e43 12 * SPDX-License-Identifier: Apache-2.0
reedas 0:4ad2c16b6e43 13 *
reedas 0:4ad2c16b6e43 14 * Licensed under the Apache License, Version 2.0 (the "License");
reedas 0:4ad2c16b6e43 15 * you may not use this file except in compliance with the License.
reedas 0:4ad2c16b6e43 16 * You may obtain a copy of the License at
reedas 0:4ad2c16b6e43 17 *
reedas 0:4ad2c16b6e43 18 * http://www.apache.org/licenses/LICENSE-2.0
reedas 0:4ad2c16b6e43 19 *
reedas 0:4ad2c16b6e43 20 * Unless required by applicable law or agreed to in writing, software
reedas 0:4ad2c16b6e43 21 * distributed under the License is distributed on an "AS IS" BASIS,
reedas 0:4ad2c16b6e43 22 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
reedas 0:4ad2c16b6e43 23 * See the License for the specific language governing permissions and
reedas 0:4ad2c16b6e43 24 * limitations under the License.
reedas 0:4ad2c16b6e43 25 *******************************************************************************/
reedas 0:4ad2c16b6e43 26
reedas 0:4ad2c16b6e43 27
reedas 0:4ad2c16b6e43 28 #include "cy8ckit_028_tft.h"
reedas 0:4ad2c16b6e43 29 #include <mbed_wait_api.h>
reedas 0:4ad2c16b6e43 30
reedas 0:4ad2c16b6e43 31
reedas 0:4ad2c16b6e43 32 /*******************************************************************************
reedas 0:4ad2c16b6e43 33 * Function Name: DataWrite
reedas 0:4ad2c16b6e43 34 ****************************************************************************//**
reedas 0:4ad2c16b6e43 35 *
reedas 0:4ad2c16b6e43 36 * \brief
reedas 0:4ad2c16b6e43 37 * Writes one byte of data to the software i8080 interface.
reedas 0:4ad2c16b6e43 38 *
reedas 0:4ad2c16b6e43 39 * \details
reedas 0:4ad2c16b6e43 40 * This function:
reedas 0:4ad2c16b6e43 41 * - Writes data to the data bus
reedas 0:4ad2c16b6e43 42 * - Sends low pulse to the LCD_NWR line to write data
reedas 0:4ad2c16b6e43 43 *
reedas 0:4ad2c16b6e43 44 * \todo
reedas 0:4ad2c16b6e43 45 * All this should be replaced with a udb register to save all the shifting
reedas 0:4ad2c16b6e43 46 * and individual bit writing.
reedas 0:4ad2c16b6e43 47 *
reedas 0:4ad2c16b6e43 48 *******************************************************************************/
reedas 0:4ad2c16b6e43 49 void DataWrite(U8 data)
reedas 0:4ad2c16b6e43 50 {
reedas 0:4ad2c16b6e43 51 LCD_REG0 = (data & 0x01);
reedas 0:4ad2c16b6e43 52 LCD_REG1 = ((data>>1) & 0x01);
reedas 0:4ad2c16b6e43 53 LCD_REG2 = ((data>>2) & 0x01);
reedas 0:4ad2c16b6e43 54 LCD_REG3 = ((data>>3) & 0x01);
reedas 0:4ad2c16b6e43 55 LCD_REG4 = ((data>>4) & 0x01);
reedas 0:4ad2c16b6e43 56 LCD_REG5 = ((data>>5) & 0x01);
reedas 0:4ad2c16b6e43 57 LCD_REG6 = ((data>>6) & 0x01);
reedas 0:4ad2c16b6e43 58 LCD_REG7 = ((data>>7) & 0x01);
reedas 0:4ad2c16b6e43 59
reedas 0:4ad2c16b6e43 60 LCD_NWR = 0u;
reedas 0:4ad2c16b6e43 61 LCD_NWR = 1u;
reedas 0:4ad2c16b6e43 62
reedas 0:4ad2c16b6e43 63 }
reedas 0:4ad2c16b6e43 64
reedas 0:4ad2c16b6e43 65
reedas 0:4ad2c16b6e43 66 /*******************************************************************************
reedas 0:4ad2c16b6e43 67 * Function Name: DataRead
reedas 0:4ad2c16b6e43 68 ****************************************************************************//**
reedas 0:4ad2c16b6e43 69 *
reedas 0:4ad2c16b6e43 70 * \brief
reedas 0:4ad2c16b6e43 71 * Reads one byte of data from the software i8080 interface.
reedas 0:4ad2c16b6e43 72 *
reedas 0:4ad2c16b6e43 73 * \details
reedas 0:4ad2c16b6e43 74 * This function:
reedas 0:4ad2c16b6e43 75 * - Changes data bus GPIO pins drive mode to digital Hi-Z with enabled input
reedas 0:4ad2c16b6e43 76 * buffer
reedas 0:4ad2c16b6e43 77 * - Sends low pulse to LCD_NRD line to read data
reedas 0:4ad2c16b6e43 78 * - Reads data from the data bus
reedas 0:4ad2c16b6e43 79 * - Sends low pulse to the LCD_NWR line to write data
reedas 0:4ad2c16b6e43 80 * - Changes data bus GPIO pins drive mode back to to Strong Drive mode
reedas 0:4ad2c16b6e43 81 *
reedas 0:4ad2c16b6e43 82 * \todo
reedas 0:4ad2c16b6e43 83 * All this should be replaced with a udb register to save all the shifting
reedas 0:4ad2c16b6e43 84 * and individual bit reading.
reedas 0:4ad2c16b6e43 85 *
reedas 0:4ad2c16b6e43 86 *******************************************************************************/
reedas 0:4ad2c16b6e43 87 U8 DataRead(void)
reedas 0:4ad2c16b6e43 88 {
reedas 0:4ad2c16b6e43 89 U8 data = 0u;
reedas 0:4ad2c16b6e43 90
reedas 0:4ad2c16b6e43 91 /* enable input */
reedas 0:4ad2c16b6e43 92 LCD_REG0.input();
reedas 0:4ad2c16b6e43 93 LCD_REG1.input();
reedas 0:4ad2c16b6e43 94 LCD_REG2.input();
reedas 0:4ad2c16b6e43 95 LCD_REG3.input();
reedas 0:4ad2c16b6e43 96 LCD_REG4.input();
reedas 0:4ad2c16b6e43 97 LCD_REG5.input();
reedas 0:4ad2c16b6e43 98 LCD_REG6.input();
reedas 0:4ad2c16b6e43 99 LCD_REG7.input();
reedas 0:4ad2c16b6e43 100
reedas 0:4ad2c16b6e43 101 LCD_NRD = 0u; // Pulse read line low then read the data port
reedas 0:4ad2c16b6e43 102
reedas 0:4ad2c16b6e43 103 data = (U8)LCD_REG0.read();
reedas 0:4ad2c16b6e43 104 data |= (U8)LCD_REG1.read()<<1;
reedas 0:4ad2c16b6e43 105 data |= (U8)LCD_REG2.read()<<2;
reedas 0:4ad2c16b6e43 106 data |= (U8)LCD_REG3.read()<<3;
reedas 0:4ad2c16b6e43 107 data |= (U8)LCD_REG4.read()<<4;
reedas 0:4ad2c16b6e43 108 data |= (U8)LCD_REG5.read()<<5;
reedas 0:4ad2c16b6e43 109 data |= (U8)LCD_REG6.read()<<6;
reedas 0:4ad2c16b6e43 110 data |= (U8)LCD_REG7.read()<<7;
reedas 0:4ad2c16b6e43 111
reedas 0:4ad2c16b6e43 112 LCD_NRD = 1u; // Raise the read line and then go back to output port
reedas 0:4ad2c16b6e43 113
reedas 0:4ad2c16b6e43 114 LCD_REG0.output();
reedas 0:4ad2c16b6e43 115 LCD_REG1.output();
reedas 0:4ad2c16b6e43 116 LCD_REG2.output();
reedas 0:4ad2c16b6e43 117 LCD_REG3.output();
reedas 0:4ad2c16b6e43 118 LCD_REG4.output();
reedas 0:4ad2c16b6e43 119 LCD_REG5.output();
reedas 0:4ad2c16b6e43 120 LCD_REG6.output();
reedas 0:4ad2c16b6e43 121 LCD_REG7.output();
reedas 0:4ad2c16b6e43 122
reedas 0:4ad2c16b6e43 123 return data;
reedas 0:4ad2c16b6e43 124 }
reedas 0:4ad2c16b6e43 125
reedas 0:4ad2c16b6e43 126
reedas 0:4ad2c16b6e43 127 /*******************************************************************************
reedas 0:4ad2c16b6e43 128 * Function Name: DisplayIntf_Init
reedas 0:4ad2c16b6e43 129 ****************************************************************************//**
reedas 0:4ad2c16b6e43 130 *
reedas 0:4ad2c16b6e43 131 * \brief
reedas 0:4ad2c16b6e43 132 * Initializes software i8080 interface.
reedas 0:4ad2c16b6e43 133 *
reedas 0:4ad2c16b6e43 134 * \details
reedas 0:4ad2c16b6e43 135 * This function:
reedas 0:4ad2c16b6e43 136 * - Initializes interface GPIO pins
reedas 0:4ad2c16b6e43 137 *
reedas 0:4ad2c16b6e43 138 *******************************************************************************/
reedas 0:4ad2c16b6e43 139 void DisplayIntf_Init(void)
reedas 0:4ad2c16b6e43 140 {
reedas 0:4ad2c16b6e43 141 /* All pins are initialized by the Device Configurator. */
reedas 0:4ad2c16b6e43 142 LCD_RESET = 1u;
reedas 0:4ad2c16b6e43 143 LCD_NRD = 1u;
reedas 0:4ad2c16b6e43 144 LCD_NWR = 1u;
reedas 0:4ad2c16b6e43 145 LCD_DC = 0u;
reedas 0:4ad2c16b6e43 146 LCD_REG0.output();
reedas 0:4ad2c16b6e43 147 LCD_REG1.output();
reedas 0:4ad2c16b6e43 148 LCD_REG2.output();
reedas 0:4ad2c16b6e43 149 LCD_REG3.output();
reedas 0:4ad2c16b6e43 150 LCD_REG4.output();
reedas 0:4ad2c16b6e43 151 LCD_REG5.output();
reedas 0:4ad2c16b6e43 152 LCD_REG6.output();
reedas 0:4ad2c16b6e43 153 LCD_REG7.output();
reedas 0:4ad2c16b6e43 154 wait_ms(20);
reedas 0:4ad2c16b6e43 155 LCD_RESET = 0u;
reedas 0:4ad2c16b6e43 156 wait_ms(100);
reedas 0:4ad2c16b6e43 157
reedas 0:4ad2c16b6e43 158 LCD_RESET = 1u;
reedas 0:4ad2c16b6e43 159 wait_ms(100);
reedas 0:4ad2c16b6e43 160
reedas 0:4ad2c16b6e43 161 DisplayIntf_Write8_A0(0x28);
reedas 0:4ad2c16b6e43 162 DisplayIntf_Write8_A0(0x11); /* Exit Sleep mode */
reedas 0:4ad2c16b6e43 163 wait_ms(100);
reedas 0:4ad2c16b6e43 164 DisplayIntf_Write8_A0(0x36);
reedas 0:4ad2c16b6e43 165 DisplayIntf_Write8_A1(0xA0); /* MADCTL: memory data access control */
reedas 0:4ad2c16b6e43 166 DisplayIntf_Write8_A0(0x3A);
reedas 0:4ad2c16b6e43 167 DisplayIntf_Write8_A1(0x65); /* COLMOD: Interface Pixel format */
reedas 0:4ad2c16b6e43 168 DisplayIntf_Write8_A0(0xB2);
reedas 0:4ad2c16b6e43 169 DisplayIntf_Write8_A1(0x0C);
reedas 0:4ad2c16b6e43 170 DisplayIntf_Write8_A1(0x0C);
reedas 0:4ad2c16b6e43 171 DisplayIntf_Write8_A1(0x00);
reedas 0:4ad2c16b6e43 172 DisplayIntf_Write8_A1(0x33);
reedas 0:4ad2c16b6e43 173 DisplayIntf_Write8_A1(0x33); /* PORCTRK: Porch setting */
reedas 0:4ad2c16b6e43 174 DisplayIntf_Write8_A0(0xB7);
reedas 0:4ad2c16b6e43 175 DisplayIntf_Write8_A1(0x35); /* GCTRL: Gate Control */
reedas 0:4ad2c16b6e43 176 DisplayIntf_Write8_A0(0xBB);
reedas 0:4ad2c16b6e43 177 DisplayIntf_Write8_A1(0x2B); /* VCOMS: VCOM setting */
reedas 0:4ad2c16b6e43 178 DisplayIntf_Write8_A0(0xC0);
reedas 0:4ad2c16b6e43 179 DisplayIntf_Write8_A1(0x2C); /* LCMCTRL: LCM Control */
reedas 0:4ad2c16b6e43 180 DisplayIntf_Write8_A0(0xC2);
reedas 0:4ad2c16b6e43 181 DisplayIntf_Write8_A1(0x01);
reedas 0:4ad2c16b6e43 182 DisplayIntf_Write8_A1(0xFF); /* VDVVRHEN: VDV and VRH Command Enable */
reedas 0:4ad2c16b6e43 183 DisplayIntf_Write8_A0(0xC3);
reedas 0:4ad2c16b6e43 184 DisplayIntf_Write8_A1(0x11); /* VRHS: VRH Set */
reedas 0:4ad2c16b6e43 185 DisplayIntf_Write8_A0(0xC4);
reedas 0:4ad2c16b6e43 186 DisplayIntf_Write8_A1(0x20); /* VDVS: VDV Set */
reedas 0:4ad2c16b6e43 187 DisplayIntf_Write8_A0(0xC6);
reedas 0:4ad2c16b6e43 188 DisplayIntf_Write8_A1(0x0F); /* FRCTRL2: Frame Rate control in normal mode */
reedas 0:4ad2c16b6e43 189 DisplayIntf_Write8_A0(0xD0);
reedas 0:4ad2c16b6e43 190 DisplayIntf_Write8_A1(0xA4);
reedas 0:4ad2c16b6e43 191 DisplayIntf_Write8_A1(0xA1); /* PWCTRL1: Power Control 1 */
reedas 0:4ad2c16b6e43 192 DisplayIntf_Write8_A0(0xE0);
reedas 0:4ad2c16b6e43 193 DisplayIntf_Write8_A1(0xD0);
reedas 0:4ad2c16b6e43 194 DisplayIntf_Write8_A1(0x00);
reedas 0:4ad2c16b6e43 195 DisplayIntf_Write8_A1(0x05);
reedas 0:4ad2c16b6e43 196 DisplayIntf_Write8_A1(0x0E);
reedas 0:4ad2c16b6e43 197 DisplayIntf_Write8_A1(0x15);
reedas 0:4ad2c16b6e43 198 DisplayIntf_Write8_A1(0x0D);
reedas 0:4ad2c16b6e43 199 DisplayIntf_Write8_A1(0x37);
reedas 0:4ad2c16b6e43 200 DisplayIntf_Write8_A1(0x43);
reedas 0:4ad2c16b6e43 201 DisplayIntf_Write8_A1(0x47);
reedas 0:4ad2c16b6e43 202 DisplayIntf_Write8_A1(0x09);
reedas 0:4ad2c16b6e43 203 DisplayIntf_Write8_A1(0x15);
reedas 0:4ad2c16b6e43 204 DisplayIntf_Write8_A1(0x12);
reedas 0:4ad2c16b6e43 205 DisplayIntf_Write8_A1(0x16);
reedas 0:4ad2c16b6e43 206 DisplayIntf_Write8_A1(0x19); /* PVGAMCTRL: Positive Voltage Gamma control */
reedas 0:4ad2c16b6e43 207 DisplayIntf_Write8_A0(0xE1);
reedas 0:4ad2c16b6e43 208 DisplayIntf_Write8_A1(0xD0);
reedas 0:4ad2c16b6e43 209 DisplayIntf_Write8_A1(0x00);
reedas 0:4ad2c16b6e43 210 DisplayIntf_Write8_A1(0x05);
reedas 0:4ad2c16b6e43 211 DisplayIntf_Write8_A1(0x0D);
reedas 0:4ad2c16b6e43 212 DisplayIntf_Write8_A1(0x0C);
reedas 0:4ad2c16b6e43 213 DisplayIntf_Write8_A1(0x06);
reedas 0:4ad2c16b6e43 214 DisplayIntf_Write8_A1(0x2D);
reedas 0:4ad2c16b6e43 215 DisplayIntf_Write8_A1(0x44);
reedas 0:4ad2c16b6e43 216 DisplayIntf_Write8_A1(0x40);
reedas 0:4ad2c16b6e43 217 DisplayIntf_Write8_A1(0x0E);
reedas 0:4ad2c16b6e43 218 DisplayIntf_Write8_A1(0x1C);
reedas 0:4ad2c16b6e43 219 DisplayIntf_Write8_A1(0x18);
reedas 0:4ad2c16b6e43 220 DisplayIntf_Write8_A1(0x16);
reedas 0:4ad2c16b6e43 221 DisplayIntf_Write8_A1(0x19); /* NVGAMCTRL: Negative Voltage Gamma control */
reedas 0:4ad2c16b6e43 222 DisplayIntf_Write8_A0(0x2B);
reedas 0:4ad2c16b6e43 223 DisplayIntf_Write8_A1(0x00);
reedas 0:4ad2c16b6e43 224 DisplayIntf_Write8_A1(0x00);
reedas 0:4ad2c16b6e43 225 DisplayIntf_Write8_A1(0x00);
reedas 0:4ad2c16b6e43 226 DisplayIntf_Write8_A1(0xEF); /* Y address set */
reedas 0:4ad2c16b6e43 227 DisplayIntf_Write8_A0(0x2A);
reedas 0:4ad2c16b6e43 228 DisplayIntf_Write8_A1(0x00);
reedas 0:4ad2c16b6e43 229 DisplayIntf_Write8_A1(0x00);
reedas 0:4ad2c16b6e43 230 DisplayIntf_Write8_A1(0x01);
reedas 0:4ad2c16b6e43 231 DisplayIntf_Write8_A1(0x3F); /* X address set */
reedas 0:4ad2c16b6e43 232 wait_ms(10);
reedas 0:4ad2c16b6e43 233 DisplayIntf_Write8_A0(0x29);
reedas 0:4ad2c16b6e43 234
reedas 0:4ad2c16b6e43 235
reedas 0:4ad2c16b6e43 236 }
reedas 0:4ad2c16b6e43 237
reedas 0:4ad2c16b6e43 238
reedas 0:4ad2c16b6e43 239 /*******************************************************************************
reedas 0:4ad2c16b6e43 240 * Function Name: DisplayIntf_Write8_A0
reedas 0:4ad2c16b6e43 241 ****************************************************************************//**
reedas 0:4ad2c16b6e43 242 *
reedas 0:4ad2c16b6e43 243 * \brief
reedas 0:4ad2c16b6e43 244 * Writes one byte of data to the software i8080 interface with the LCD_DC pin
reedas 0:4ad2c16b6e43 245 * set to 0
reedas 0:4ad2c16b6e43 246 *
reedas 0:4ad2c16b6e43 247 * \details
reedas 0:4ad2c16b6e43 248 * This function:
reedas 0:4ad2c16b6e43 249 * - Sets LCD_DC pin to 0
reedas 0:4ad2c16b6e43 250 * - Writes one data byte
reedas 0:4ad2c16b6e43 251 *
reedas 0:4ad2c16b6e43 252 *******************************************************************************/
reedas 0:4ad2c16b6e43 253 void DisplayIntf_Write8_A0(U8 data)
reedas 0:4ad2c16b6e43 254 {
reedas 0:4ad2c16b6e43 255 LCD_DC = 0u;
reedas 0:4ad2c16b6e43 256 DataWrite(data);
reedas 0:4ad2c16b6e43 257 }
reedas 0:4ad2c16b6e43 258
reedas 0:4ad2c16b6e43 259
reedas 0:4ad2c16b6e43 260 /*******************************************************************************
reedas 0:4ad2c16b6e43 261 * Function Name: DisplayIntf_Write8_A1
reedas 0:4ad2c16b6e43 262 ****************************************************************************//**
reedas 0:4ad2c16b6e43 263 *
reedas 0:4ad2c16b6e43 264 * \brief
reedas 0:4ad2c16b6e43 265 * Writes one byte of data to the software i8080 interface with the LCD_DC pin
reedas 0:4ad2c16b6e43 266 * set to 1
reedas 0:4ad2c16b6e43 267 *
reedas 0:4ad2c16b6e43 268 * \details
reedas 0:4ad2c16b6e43 269 * This function:
reedas 0:4ad2c16b6e43 270 * - Sets LCD_DC pin to 1
reedas 0:4ad2c16b6e43 271 * - Writes one data byte
reedas 0:4ad2c16b6e43 272 *
reedas 0:4ad2c16b6e43 273 *******************************************************************************/
reedas 0:4ad2c16b6e43 274 void DisplayIntf_Write8_A1(U8 data)
reedas 0:4ad2c16b6e43 275 {
reedas 0:4ad2c16b6e43 276 LCD_DC = 1u;
reedas 0:4ad2c16b6e43 277 DataWrite(data);
reedas 0:4ad2c16b6e43 278 }
reedas 0:4ad2c16b6e43 279
reedas 0:4ad2c16b6e43 280
reedas 0:4ad2c16b6e43 281 /*******************************************************************************
reedas 0:4ad2c16b6e43 282 * Function Name: DisplayIntf_WriteM8_A1
reedas 0:4ad2c16b6e43 283 ****************************************************************************//**
reedas 0:4ad2c16b6e43 284 *
reedas 0:4ad2c16b6e43 285 * \brief
reedas 0:4ad2c16b6e43 286 * Writes multiple bytes of data to the software i8080 interface with the LCD_DC
reedas 0:4ad2c16b6e43 287 * pin set to 1
reedas 0:4ad2c16b6e43 288 *
reedas 0:4ad2c16b6e43 289 * \details
reedas 0:4ad2c16b6e43 290 * This function:
reedas 0:4ad2c16b6e43 291 * - Sets LCD_DC pin to 1
reedas 0:4ad2c16b6e43 292 * - Writes data bytes
reedas 0:4ad2c16b6e43 293 *
reedas 0:4ad2c16b6e43 294 *******************************************************************************/
reedas 0:4ad2c16b6e43 295 void DisplayIntf_WriteM8_A1(U8 data[], int num)
reedas 0:4ad2c16b6e43 296 {
reedas 0:4ad2c16b6e43 297 int i = 0;
reedas 0:4ad2c16b6e43 298
reedas 0:4ad2c16b6e43 299 LCD_DC = 1u;
reedas 0:4ad2c16b6e43 300
reedas 0:4ad2c16b6e43 301 for(i = 0; i < num; i++)
reedas 0:4ad2c16b6e43 302 {
reedas 0:4ad2c16b6e43 303 DataWrite(data[i]);
reedas 0:4ad2c16b6e43 304 }
reedas 0:4ad2c16b6e43 305 }
reedas 0:4ad2c16b6e43 306
reedas 0:4ad2c16b6e43 307
reedas 0:4ad2c16b6e43 308 /*******************************************************************************
reedas 0:4ad2c16b6e43 309 * Function Name: DisplayIntf_Read8_A1
reedas 0:4ad2c16b6e43 310 ****************************************************************************//**
reedas 0:4ad2c16b6e43 311 *
reedas 0:4ad2c16b6e43 312 * \brief
reedas 0:4ad2c16b6e43 313 * Reads one byte of data from the software i8080 interface with the LCD_DC pin
reedas 0:4ad2c16b6e43 314 * set to 1
reedas 0:4ad2c16b6e43 315 *
reedas 0:4ad2c16b6e43 316 * \details
reedas 0:4ad2c16b6e43 317 * This function:
reedas 0:4ad2c16b6e43 318 * - Sets LCD_DC pin to 1
reedas 0:4ad2c16b6e43 319 * - Reads one data byte
reedas 0:4ad2c16b6e43 320 *
reedas 0:4ad2c16b6e43 321 *******************************************************************************/
reedas 0:4ad2c16b6e43 322 U8 DisplayIntf_Read8_A1(void)
reedas 0:4ad2c16b6e43 323 {
reedas 0:4ad2c16b6e43 324 LCD_DC = 1u;
reedas 0:4ad2c16b6e43 325 return DataRead();
reedas 0:4ad2c16b6e43 326 }
reedas 0:4ad2c16b6e43 327
reedas 0:4ad2c16b6e43 328
reedas 0:4ad2c16b6e43 329 /*******************************************************************************
reedas 0:4ad2c16b6e43 330 * Function Name: DisplayIntf_ReadM8_A1
reedas 0:4ad2c16b6e43 331 ****************************************************************************//**
reedas 0:4ad2c16b6e43 332 *
reedas 0:4ad2c16b6e43 333 * \brief
reedas 0:4ad2c16b6e43 334 * Reads multiple bytes of data from the software i8080 interface with the LCD_DC
reedas 0:4ad2c16b6e43 335 * pin set to 1
reedas 0:4ad2c16b6e43 336 *
reedas 0:4ad2c16b6e43 337 * \details
reedas 0:4ad2c16b6e43 338 * This function:
reedas 0:4ad2c16b6e43 339 * - Sets LCD_DC pin to 1
reedas 0:4ad2c16b6e43 340 * - Reads data bytes
reedas 0:4ad2c16b6e43 341 *
reedas 0:4ad2c16b6e43 342 *******************************************************************************/
reedas 0:4ad2c16b6e43 343 void DisplayIntf_ReadM8_A1(U8 data[], int num)
reedas 0:4ad2c16b6e43 344 {
reedas 0:4ad2c16b6e43 345 int i = 0;
reedas 0:4ad2c16b6e43 346
reedas 0:4ad2c16b6e43 347 LCD_DC = 1u;
reedas 0:4ad2c16b6e43 348
reedas 0:4ad2c16b6e43 349 for(i = 0; i < num; i++)
reedas 0:4ad2c16b6e43 350 {
reedas 0:4ad2c16b6e43 351 data[i] = DataRead();
reedas 0:4ad2c16b6e43 352 }
reedas 0:4ad2c16b6e43 353 }
reedas 0:4ad2c16b6e43 354
reedas 0:4ad2c16b6e43 355
reedas 0:4ad2c16b6e43 356 /* [] END OF FILE */
reedas 0:4ad2c16b6e43 357
reedas 0:4ad2c16b6e43 358