E_paper, E_ink, Screen size 1.54", resolution 200x200, 4 wire spi, Waveshare, Black and White, Kl25Z, 8 wire print connector, supply 3.3 Volt, IL0373 Controller, font size is 8, 12, 16 and 24.

Dependencies:   mbed

Committer:
GerritPathuis
Date:
Sun Mar 25 12:14:55 2018 +0000
Revision:
0:665e04c85d8d
Child:
1:d27a7e06c233
Start point

Who changed what in which revision?

UserRevisionLine numberNew contents of line
GerritPathuis 0:665e04c85d8d 1 /**
GerritPathuis 0:665e04c85d8d 2 * @filename : epdif.cpp
GerritPathuis 0:665e04c85d8d 3 * @brief : Implements EPD interface functions
GerritPathuis 0:665e04c85d8d 4 * Users have to implement all the functions in epdif.cpp
GerritPathuis 0:665e04c85d8d 5 * @author : Yehui from Waveshare
GerritPathuis 0:665e04c85d8d 6 *
GerritPathuis 0:665e04c85d8d 7 * Copyright (C) Waveshare August 10 2017
GerritPathuis 0:665e04c85d8d 8 *
GerritPathuis 0:665e04c85d8d 9 * Permission is hereby granted, free of charge, to any person obtaining a copy
GerritPathuis 0:665e04c85d8d 10 * of this software and associated documnetation files (the "Software"), to deal
GerritPathuis 0:665e04c85d8d 11 * in the Software without restriction, including without limitation the rights
GerritPathuis 0:665e04c85d8d 12 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
GerritPathuis 0:665e04c85d8d 13 * copies of the Software, and to permit persons to whom the Software is
GerritPathuis 0:665e04c85d8d 14 * furished to do so, subject to the following conditions:
GerritPathuis 0:665e04c85d8d 15 *
GerritPathuis 0:665e04c85d8d 16 * The above copyright notice and this permission notice shall be included in
GerritPathuis 0:665e04c85d8d 17 * all copies or substantial portions of the Software.
GerritPathuis 0:665e04c85d8d 18 *
GerritPathuis 0:665e04c85d8d 19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
GerritPathuis 0:665e04c85d8d 20 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
GerritPathuis 0:665e04c85d8d 21 * FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
GerritPathuis 0:665e04c85d8d 22 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
GerritPathuis 0:665e04c85d8d 23 * LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
GerritPathuis 0:665e04c85d8d 24 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
GerritPathuis 0:665e04c85d8d 25 * THE SOFTWARE.
GerritPathuis 0:665e04c85d8d 26 */
GerritPathuis 0:665e04c85d8d 27
GerritPathuis 0:665e04c85d8d 28 #include "epdif.h"
GerritPathuis 0:665e04c85d8d 29
GerritPathuis 0:665e04c85d8d 30
GerritPathuis 0:665e04c85d8d 31 EpdIf::EpdIf() {
GerritPathuis 0:665e04c85d8d 32 };
GerritPathuis 0:665e04c85d8d 33
GerritPathuis 0:665e04c85d8d 34 EpdIf::~EpdIf() {
GerritPathuis 0:665e04c85d8d 35 };
GerritPathuis 0:665e04c85d8d 36
GerritPathuis 0:665e04c85d8d 37 void EpdIf::DigitalWrite(int pin, int value) {
GerritPathuis 0:665e04c85d8d 38 digitalWrite(pin, value);
GerritPathuis 0:665e04c85d8d 39 }
GerritPathuis 0:665e04c85d8d 40
GerritPathuis 0:665e04c85d8d 41 int EpdIf::DigitalRead(int pin) {
GerritPathuis 0:665e04c85d8d 42 return digitalRead(pin);
GerritPathuis 0:665e04c85d8d 43 }
GerritPathuis 0:665e04c85d8d 44
GerritPathuis 0:665e04c85d8d 45 void EpdIf::DelayMs(unsigned int delaytime) {
GerritPathuis 0:665e04c85d8d 46 delay(delaytime);
GerritPathuis 0:665e04c85d8d 47 }
GerritPathuis 0:665e04c85d8d 48
GerritPathuis 0:665e04c85d8d 49 void EpdIf::SpiTransfer(unsigned char data) {
GerritPathuis 0:665e04c85d8d 50 digitalWrite(CS_PIN, LOW);
GerritPathuis 0:665e04c85d8d 51 SPI.transfer(data);
GerritPathuis 0:665e04c85d8d 52 digitalWrite(CS_PIN, HIGH);
GerritPathuis 0:665e04c85d8d 53 }
GerritPathuis 0:665e04c85d8d 54
GerritPathuis 0:665e04c85d8d 55 int EpdIf::IfInit(void) {
GerritPathuis 0:665e04c85d8d 56 pinMode(CS_PIN, OUTPUT);
GerritPathuis 0:665e04c85d8d 57 pinMode(RST_PIN, OUTPUT);
GerritPathuis 0:665e04c85d8d 58 pinMode(DC_PIN, OUTPUT);
GerritPathuis 0:665e04c85d8d 59 pinMode(BUSY_PIN, INPUT);
GerritPathuis 0:665e04c85d8d 60 SPI.beginTransaction(SPISettings(2000000, MSBFIRST, SPI_MODE0));
GerritPathuis 0:665e04c85d8d 61 SPI.begin();
GerritPathuis 0:665e04c85d8d 62 return 0;
GerritPathuis 0:665e04c85d8d 63 }
GerritPathuis 0:665e04c85d8d 64
GerritPathuis 0:665e04c85d8d 65