tpa
Embed:
(wiki syntax)
Show/hide line numbers
TPA81new.cpp
00001 #include "TPA81new.h" 00002 00003 TPA81::TPA81(PinName mysda, PinName myscl, char TPA_addr): _TPA(mysda,myscl) { 00004 _delay = 51; 00005 _addr = TPA_addr; 00006 } 00007 00008 void TPA81::setAddress(char inAddr) { 00009 _addr = inAddr; 00010 } 00011 00012 void TPA81::changeaddress(char oldAddr, char newAddr) { 00013 _addr = oldAddr; 00014 char data[2]; 00015 data[0] = 0; 00016 data[1] = 0xA0; 00017 _TPA.write(_addr,data,2,false); 00018 wait_us(100); 00019 data[1] = 0xAA; 00020 _TPA.write(_addr,data,2,false); 00021 wait_us(100); 00022 data[1] = 0xA5; 00023 _TPA.write(_addr,data,2,false); 00024 wait_us(100); 00025 data[1] = newAddr; 00026 _TPA.write(_addr,data,2,false); 00027 wait_us(100); 00028 } 00029 00030 int TPA81::getTempAt() { 00031 _cmd[0] = 1; 00032 _cmd[1] = 1; 00033 00034 _TPA.write(_addr, _cmd, 2); 00035 _TPA.read(_addr, _cmd, 1); 00036 00037 return _cmd[0]; 00038 } 00039 00040 int TPA81::getTemp(short i) { 00041 _cmd[0] = i; 00042 _cmd[1] = i; 00043 00044 _TPA.write(_addr, _cmd, 2); 00045 _TPA.read(_addr, _cmd, 1); 00046 00047 return _cmd[0]; 00048 } 00049 00050 unsigned int TPA81::Ambient(){ 00051 return getTemp(1); 00052 } 00053 00054 void TPA81::Read() 00055 { 00056 for (short i = 2; i < 10; i++) 00057 { 00058 Data[i-2]=getTemp(i)-getTemp(1); 00059 if(Data[i-2]<0){ 00060 Data[i-2] = 0; 00061 } 00062 } 00063 00064 } 00065 00066 unsigned char TPA81::IsAdaApi() 00067 { 00068 int i; 00069 00070 Read(); 00071 i=Data[0]+Data[1]+Data[2]+Data[3]+Data[4]+Data[5]+Data[6]+Data[7]; 00072 if (i>400) 00073 return(1); 00074 else 00075 return(0);; 00076 } 00077 00078 unsigned int TPA81::TingkatPanas() 00079 { 00080 int i; 00081 00082 Read(); 00083 i=Data[0]+Data[1]+Data[2]+Data[3]+Data[4]+Data[5]+Data[6]+Data[7]; 00084 return i; 00085 } 00086 00087 /*unsigned int TPA81::TingkatPanas() 00088 { 00089 int i; 00090 unsigned int x; 00091 00092 Read(); 00093 for(i=1;i<9;i++){ 00094 if(Data[i-1]<Data[i]){ 00095 x = Data[i]; 00096 } 00097 else{ 00098 x = Data[i-1]; 00099 } 00100 } 00101 return x; 00102 }*/
Generated on Sat Jul 23 2022 07:12:26 by
1.7.2