tempcommit 13/05

Committer:
tijl
Date:
Wed May 15 13:39:22 2019 +0000
Revision:
2:048e163245b7
Parent:
0:73f2160fef5a
blub 15/05;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Ruben_Heintjens 0:73f2160fef5a 1 /**
Ruben_Heintjens 0:73f2160fef5a 2 * @filename : epdif.h
Ruben_Heintjens 0:73f2160fef5a 3 * @brief : Header file of epdif.cpp providing EPD interface functions
Ruben_Heintjens 0:73f2160fef5a 4 * Users have to implement all the functions in epdif.cpp
Ruben_Heintjens 0:73f2160fef5a 5 * @author : Yehui from Waveshare
Ruben_Heintjens 0:73f2160fef5a 6 *
Ruben_Heintjens 0:73f2160fef5a 7 * Copyright (C) Waveshare August 10 2017
Ruben_Heintjens 0:73f2160fef5a 8 *
Ruben_Heintjens 0:73f2160fef5a 9 * Permission is hereby granted, free of charge, to any person obtaining a copy
Ruben_Heintjens 0:73f2160fef5a 10 * of this software and associated documnetation files (the "Software"), to deal
Ruben_Heintjens 0:73f2160fef5a 11 * in the Software without restriction, including without limitation the rights
Ruben_Heintjens 0:73f2160fef5a 12 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
Ruben_Heintjens 0:73f2160fef5a 13 * copies of the Software, and to permit persons to whom the Software is
Ruben_Heintjens 0:73f2160fef5a 14 * furished to do so, subject to the following conditions:
Ruben_Heintjens 0:73f2160fef5a 15 *
Ruben_Heintjens 0:73f2160fef5a 16 * The above copyright notice and this permission notice shall be included in
Ruben_Heintjens 0:73f2160fef5a 17 * all copies or substantial portions of the Software.
Ruben_Heintjens 0:73f2160fef5a 18 *
Ruben_Heintjens 0:73f2160fef5a 19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
Ruben_Heintjens 0:73f2160fef5a 20 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
Ruben_Heintjens 0:73f2160fef5a 21 * FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
Ruben_Heintjens 0:73f2160fef5a 22 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
Ruben_Heintjens 0:73f2160fef5a 23 * LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
Ruben_Heintjens 0:73f2160fef5a 24 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
Ruben_Heintjens 0:73f2160fef5a 25 * THE SOFTWARE.
Ruben_Heintjens 0:73f2160fef5a 26 */
Ruben_Heintjens 0:73f2160fef5a 27
Ruben_Heintjens 0:73f2160fef5a 28 #ifndef EPDIF_H
Ruben_Heintjens 0:73f2160fef5a 29 #define EPDIF_H
Ruben_Heintjens 0:73f2160fef5a 30
Ruben_Heintjens 0:73f2160fef5a 31 #define LOW 0;
Ruben_Heintjens 0:73f2160fef5a 32 #define HIGH 1;
Ruben_Heintjens 0:73f2160fef5a 33
Ruben_Heintjens 0:73f2160fef5a 34 #include "mbed.h"
Ruben_Heintjens 0:73f2160fef5a 35
Ruben_Heintjens 0:73f2160fef5a 36 /*
Ruben_Heintjens 0:73f2160fef5a 37 // Pin definition
Ruben_Heintjens 0:73f2160fef5a 38 #define RST_PIN DigitalOut reset_pin (A2)//rst
Ruben_Heintjens 0:73f2160fef5a 39 #define DC_PIN DigitalOut dc_pin (A5) //SCL pin on mbed shield
Ruben_Heintjens 0:73f2160fef5a 40 #define CS_PIN DigitalOut cs_pin (D9)
Ruben_Heintjens 0:73f2160fef5a 41 #define BUSY_PIN DigitalOut busy_pin (D3)//int
Ruben_Heintjens 0:73f2160fef5a 42 */
Ruben_Heintjens 0:73f2160fef5a 43 //DigitalOut mosi_pin(D11);
Ruben_Heintjens 0:73f2160fef5a 44 //DigitalOut miso_pin(D12);
Ruben_Heintjens 0:73f2160fef5a 45 //DigitalOut sclk_pin(A5);
Ruben_Heintjens 0:73f2160fef5a 46 //DigitalOut ssel_pin(D9);
Ruben_Heintjens 0:73f2160fef5a 47
Ruben_Heintjens 0:73f2160fef5a 48 class EpdIf
Ruben_Heintjens 0:73f2160fef5a 49 {
Ruben_Heintjens 0:73f2160fef5a 50 public:
Ruben_Heintjens 0:73f2160fef5a 51 EpdIf(void);
Ruben_Heintjens 0:73f2160fef5a 52 ~EpdIf(void);
Ruben_Heintjens 0:73f2160fef5a 53
Ruben_Heintjens 0:73f2160fef5a 54 int IfInit(void);
Ruben_Heintjens 0:73f2160fef5a 55 void DigitalWrite(DigitalOut &pin, int value);
Ruben_Heintjens 0:73f2160fef5a 56 int DigitalRead(PinName &pin);
Ruben_Heintjens 0:73f2160fef5a 57 void DelayMs(unsigned int delaytime);
Ruben_Heintjens 0:73f2160fef5a 58 void SpiTransfer(unsigned char data);
Ruben_Heintjens 0:73f2160fef5a 59 private:
Ruben_Heintjens 0:73f2160fef5a 60 char rx_buffer[256];
Ruben_Heintjens 0:73f2160fef5a 61 char tx_buffer[256];
Ruben_Heintjens 0:73f2160fef5a 62 SPI _spi;
Ruben_Heintjens 0:73f2160fef5a 63 DigitalOut _cs;
Ruben_Heintjens 0:73f2160fef5a 64 DigitalOut reset_pin;
Ruben_Heintjens 0:73f2160fef5a 65 DigitalOut dc_pin;
Ruben_Heintjens 0:73f2160fef5a 66 DigitalOut busy_pin;
Ruben_Heintjens 0:73f2160fef5a 67
Ruben_Heintjens 0:73f2160fef5a 68
Ruben_Heintjens 0:73f2160fef5a 69 };
Ruben_Heintjens 0:73f2160fef5a 70
Ruben_Heintjens 0:73f2160fef5a 71 #endif