File tree Expand file tree Collapse file tree 1 file changed +11
-10
lines changed
Expand file tree Collapse file tree 1 file changed +11
-10
lines changed Original file line number Diff line number Diff line change 77 http://www.micropython.org.cn
88
99'''
10+ from micropython import const
1011from machine import I2C
1112
1213BMP280_I2C_ADDR = const (0x76 )
1314
1415class BMP280 ():
1516 def __init__ (self , i2c ):
1617 self .i2c = i2c
18+ self .tb = bytearray (1 )
19+ self .rb = bytearray (1 )
1720 self .dig_T1 = self .get2Reg (0x88 )
1821 self .dig_T2 = self .short (self .get2Reg (0x8A ))
1922 self .dig_T3 = self .short (self .get2Reg (0x8C ))
@@ -41,22 +44,20 @@ def short(self, dat):
4144 return dat - 65536
4245 else :
4346 return dat
44-
47+
4548 # set reg
4649 def setReg (self , reg , dat ):
47- self .i2c .writeto (BMP280_I2C_ADDR , bytearray ([reg , dat ]))
48-
50+ self .tb [0 ] = dat
51+ self .i2c .writeto_mem (BMP280_I2C_ADDR , reg , self .tb )
52+
4953 # get reg
5054 def getReg (self , reg ):
51- self .i2c .writeto (BMP280_I2C_ADDR , bytearray ([reg ]))
52- t = self .i2c .readfrom (BMP280_I2C_ADDR , 1 )
53- return t [0 ]
54-
55+ self .i2c .readfrom_mem_into (BMP280_I2C_ADDR , reg , self .rb )
56+ return self .rb [0 ]
57+
5558 # get two reg
5659 def get2Reg (self , reg ):
57- self .i2c .writeto (BMP280_I2C_ADDR , bytearray ([reg ]))
58- t = self .i2c .readfrom (BMP280_I2C_ADDR , 2 )
59- return t [0 ] + t [1 ]* 256
60+ return self .getReg (reg ) + self .getReg (reg + 1 ) * 256
6061
6162 def get (self ):
6263 adc_T = (self .getReg (0xFA )<< 12 ) + (self .getReg (0xFB )<< 4 ) + (self .getReg (0xFC )>> 4 )
You can’t perform that action at this time.
0 commit comments