tpa
TPA81new.cpp@0:90ed652031fd, 2018-12-16 (annotated)
- Committer:
- hisyamfs
- Date:
- Sun Dec 16 01:52:53 2018 +0000
- Revision:
- 0:90ed652031fd
test board v1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hisyamfs | 0:90ed652031fd | 1 | #include "TPA81new.h" |
hisyamfs | 0:90ed652031fd | 2 | |
hisyamfs | 0:90ed652031fd | 3 | TPA81::TPA81(PinName mysda, PinName myscl, char TPA_addr): _TPA(mysda,myscl) { |
hisyamfs | 0:90ed652031fd | 4 | _delay = 51; |
hisyamfs | 0:90ed652031fd | 5 | _addr = TPA_addr; |
hisyamfs | 0:90ed652031fd | 6 | } |
hisyamfs | 0:90ed652031fd | 7 | |
hisyamfs | 0:90ed652031fd | 8 | void TPA81::setAddress(char inAddr) { |
hisyamfs | 0:90ed652031fd | 9 | _addr = inAddr; |
hisyamfs | 0:90ed652031fd | 10 | } |
hisyamfs | 0:90ed652031fd | 11 | |
hisyamfs | 0:90ed652031fd | 12 | void TPA81::changeaddress(char oldAddr, char newAddr) { |
hisyamfs | 0:90ed652031fd | 13 | _addr = oldAddr; |
hisyamfs | 0:90ed652031fd | 14 | char data[2]; |
hisyamfs | 0:90ed652031fd | 15 | data[0] = 0; |
hisyamfs | 0:90ed652031fd | 16 | data[1] = 0xA0; |
hisyamfs | 0:90ed652031fd | 17 | _TPA.write(_addr,data,2,false); |
hisyamfs | 0:90ed652031fd | 18 | wait_us(100); |
hisyamfs | 0:90ed652031fd | 19 | data[1] = 0xAA; |
hisyamfs | 0:90ed652031fd | 20 | _TPA.write(_addr,data,2,false); |
hisyamfs | 0:90ed652031fd | 21 | wait_us(100); |
hisyamfs | 0:90ed652031fd | 22 | data[1] = 0xA5; |
hisyamfs | 0:90ed652031fd | 23 | _TPA.write(_addr,data,2,false); |
hisyamfs | 0:90ed652031fd | 24 | wait_us(100); |
hisyamfs | 0:90ed652031fd | 25 | data[1] = newAddr; |
hisyamfs | 0:90ed652031fd | 26 | _TPA.write(_addr,data,2,false); |
hisyamfs | 0:90ed652031fd | 27 | wait_us(100); |
hisyamfs | 0:90ed652031fd | 28 | } |
hisyamfs | 0:90ed652031fd | 29 | |
hisyamfs | 0:90ed652031fd | 30 | int TPA81::getTempAt() { |
hisyamfs | 0:90ed652031fd | 31 | _cmd[0] = 1; |
hisyamfs | 0:90ed652031fd | 32 | _cmd[1] = 1; |
hisyamfs | 0:90ed652031fd | 33 | |
hisyamfs | 0:90ed652031fd | 34 | _TPA.write(_addr, _cmd, 2); |
hisyamfs | 0:90ed652031fd | 35 | _TPA.read(_addr, _cmd, 1); |
hisyamfs | 0:90ed652031fd | 36 | |
hisyamfs | 0:90ed652031fd | 37 | return _cmd[0]; |
hisyamfs | 0:90ed652031fd | 38 | } |
hisyamfs | 0:90ed652031fd | 39 | |
hisyamfs | 0:90ed652031fd | 40 | int TPA81::getTemp(short i) { |
hisyamfs | 0:90ed652031fd | 41 | _cmd[0] = i; |
hisyamfs | 0:90ed652031fd | 42 | _cmd[1] = i; |
hisyamfs | 0:90ed652031fd | 43 | |
hisyamfs | 0:90ed652031fd | 44 | _TPA.write(_addr, _cmd, 2); |
hisyamfs | 0:90ed652031fd | 45 | _TPA.read(_addr, _cmd, 1); |
hisyamfs | 0:90ed652031fd | 46 | |
hisyamfs | 0:90ed652031fd | 47 | return _cmd[0]; |
hisyamfs | 0:90ed652031fd | 48 | } |
hisyamfs | 0:90ed652031fd | 49 | |
hisyamfs | 0:90ed652031fd | 50 | unsigned int TPA81::Ambient(){ |
hisyamfs | 0:90ed652031fd | 51 | return getTemp(1); |
hisyamfs | 0:90ed652031fd | 52 | } |
hisyamfs | 0:90ed652031fd | 53 | |
hisyamfs | 0:90ed652031fd | 54 | void TPA81::Read() |
hisyamfs | 0:90ed652031fd | 55 | { |
hisyamfs | 0:90ed652031fd | 56 | for (short i = 2; i < 10; i++) |
hisyamfs | 0:90ed652031fd | 57 | { |
hisyamfs | 0:90ed652031fd | 58 | Data[i-2]=getTemp(i)-getTemp(1); |
hisyamfs | 0:90ed652031fd | 59 | if(Data[i-2]<0){ |
hisyamfs | 0:90ed652031fd | 60 | Data[i-2] = 0; |
hisyamfs | 0:90ed652031fd | 61 | } |
hisyamfs | 0:90ed652031fd | 62 | } |
hisyamfs | 0:90ed652031fd | 63 | |
hisyamfs | 0:90ed652031fd | 64 | } |
hisyamfs | 0:90ed652031fd | 65 | |
hisyamfs | 0:90ed652031fd | 66 | unsigned char TPA81::IsAdaApi() |
hisyamfs | 0:90ed652031fd | 67 | { |
hisyamfs | 0:90ed652031fd | 68 | int i; |
hisyamfs | 0:90ed652031fd | 69 | |
hisyamfs | 0:90ed652031fd | 70 | Read(); |
hisyamfs | 0:90ed652031fd | 71 | i=Data[0]+Data[1]+Data[2]+Data[3]+Data[4]+Data[5]+Data[6]+Data[7]; |
hisyamfs | 0:90ed652031fd | 72 | if (i>400) |
hisyamfs | 0:90ed652031fd | 73 | return(1); |
hisyamfs | 0:90ed652031fd | 74 | else |
hisyamfs | 0:90ed652031fd | 75 | return(0);; |
hisyamfs | 0:90ed652031fd | 76 | } |
hisyamfs | 0:90ed652031fd | 77 | |
hisyamfs | 0:90ed652031fd | 78 | unsigned int TPA81::TingkatPanas() |
hisyamfs | 0:90ed652031fd | 79 | { |
hisyamfs | 0:90ed652031fd | 80 | int i; |
hisyamfs | 0:90ed652031fd | 81 | |
hisyamfs | 0:90ed652031fd | 82 | Read(); |
hisyamfs | 0:90ed652031fd | 83 | i=Data[0]+Data[1]+Data[2]+Data[3]+Data[4]+Data[5]+Data[6]+Data[7]; |
hisyamfs | 0:90ed652031fd | 84 | return i; |
hisyamfs | 0:90ed652031fd | 85 | } |
hisyamfs | 0:90ed652031fd | 86 | |
hisyamfs | 0:90ed652031fd | 87 | /*unsigned int TPA81::TingkatPanas() |
hisyamfs | 0:90ed652031fd | 88 | { |
hisyamfs | 0:90ed652031fd | 89 | int i; |
hisyamfs | 0:90ed652031fd | 90 | unsigned int x; |
hisyamfs | 0:90ed652031fd | 91 | |
hisyamfs | 0:90ed652031fd | 92 | Read(); |
hisyamfs | 0:90ed652031fd | 93 | for(i=1;i<9;i++){ |
hisyamfs | 0:90ed652031fd | 94 | if(Data[i-1]<Data[i]){ |
hisyamfs | 0:90ed652031fd | 95 | x = Data[i]; |
hisyamfs | 0:90ed652031fd | 96 | } |
hisyamfs | 0:90ed652031fd | 97 | else{ |
hisyamfs | 0:90ed652031fd | 98 | x = Data[i-1]; |
hisyamfs | 0:90ed652031fd | 99 | } |
hisyamfs | 0:90ed652031fd | 100 | } |
hisyamfs | 0:90ed652031fd | 101 | return x; |
hisyamfs | 0:90ed652031fd | 102 | }*/ |