Test

Dependencies:   mbed-dev-OS5_10_4

Revision:
0:014fad4dfb9d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MySources/AdMember.cpp	Fri Aug 07 07:24:21 2020 +0000
@@ -0,0 +1,179 @@
+/*-------------------------------------------------------------------------------
+Programm Name: AdMember.C
+Version:       1.0
+Sprache:       C
+Compiler:      CrossStudio Ver. 2.0
+Autor:         PS
+Copyright:     PS
+         
+
+Funktion:      Member-Funktion für den A/D Wandlerzugriff
+
+28.10.2012: 
+
+-------------------------------------------------------------------------------*/
+#include "Headers.h"
+
+// uint8_t Ch1[8], Ch2[8];
+
+extern uint8_t ReadAd0In(int n);
+extern uint8_t ReadAd1In(int n);
+
+
+/*-------------------------------------------------------------------------------
+Liest das IO Register beider AD's
+-------------------------------------------------------------------------------*/
+uint8_t ReadAdIoPortRegister(uint8_t Wandler)
+{
+    Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_IO), Wandler);  // 0x41 lesen des I/O Portregisters
+    {
+        AdInRead(Wandler);
+        return(g_AReadTemp);
+    }
+}
+uint8_t ReadAdRevisionRegister(uint8_t Wandler)
+{
+    Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_REV), Wandler);  // 0x42
+    {
+        AdInRead(Wandler);
+        return(g_AReadTemp);
+    }
+}
+uint8_t ReadAdTestRegister(uint8_t Wandler)
+{
+    Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_TEST), Wandler);  // 0x43
+    ReadAd0Ad1In(3);
+    return(true);
+}
+uint8_t ReadAdStatusRegister(uint8_t Wandler) // wird von Main aufgerufen
+{
+    Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_STATUS), Wandler);  // 0x44
+    {
+        AdInRead(Wandler);
+        return(g_AReadTemp);
+    }
+}    
+uint8_t ReadAdCheckSumRegister(uint8_t Wandler)
+{
+    Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_CHKSUM), Wandler);  // 0x45
+    ReadAd0Ad1In(2);
+    return(true);
+}
+uint8_t ReadAdZeroScaleRegister(uint8_t Wandler)
+{
+    Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_ZS_CAL), Wandler);  // 0x46
+    ReadAd0Ad1In(3);
+    return(true);
+}
+uint8_t ReadAdFullScaleRegister(uint8_t Wandler)
+{
+    Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_FS_CAL), Wandler);  // 0x47
+    ReadAd0Ad1In(3);
+    return(true);
+}
+uint8_t ReadAdChnZeroScaleRegister(uint8_t Wandler)
+{
+  int i;
+
+    for(i = 0; i < 4; i++)
+    {
+        Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_C_ZS | i), 0);  // 0x50-57
+        ReadAd0In(3);
+        Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_C_ZS | i), 1);  // 0x50-57
+        ReadAd1In(3);
+#ifdef SINGLE_DEBUG    
+    printf("Wandler 1: %02X %02X %02X\n",g_ReadReg[0], g_ReadReg[1], g_ReadReg[2]);  // Parameter ist egal, liest sowieso beide
+    printf("Wandler 2: %02X %02X %02X\n",g_ReadReg[4], g_ReadReg[5], g_ReadReg[6]);  // Parameter ist egal, liest sowieso beide
+#endif    
+    }
+    return(true);
+}
+uint8_t ReadAdChnFullScaleRegister(uint8_t Wandler)
+{
+  int i;
+
+    for(i = 0; i < 8; i++)
+    {
+        Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_C_FS | i), Wandler);  // 0x58 - 5F
+        ReadAd0Ad1In(3);
+    }
+    return(true);
+}
+
+uint8_t ReadAdChnStatusRegister(uint8_t Chn, uint8_t Wandler)
+{
+    Ad7739OutWrite(AD7739_READ_OP(AD7739_CHANNEL(AD7739_ADDR_C_STAT, Chn)), Wandler);  // 0x60 - 67
+    {
+        AdInRead(Wandler);
+        return(g_AReadTemp);
+    }
+}
+uint8_t ReadAdChnSetupRegister(uint8_t Wandler)
+{
+  int i;
+
+    for(i = 0; i < 8; i++)
+    {
+        Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_C_SET | i), Wandler);  // 0x68 - 6F
+        ReadAd0Ad1In(1);
+    }
+    return(true);
+}
+uint8_t ReadAdConvTimeRegister(uint8_t Wandler)
+{
+  int i;
+
+    for(i = 0; i < 8; i++)
+    {
+        Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_C_CT | i), Wandler);  // 0x70 - 77
+        ReadAd0Ad1In(1);
+    }
+    return(true);
+}
+uint8_t ReadAdChnModeRegister(uint8_t Wandler)
+{
+    Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_MODE), Wandler);  // 0x70 - 77
+    ReadAd0Ad1In(1);
+    return(true);
+}
+
+uint8_t ReadAd0In(int n)
+{
+    int i;
+
+    for(i=0;i<n;i++)
+    {
+        AdInRead(0);  // 
+        g_ReadReg[i] = g_AReadTemp;
+    }
+    return(true);
+}
+uint8_t ReadAd1In(int n)
+{
+  int i;
+
+  for(i=0;i<n;i++)
+    {
+        AdInRead(1);  // 
+        g_ReadReg[i+4] = g_AReadTemp;
+    }
+    return(true);
+}
+
+
+uint8_t ReadAd0Ad1In(int n)
+{
+  int i;
+
+    for(i=0;i<n;i++)
+    {
+        AdInRead(0);  // 
+        g_ReadReg[i] = g_AReadTemp;
+    }
+    for(i=0;i<n;i++)
+    {
+        AdInRead(1);  // 
+        g_ReadReg[i+4] = g_AReadTemp;
+    }
+    return(true);
+}
\ No newline at end of file