32
32
from adafruit_register .i2c_bits import RWBits
33
33
from adafruit_register .i2c_bit import RWBit
34
34
35
+ try :
36
+ import typing # pylint: disable=unused-import
37
+ from busio import I2C
38
+ except ImportError :
39
+ pass
40
+
35
41
__version__ = "0.0.0-auto.0"
36
42
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_TPA2016.git"
37
43
@@ -135,11 +141,11 @@ class TPA2016:
135
141
136
142
"""
137
143
138
- def __init__ (self , i2c_bus ) :
144
+ def __init__ (self , i2c_bus : I2C ) -> None :
139
145
self .i2c_device = i2cdevice .I2CDevice (i2c_bus , 0x58 )
140
146
141
147
@property
142
- def attack_time (self ):
148
+ def attack_time (self ) -> int :
143
149
"""The attack time. This is the minimum time between gain decreases. Set to ``1`` - ``63``
144
150
where 1 = 0.1067ms and the time increases 0.1067ms with each step, for a maximum of 6.722ms.
145
151
Defaults to 5, or 0.5335ms.
@@ -161,14 +167,14 @@ def attack_time(self):
161
167
return self ._attack_control
162
168
163
169
@attack_time .setter
164
- def attack_time (self , value ) :
170
+ def attack_time (self , value : int ) -> None :
165
171
if 1 <= value <= 63 :
166
172
self ._attack_control = value
167
173
else :
168
174
raise ValueError ("Attack time must be 1 to 63!" )
169
175
170
176
@property
171
- def release_time (self ):
177
+ def release_time (self ) -> int :
172
178
"""The release time. This is the minimum time between gain increases. Set to ``1`` - ``63``
173
179
where 1 = 0.0137ms, and the time increases 0.0137ms with each step, for a maximum of
174
180
0.8631ms. Defaults to 11, or 0.1507ms.
@@ -190,14 +196,14 @@ def release_time(self):
190
196
return self ._release_control
191
197
192
198
@release_time .setter
193
- def release_time (self , value ) :
199
+ def release_time (self , value : int ) -> None :
194
200
if 1 <= value <= 63 :
195
201
self ._release_control = value
196
202
else :
197
203
raise ValueError ("Release time must be 1 to 63!" )
198
204
199
205
@property
200
- def hold_time (self ):
206
+ def hold_time (self ) -> int :
201
207
"""The hold time. This is the minimum time between attack and release. Set to ``0`` -
202
208
``63`` where 0 = disabled, and the time increases 0.0137ms with each step, for a maximum of
203
209
0.8631ms. Defaults to 0, or disabled.
@@ -219,14 +225,14 @@ def hold_time(self):
219
225
return self ._hold_time_control
220
226
221
227
@hold_time .setter
222
- def hold_time (self , value ) :
228
+ def hold_time (self , value : int ) -> None :
223
229
if 0 <= value <= 63 :
224
230
self ._hold_time_control = value
225
231
else :
226
232
raise ValueError ("Hold time must be 0 to 63!" )
227
233
228
234
@property
229
- def fixed_gain (self ):
235
+ def fixed_gain (self ) -> int :
230
236
"""The fixed gain of the amplifier in dB. If compression is enabled, fixed gain is
231
237
adjustable from ``–28`` to ``30``. If compression is disabled, fixed gain is adjustable
232
238
from ``0`` to ``30``.
@@ -248,7 +254,7 @@ def fixed_gain(self):
248
254
return self ._fixed_gain_control
249
255
250
256
@fixed_gain .setter
251
- def fixed_gain (self , value ) :
257
+ def fixed_gain (self , value : int ) -> None :
252
258
if self .compression_ratio :
253
259
if - 28 <= value <= 30 :
254
260
ratio = value & 0x3F
@@ -262,26 +268,26 @@ def fixed_gain(self, value):
262
268
raise ValueError ("Compression is disabled, gain must be 0 to 30!" )
263
269
264
270
@property
265
- def output_limiter_level (self ):
271
+ def output_limiter_level (self ) -> float :
266
272
"""The output limiter level in dBV. Must be between ``-6.5`` and ``9``, set in increments
267
273
of 0.5."""
268
274
return - 6.5 + 0.5 * self ._output_limiter_level
269
275
270
276
@output_limiter_level .setter
271
- def output_limiter_level (self , value ) :
277
+ def output_limiter_level (self , value : float ) -> None :
272
278
if - 6.5 <= value <= 9 :
273
279
output = int ((value + 6.5 ) / 0.5 )
274
280
self ._output_limiter_level = output
275
281
else :
276
282
raise ValueError ("Output limiter level must be -6.5 to 9!" )
277
283
278
284
@property
279
- def max_gain (self ):
285
+ def max_gain (self ) -> int :
280
286
"""The max gain in dB. Must be between ``18`` and ``30``."""
281
287
return self ._max_gain + 18
282
288
283
289
@max_gain .setter
284
- def max_gain (self , value ) :
290
+ def max_gain (self , value : int ) -> None :
285
291
if 18 <= value <= 30 :
286
292
max_value = value - 18
287
293
self ._max_gain = max_value
0 commit comments