4.2inch e-Paper HAT (C) made by WAVESHARE

Dependents:   ePD_4R2inch_test_program_on_nRF52

Committer:
kenjiArai
Date:
Wed Aug 28 23:35:01 2019 +0000
Revision:
1:b1aa1d6a96bc
Parent:
0:825022100d0f
for 4.2inch e-Paper

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenjiArai 0:825022100d0f 1 /**
kenjiArai 0:825022100d0f 2 * @filename : epdif.h
kenjiArai 0:825022100d0f 3 * @brief : Header file of epdif.cpp providing EPD interface functions
kenjiArai 0:825022100d0f 4 * Users have to implement all the functions in epdif.cpp
kenjiArai 0:825022100d0f 5 * @author : Yehui from Waveshare
kenjiArai 0:825022100d0f 6 *
kenjiArai 0:825022100d0f 7 * Copyright (C) Waveshare August 10 2017
kenjiArai 0:825022100d0f 8 *
kenjiArai 0:825022100d0f 9 * Permission is hereby granted, free of charge, to any person obtaining a copy
kenjiArai 0:825022100d0f 10 * of this software and associated documnetation files (the "Software"), to deal
kenjiArai 0:825022100d0f 11 * in the Software without restriction, including without limitation the rights
kenjiArai 0:825022100d0f 12 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
kenjiArai 0:825022100d0f 13 * copies of the Software, and to permit persons to whom the Software is
kenjiArai 0:825022100d0f 14 * furished to do so, subject to the following conditions:
kenjiArai 0:825022100d0f 15 *
kenjiArai 0:825022100d0f 16 * The above copyright notice and this permission notice shall be included in
kenjiArai 0:825022100d0f 17 * all copies or substantial portions of the Software.
kenjiArai 0:825022100d0f 18 *
kenjiArai 0:825022100d0f 19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
kenjiArai 0:825022100d0f 20 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
kenjiArai 0:825022100d0f 21 * FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
kenjiArai 0:825022100d0f 22 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
kenjiArai 0:825022100d0f 23 * LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
kenjiArai 0:825022100d0f 24 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
kenjiArai 0:825022100d0f 25 * THE SOFTWARE.
kenjiArai 0:825022100d0f 26 */
kenjiArai 0:825022100d0f 27
kenjiArai 0:825022100d0f 28 /*
kenjiArai 0:825022100d0f 29 * Modified by Kenji Arai / JH1PJL
kenjiArai 0:825022100d0f 30 *
kenjiArai 0:825022100d0f 31 * http://www.page.sannet.ne.jp/kenjia/index.html
kenjiArai 0:825022100d0f 32 * http://mbed.org/users/kenjiArai/
kenjiArai 0:825022100d0f 33 * Created: April 27th, 2019
kenjiArai 1:b1aa1d6a96bc 34 * Revised: May 26th, 2019
kenjiArai 0:825022100d0f 35 *
kenjiArai 0:825022100d0f 36 * Refrence software
kenjiArai 0:825022100d0f 37 * https://github.com/waveshare/e-Paper
kenjiArai 0:825022100d0f 38 * https://os.mbed.com/users/imachooon/code/epd1in54/
kenjiArai 0:825022100d0f 39 *
kenjiArai 0:825022100d0f 40 * Technical documents
kenjiArai 0:825022100d0f 41 * https://www.waveshare.com/wiki/2.13inch_e-Paper_HAT_(B)
kenjiArai 0:825022100d0f 42 *
kenjiArai 0:825022100d0f 43 * Product
kenjiArai 0:825022100d0f 44 * http://akizukidenshi.com/catalog/g/gP-13757/
kenjiArai 0:825022100d0f 45 * https://www.waveshare.com/2.13inch-e-paper-hat-b.htm
kenjiArai 0:825022100d0f 46 *
kenjiArai 0:825022100d0f 47 */
kenjiArai 0:825022100d0f 48
kenjiArai 0:825022100d0f 49 #ifndef EPDIF_H
kenjiArai 0:825022100d0f 50 #define EPDIF_H
kenjiArai 0:825022100d0f 51
kenjiArai 0:825022100d0f 52 #include "mbed.h"
kenjiArai 0:825022100d0f 53
kenjiArai 0:825022100d0f 54 class EpdIf
kenjiArai 0:825022100d0f 55 {
kenjiArai 0:825022100d0f 56 public:
kenjiArai 0:825022100d0f 57 EpdIf(void);
kenjiArai 0:825022100d0f 58 EpdIf(PinName mosi,
kenjiArai 0:825022100d0f 59 PinName miso,
kenjiArai 0:825022100d0f 60 PinName sclk,
kenjiArai 0:825022100d0f 61 PinName cs,
kenjiArai 0:825022100d0f 62 PinName dc,
kenjiArai 0:825022100d0f 63 PinName rst,
kenjiArai 0:825022100d0f 64 PinName busy,
kenjiArai 0:825022100d0f 65 PinName pwr);
kenjiArai 0:825022100d0f 66 ~EpdIf(void)
kenjiArai 0:825022100d0f 67 {
kenjiArai 0:825022100d0f 68 ;
kenjiArai 0:825022100d0f 69 }
kenjiArai 0:825022100d0f 70
kenjiArai 0:825022100d0f 71 int IfInit(void);
kenjiArai 0:825022100d0f 72 void DigitalWrite(DigitalOut* pin, int value);
kenjiArai 0:825022100d0f 73 int DigitalRead(DigitalIn* pin);
kenjiArai 0:825022100d0f 74 void DelayMs(unsigned int delaytime);
kenjiArai 0:825022100d0f 75 void SpiTransfer(unsigned char data);
kenjiArai 1:b1aa1d6a96bc 76 void all_off(void);
kenjiArai 0:825022100d0f 77
kenjiArai 0:825022100d0f 78 SPI* m_spi;
kenjiArai 0:825022100d0f 79 DigitalOut* m_cs;
kenjiArai 0:825022100d0f 80 DigitalOut* m_dc;
kenjiArai 0:825022100d0f 81 DigitalOut* m_rst;
kenjiArai 0:825022100d0f 82 DigitalIn* m_busy;
kenjiArai 0:825022100d0f 83 DigitalOut* m_pwr;
kenjiArai 1:b1aa1d6a96bc 84 PinName p_mosi;
kenjiArai 1:b1aa1d6a96bc 85 PinName p_sclk;
kenjiArai 1:b1aa1d6a96bc 86 DigitalOut* m_mosi;
kenjiArai 1:b1aa1d6a96bc 87 DigitalOut* m_sclk;
kenjiArai 0:825022100d0f 88 };
kenjiArai 0:825022100d0f 89
kenjiArai 0:825022100d0f 90 #endif