Delphi I2c

Dependencies:   mbed

Fork of Delphi2I2c by Sho Yama

Revision:
2:343a0a1ea2fd
Parent:
1:dcd9840bdd66
--- a/main.cpp	Mon Feb 29 13:58:55 2016 +0000
+++ b/main.cpp	Mon Feb 29 13:59:52 2016 +0000
@@ -20,16 +20,16 @@
 /* //////////////////////////////////////////////////////////////////////// */
 int I2cWrite(uint8_t I2cAddr, uint8_t len )
 {
-   I2CS.frequency(I2cSpeed);
-   return I2CS.write(I2cAddr,(char *)I2cDataBuffer, len );           /* I2C シリアル書込み */
+    I2CS.frequency(I2cSpeed);
+    return I2CS.write(I2cAddr,(char *)I2cDataBuffer, len );           /* I2C シリアル書込み */
 }
 /* //////////////////////////////////////////////////////////////////////// */
 /* //  I2Cシリアル読み込み処理 ///////////////////////////////////////// */
 /* //////////////////////////////////////////////////////////////////////// */
-int I2cRead(uint8_t I2cAddr, uint8_t len )     
+int I2cRead(uint8_t I2cAddr, uint8_t len )
 {
-   I2CS.frequency(I2cSpeed);    
-   return I2CS.read(I2cAddr,(char *)I2cDataBuffer , len );       /* I2C シリアル読込み */
+    I2CS.frequency(I2cSpeed);
+    return I2CS.read(I2cAddr,(char *)I2cDataBuffer , len );       /* I2C シリアル読込み */
 }
 /* //////////////////////////////////////////////////////////////////////// */
 /* // PCへの送信バッファ設定処理 //////////////////////////////////////// */
@@ -46,125 +46,109 @@
     uint8_t     i;
     uint8_t     Count;
     if( !PC.readable() )  return;          /* PCからの要求がなければ抜け */
-    Code = PC.getc();     
+    Code = PC.getc();
 
-    switch(Code)
-    {
+    switch(Code) {
             /***********   I2C 送信 ************/
-            case  'O':  
-                      wait_us(200); //100ms 以内
-                      if( !PC.readable() )
-                      {
-                          PcReturn('T');         // Error;
-                          return;   
-                      } 
-                      Count = PC.getc();     
+        case  'O':
+            wait_us(200); //100ms 以内
+            if( !PC.readable() ) {
+                PcReturn('T');         // Error;
+                return;
+            }
+            Count = PC.getc();
 
-  //                  PC.printf("size: %2d \n",Count);    
-                      wait_us(200); //100ms 以内
-                      if( !PC.readable() )
-                      {
-                          PcReturn('T');         // Error;
-                          return;
-                      } 
-                      I2cAddr = PC.getc();     
- 
-                      if(Count != 0) Count--;
-                      for( i = 0 ; i < Count ; i++)
-                      {
-                          wait_us(300); 
-                          if( !PC.readable() )
-                          {
-                              PcReturn('T');         // Error;
-                              return;
-                          }
-                          I2cDataBuffer[i] = PC.getc();
-                      }
-                      {
-                          if(!I2cWrite( I2cAddr, Count ))
-                          {
-                             PcReturn('S');     // Success
-                          }
-                          else
-                          {
-                             PcReturn('E');     // Error
-                          }
-                      }
-                      break;
+            //                  PC.printf("size: %2d \n",Count);
+            wait_us(200); //100ms 以内
+            if( !PC.readable() ) {
+                PcReturn('T');         // Error;
+                return;
+            }
+            I2cAddr = PC.getc();
+
+            if(Count != 0) Count--;
+            for( i = 0 ; i < Count ; i++) {
+                wait_us(300);
+                if( !PC.readable() ) {
+                    PcReturn('T');         // Error;
+                    return;
+                }
+                I2cDataBuffer[i] = PC.getc();
+            }
+            {
+                if(!I2cWrite( I2cAddr, Count )) {
+                    PcReturn('S');     // Success
+                } else {
+                    PcReturn('E');     // Error
+                }
+            }
+            break;
             /***********   I2CI BUS ************/
-            case 'I': 
-                      wait_us(200); 
-                      if( !PC.readable() )
-                      {
-                          PcReturn('T');         // Error;
-                          return;          /* PCからの要求がなければ抜け */
-                      } 
-                      Count = PC.getc();     
+        case 'I':
+            wait_us(200);
+            if( !PC.readable() ) {
+                PcReturn('T');         // Error;
+                return;          /* PCからの要求がなければ抜け */
+            }
+            Count = PC.getc();
+
+//                   PC.printf("size: %2d \n",Count);
+
+            wait_us(200);
+            if( !PC.readable() ) {
+                PcReturn('T');         // Error;
+                return;          /* PCからの要求がなければ抜け */
+            }
+            I2cAddr = PC.getc();
+
+            if( Count == 0) {
+                PcReturn('T');         // Error;
+                return;
+            }
 
- //                   PC.printf("size: %2d \n",Count);    
-                      
-                      wait_us(200); 
-                      if( !PC.readable() )
-                      {
-                          PcReturn('T');         // Error;
-                          return;          /* PCからの要求がなければ抜け */
-                      } 
-                      I2cAddr = PC.getc();     
- 
-                      if( Count == 0)
-                      {
-                         PcReturn('T');         // Error;
-                         return;
-                      }
-                      
-                      if(!I2cRead(I2cAddr, Count ))
-                      { // success //
-                         PcReturn('I');         // Success;
-                         PcReturn(Count);
-                         for( uint8_t i = 0 ; i < Count ; i ++ )
-                         {
-                           PcReturn(I2cDataBuffer[i]);
-                         }
-                      }
-                      else
-                      { // ng //
-                         PcReturn('E');         // Error;
-                      }
-                      break;
+            if(!I2cRead(I2cAddr, Count )) {
+                // success //
+                PcReturn('I');         // Success;
+                PcReturn(Count);
+                for( uint8_t i = 0 ; i < Count ; i ++ ) {
+                    PcReturn(I2cDataBuffer[i]);
+                }
+            } else {
+                // ng //
+                PcReturn('E');         // Error;
+            }
+            break;
             /***********   SPI1O BUS ************/
-            case 'S':  
-                     wait_us(200); //100ms 以内
-                     if( !PC.readable() )
-                      {
-                          PcReturn('T');         // Error;
-                          return;
-                      } 
-                      Code = PC.getc();     
-                      wait_us(200); //100ms 以内
-                      if( !PC.readable() )
-                      {
-                          PcReturn('T');         // Error;
-                          return;   
-                       } 
-                      I2cSpeed = ((uint16_t)Code << 8) | PC.getc();     
+        case 'S':
+            wait_us(200); //100ms 以内
+            if( !PC.readable() ) {
+                PcReturn('T');         // Error;
+                return;
+            }
+            Code = PC.getc();
+            wait_us(200); //100ms 以内
+            if( !PC.readable() ) {
+                PcReturn('T');         // Error;
+                return;
+            }
+            I2cSpeed = ((uint16_t)Code << 8) | PC.getc();
 
-                      PcReturn('S');         // Success;
-                      break;
+            PcReturn('S');         // Success;
+            break;
     }
-   
+
 }
 /* //////////////////////////////////////////////////////////////////////// */
 /* // メイン処理 ////////////////////////////////////////////////////////// */
 /* //////////////////////////////////////////////////////////////////////// */
-int main(void)  
+int main(void)
 {
-     //// PC 通信設定  //////////// 
-     PC.baud(PCBAUD);                             /* PC間フォーマット設定 ボ-レート */
-     I2cSpeed = I2CSPEED;
-     PC.printf("Progam Start!\n");    
-     while( true )
-     {
+    //// PC 通信設定  ////////////
+    PC.baud(PCBAUD);                             /* PC間フォーマット設定 ボ-レート */
+    I2cSpeed = I2CSPEED;
+    PC.printf("Progam Start!\n");
+    while( true ) {
         Command();              //PC   =>PCB Command
-    } 
+    }
 }
-        
+