e-paper whereabouts board program

Dependencies:   SDFileSystem mbed

Revision:
1:cb28911c7ba5
Parent:
0:e4c67c26ba3f
--- a/extdio.cpp	Sun May 01 03:12:28 2016 +0000
+++ b/extdio.cpp	Tue May 23 05:06:14 2017 +0000
@@ -1,3 +1,5 @@
+/* EDP interface board control progtam */
+
 #include "mbed.h"
 #include "extdio.h"
 
@@ -8,33 +10,33 @@
 DigitalOut sdlatch(dp14);
 DigitalOut sclatch(dp13);
 
-char    contBasState = 0;
-bool    olddata[8] = { 0,0,0,0,0,0,0,0 };
+char    _contBusState = 0; //control bus states keep
+char    _olddata;   //data bus state keep
 
-//set CL pin
 void setCL( bool state )
 {
     CL = state;
+    return;
 }
 
-//chane the contral port 
-void setContBas( char mask , bool state )
+//chenge control bus
+void setContBus( char mask , bool state )
 {
     sclock = 0;
     sclatch = 0;
     if( state == true)
     {
-        contBasState = contBasState | mask;
+        _contBusState = _contBusState | mask;
     }
     else
     {
-        contBasState = contBasState & (~mask);
+        _contBusState = _contBusState & (~mask);
     }
     char sendData;
-    sendData = contBasState;
+    sendData = _contBusState;
     char bitMask = 0x80;
 
-    //transfer to shift registor bit by bit from MSB
+    //transfur from MSB   
     sdata = sendData & bitMask;
     sclock = 1;
     bitMask = bitMask >> 1;
@@ -75,59 +77,61 @@
     bitMask = bitMask >> 1;
     sclock = 0;
     
-    //latch the data
+    //set data
     sclatch = 1;
     sclatch = 0;
+    
+    return;
 }
 
-//change the data port
-void setDataBas( bool d7 ,  bool d6 ,  bool d5 ,  bool d4 ,  bool d3 ,  bool d2 ,  bool d1 ,  bool d0  )
+//set data bus
+void setDataBus( char data )
 {
     sclock = 0;
     sdlatch = 0;
     
-    //if same data value , not chage data port ( for increace in speed processing )
-    if( olddata[0] == d0 && olddata[1] == d1 && olddata[2] == d2 && olddata[3] == d3 && olddata[4] == d4 && olddata[5] == d5 && olddata[6] == d6 && olddata[7] == d7 )
+    //skip process when data is same with old data
+    if( _olddata == data )
     {
         return;
     } 
+    _olddata = data;
     
-    olddata[0] = d0; olddata[1] = d1; olddata[2] = d2; olddata[3] = d3; olddata[4] = d4; olddata[5] = d5; olddata[6] = d6; olddata[7] = d7;
-    
-    sdata = d0;
+    sdata = data&0x01;
     sclock = 1;
     sclock = 0;
 
-    sdata = d1;
+    sdata = data&0x02;
     sclock = 1;
     sclock = 0;
 
-    sdata = d2;
+    sdata = data&0x04;
+    sclock = 1;
+    sclock = 0;
+
+    sdata = data&0x08;
     sclock = 1;
     sclock = 0;
 
-    sdata = d3;
+    sdata = data&0x10;
     sclock = 1;
     sclock = 0;
 
-    sdata = d4;
-    sclock = 1;
-    sclock = 0;
-
-    sdata = d5;
+    sdata = data&0x20;
     sclock = 1;
     sclock = 0;
 
-    sdata = d6;
+    sdata = data&0x40;
     sclock = 1;
     sclock = 0;
 
-    sdata = d7;
+    sdata = data&0x80;
     sclock = 1;
     sclock = 0;
 
-    //latch the data
+    //set data
     sdlatch = 1;
     sdlatch = 0;
+    
+    return;
 }
-