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.cpp
Ruben_Heintjens 0:73f2160fef5a 3 * @brief : Implements 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 #include "epdif.h"
Ruben_Heintjens 0:73f2160fef5a 29 #include "SPI.h"
Ruben_Heintjens 0:73f2160fef5a 30
Ruben_Heintjens 0:73f2160fef5a 31 //DigitalOut cs_pin (D9);
Ruben_Heintjens 0:73f2160fef5a 32
Ruben_Heintjens 0:73f2160fef5a 33
Ruben_Heintjens 0:73f2160fef5a 34 EpdIf::EpdIf():_spi(D11,D12,D13),/*_cs(D9)*/dc_pin(D5),busy_pin(D3),reset_pin(A2),_cs(D9){
Ruben_Heintjens 0:73f2160fef5a 35 int whoami = 20;
Ruben_Heintjens 0:73f2160fef5a 36 _spi.format(8,3);
Ruben_Heintjens 0:73f2160fef5a 37 _spi.frequency(2000000);
Ruben_Heintjens 0:73f2160fef5a 38 _cs = 0;
Ruben_Heintjens 0:73f2160fef5a 39 _spi.write(0x8F);
Ruben_Heintjens 0:73f2160fef5a 40 whoami = _spi.write(0x00);
Ruben_Heintjens 0:73f2160fef5a 41 printf( "pre print \r\n");
Ruben_Heintjens 0:73f2160fef5a 42 printf("WHOAMI register = 0x%X\r\n", whoami);
Ruben_Heintjens 0:73f2160fef5a 43 printf( "post print \r\n");
Ruben_Heintjens 0:73f2160fef5a 44 _cs = 1;
Ruben_Heintjens 0:73f2160fef5a 45 };
Ruben_Heintjens 0:73f2160fef5a 46
Ruben_Heintjens 0:73f2160fef5a 47 //EpdIf::EpdIf() {};
Ruben_Heintjens 0:73f2160fef5a 48
Ruben_Heintjens 0:73f2160fef5a 49 EpdIf::~EpdIf(void) {
Ruben_Heintjens 0:73f2160fef5a 50 };
Ruben_Heintjens 0:73f2160fef5a 51
Ruben_Heintjens 0:73f2160fef5a 52 void EpdIf::DigitalWrite(DigitalOut &pin, int value) {
Ruben_Heintjens 0:73f2160fef5a 53 //digitalWrite(pin, value);
Ruben_Heintjens 0:73f2160fef5a 54 pin = value;
Ruben_Heintjens 0:73f2160fef5a 55 //pin_val value;
Ruben_Heintjens 0:73f2160fef5a 56 }
Ruben_Heintjens 0:73f2160fef5a 57
Ruben_Heintjens 0:73f2160fef5a 58 int EpdIf::DigitalRead(PinName &pin) {
Ruben_Heintjens 0:73f2160fef5a 59 //return DigitalOut(pin).read();
Ruben_Heintjens 0:73f2160fef5a 60 //DigitalOut pin_val(pin);
Ruben_Heintjens 0:73f2160fef5a 61 return pin;
Ruben_Heintjens 0:73f2160fef5a 62 }
Ruben_Heintjens 0:73f2160fef5a 63
Ruben_Heintjens 0:73f2160fef5a 64 void EpdIf::DelayMs(unsigned int delaytime) {
Ruben_Heintjens 0:73f2160fef5a 65 //delay(delaytime);
Ruben_Heintjens 0:73f2160fef5a 66
Ruben_Heintjens 0:73f2160fef5a 67 wait ((((float)delaytime)/100));
Ruben_Heintjens 0:73f2160fef5a 68 }
Ruben_Heintjens 0:73f2160fef5a 69
Ruben_Heintjens 0:73f2160fef5a 70 void EpdIf::SpiTransfer(unsigned char data) {
Ruben_Heintjens 0:73f2160fef5a 71 //DigitalOut(CS_PIN, LOW);
Ruben_Heintjens 0:73f2160fef5a 72 //DigitalOut cs_pin(D9);
Ruben_Heintjens 0:73f2160fef5a 73 _cs = 0;
Ruben_Heintjens 0:73f2160fef5a 74 //SPI.transfer(data);
Ruben_Heintjens 0:73f2160fef5a 75 //_spi.transfer (*tx_buffer , 256,*rx_buffer,256,NULL,SPI_EVENT_COMPLETE);
Ruben_Heintjens 0:73f2160fef5a 76 //for (int i=0; i< 256; i++)
Ruben_Heintjens 0:73f2160fef5a 77 //{
Ruben_Heintjens 0:73f2160fef5a 78
Ruben_Heintjens 0:73f2160fef5a 79 int result = _spi.write(data);
Ruben_Heintjens 0:73f2160fef5a 80 //printf("SPI_transfer_reply %i\r\n",result);
Ruben_Heintjens 0:73f2160fef5a 81
Ruben_Heintjens 0:73f2160fef5a 82 //}
Ruben_Heintjens 0:73f2160fef5a 83
Ruben_Heintjens 0:73f2160fef5a 84 //DigitalOut(CS_PIN, HIGH);
Ruben_Heintjens 0:73f2160fef5a 85 _cs = 1;
Ruben_Heintjens 0:73f2160fef5a 86 }
Ruben_Heintjens 0:73f2160fef5a 87
Ruben_Heintjens 0:73f2160fef5a 88 int EpdIf::IfInit(void) {
Ruben_Heintjens 0:73f2160fef5a 89 //pinMode(CS_PIN, OUTPUT);
Ruben_Heintjens 0:73f2160fef5a 90 //pinMode(RST_PIN, OUTPUT);
Ruben_Heintjens 0:73f2160fef5a 91 //pinMode(DC_PIN, OUTPUT);
Ruben_Heintjens 0:73f2160fef5a 92 //pinMode(BUSY_PIN, INPUT);
Ruben_Heintjens 0:73f2160fef5a 93 //_spi.beginTransaction(SPISettings(2000000, MSBFIRST, SPI_MODE0));
Ruben_Heintjens 0:73f2160fef5a 94 //_spi.begin();
Ruben_Heintjens 0:73f2160fef5a 95 return 0;
Ruben_Heintjens 0:73f2160fef5a 96 }
Ruben_Heintjens 0:73f2160fef5a 97