35
35
36
36
try :
37
37
# Used only for type annotations.
38
+
39
+ import typing # pylint: disable=unused-import
40
+
41
+ from circuitpython_typing import ReadableBuffer
38
42
from busio import I2C , SPI
39
43
from digitalio import DigitalInOut
44
+
40
45
except ImportError :
41
46
pass
42
47
111
116
)
112
117
113
118
114
- def _read24 (arr : bytearray ) -> float :
119
+ def _read24 (arr : ReadableBuffer ) -> float :
115
120
"""Parse an unsigned 24-bit value as a floating point and return it."""
116
121
ret = 0.0
117
122
# print([hex(i) for i in arr])
@@ -392,10 +397,10 @@ def _read_byte(self, register: int) -> int:
392
397
"""Read a byte register value and return it"""
393
398
return self ._read (register , 1 )[0 ]
394
399
395
- def _read (self , register : int , length : int ) -> None :
400
+ def _read (self , register : int , length : int ) -> bytearray :
396
401
raise NotImplementedError ()
397
402
398
- def _write (self , register : int , values ) -> None :
403
+ def _write (self , register : int , values : bytearray ) -> None :
399
404
raise NotImplementedError ()
400
405
401
406
@@ -471,7 +476,7 @@ def _read(self, register: int, length: int) -> bytearray:
471
476
print ("\t $%02X => %s" % (register , [hex (i ) for i in result ]))
472
477
return result
473
478
474
- def _write (self , register : int , values : int ) -> None :
479
+ def _write (self , register : int , values : ReadableBuffer ) -> None :
475
480
"""Writes an array of 'length' bytes to the 'register'"""
476
481
with self ._i2c as i2c :
477
482
buffer = bytearray (2 * len (values ))
@@ -540,7 +545,7 @@ def __init__(
540
545
debug : bool = False ,
541
546
* ,
542
547
refresh_rate : int = 10
543
- ):
548
+ ) -> None :
544
549
from adafruit_bus_device import ( # pylint: disable=import-outside-toplevel
545
550
spi_device ,
546
551
)
@@ -549,7 +554,7 @@ def __init__(
549
554
self ._debug = debug
550
555
super ().__init__ (refresh_rate = refresh_rate )
551
556
552
- def _read (self , register : int , length : int ):
557
+ def _read (self , register : int , length : int ) -> bytearray :
553
558
if register != _BME680_REG_STATUS :
554
559
# _BME680_REG_STATUS exists in both SPI memory pages
555
560
# For all other registers, we must set the correct memory page
@@ -564,7 +569,7 @@ def _read(self, register: int, length: int):
564
569
print ("\t $%02X => %s" % (register , [hex (i ) for i in result ]))
565
570
return result
566
571
567
- def _write (self , register : int , values : int ) :
572
+ def _write (self , register : int , values : ReadableBuffer ) -> None :
568
573
if register != _BME680_REG_STATUS :
569
574
# _BME680_REG_STATUS exists in both SPI memory pages
570
575
# For all other registers, we must set the correct memory page
@@ -579,7 +584,7 @@ def _write(self, register: int, values: int):
579
584
if self ._debug :
580
585
print ("\t $%02X <= %s" % (values [0 ], [hex (i ) for i in values [1 :]]))
581
586
582
- def _set_spi_mem_page (self , register : int ):
587
+ def _set_spi_mem_page (self , register : int ) -> None :
583
588
spi_mem_page = 0x00
584
589
if register < 0x80 :
585
590
spi_mem_page = 0x10
0 commit comments