Skip to content

Commit d67387c

Browse files
authored
Merge pull request #4 from adafruit/pylint-update
Ran black, updated to pylint 2.x
2 parents b481ac2 + 12c00ce commit d67387c

File tree

6 files changed

+151
-125
lines changed

6 files changed

+151
-125
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
source actions-ci/install.sh
4141
- name: Pip install pylint, black, & Sphinx
4242
run: |
43-
pip install --force-reinstall pylint==1.9.2 black==19.10b0 Sphinx sphinx-rtd-theme
43+
pip install --force-reinstall pylint black==19.10b0 Sphinx sphinx-rtd-theme
4444
- name: Library version
4545
run: git describe --dirty --always --tags
4646
- name: PyLint

adafruit_mcp4728.py

Lines changed: 42 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353

5454
_MCP4728_CH_A_MULTI_EEPROM = 0x50
5555

56+
5657
class CV:
5758
"""struct helper"""
5859

@@ -73,14 +74,15 @@ def is_valid(cls, value):
7374
"Returns true if the given value is a member of the CV"
7475
return value in cls.string
7576

77+
7678
class Vref(CV):
7779
"""Options for ``vref``"""
78-
pass #pylint: disable=unnecessary-pass
7980

80-
Vref.add_values((
81-
('VDD', 0, "VDD", None),
82-
('INTERNAL', 1, "Internal 2.048V", None),
83-
))
81+
pass # pylint: disable=unnecessary-pass
82+
83+
84+
Vref.add_values((("VDD", 0, "VDD", None), ("INTERNAL", 1, "Internal 2.048V", None),))
85+
8486

8587
class MCP4728:
8688
"""Helper library for the Microchip MCP4728 I2C 12-bit Quad DAC.
@@ -103,9 +105,9 @@ def __init__(self, i2c_bus, address=_MCP4728_DEFAULT_ADDRESS):
103105

104106
@staticmethod
105107
def _get_flags(high_byte):
106-
vref = (high_byte & 1<<7) > 0
107-
gain = (high_byte & 1<<4) > 0
108-
power_state = (high_byte & 0b011<<5)>>5
108+
vref = (high_byte & 1 << 7) > 0
109+
gain = (high_byte & 1 << 4) > 0
110+
power_state = (high_byte & 0b011 << 5) >> 5
109111
return (vref, gain, power_state)
110112

111113
@staticmethod
@@ -122,7 +124,9 @@ def _read_registers(self):
122124
# and 3 for the eeprom. Here we only care about the output regoster so we throw out
123125
# the eeprom values as 'n/a'
124126
current_values = []
125-
for header, high_byte, low_byte, na_1, na_2, na_3 in self._chunk(buf, 6):#pylint:disable=unused-variable
127+
# pylint:disable=unused-variable
128+
for header, high_byte, low_byte, na_1, na_2, na_3 in self._chunk(buf, 6):
129+
# pylint:enable=unused-variable
126130
value = (high_byte & 0b00001111) << 8 | low_byte
127131
vref, gain, power_state = self._get_flags(high_byte)
128132
current_values.append((value, vref, gain, power_state))
@@ -149,15 +153,15 @@ def _write_multi_eeprom(self, byte_list):
149153
with self.i2c_device as i2c:
150154
i2c.write(buf)
151155

152-
sleep(0.015) # the better to write you with
156+
sleep(0.015) # the better to write you with
153157

154158
def sync_vrefs(self):
155159
"""Syncs the driver's vref state with the DAC"""
156160
gain_setter_command = 0b10000000
157-
gain_setter_command |= (self.channel_a.vref<<3)
158-
gain_setter_command |= (self.channel_b.vref<<2)
159-
gain_setter_command |= (self.channel_c.vref<<1)
160-
gain_setter_command |= (self.channel_d.vref)
161+
gain_setter_command |= self.channel_a.vref << 3
162+
gain_setter_command |= self.channel_b.vref << 2
163+
gain_setter_command |= self.channel_c.vref << 1
164+
gain_setter_command |= self.channel_d.vref
161165

162166
buf = bytearray(1)
163167
pack_into(">B", buf, 0, gain_setter_command)
@@ -168,10 +172,10 @@ def sync_gains(self):
168172
"""Syncs the driver's gain state with the DAC"""
169173

170174
sync_setter_command = 0b11000000
171-
sync_setter_command |= (self.channel_a.gain<<3)
172-
sync_setter_command |= (self.channel_b.gain<<2)
173-
sync_setter_command |= (self.channel_c.gain<<1)
174-
sync_setter_command |= (self.channel_d.gain)
175+
sync_setter_command |= self.channel_a.gain << 3
176+
sync_setter_command |= self.channel_b.gain << 2
177+
sync_setter_command |= self.channel_c.gain << 1
178+
sync_setter_command |= self.channel_d.gain
175179

176180
buf = bytearray(1)
177181
pack_into(">B", buf, 0, sync_setter_command)
@@ -183,8 +187,8 @@ def _set_value(self, channel):
183187

184188
channel_bytes = self._generate_bytes_with_flags(channel)
185189

186-
write_command_byte = 0b01000000 # 0 1 0 0 0 DAC1 DAC0 UDAC
187-
write_command_byte |= (channel.channel_index<<1)
190+
write_command_byte = 0b01000000 # 0 1 0 0 0 DAC1 DAC0 UDAC
191+
write_command_byte |= channel.channel_index << 1
188192

189193
output_buffer = bytearray([write_command_byte])
190194
output_buffer.extend(channel_bytes)
@@ -206,23 +210,25 @@ def _generate_bytes_with_flags(channel):
206210
def _chunk(big_list, chunk_size):
207211
"""Divides a given list into `chunk_size` sized chunks"""
208212
for i in range(0, len(big_list), chunk_size):
209-
yield big_list[i:i+chunk_size]
213+
yield big_list[i : i + chunk_size]
214+
210215

211216
class Channel:
212217
"""An instance of a single channel for a multi-channel DAC.
213218
214219
**All available channels are created automatically and should not be created by the user**"""
220+
215221
def __init__(self, dac_instance, cache_page, index):
216-
self._vref = cache_page['vref']
217-
self._gain = cache_page['gain']
218-
self._raw_value = cache_page['value']
222+
self._vref = cache_page["vref"]
223+
self._gain = cache_page["gain"]
224+
self._raw_value = cache_page["value"]
219225
self._dac = dac_instance
220226
self.channel_index = index
221227

222228
@property
223229
def normalized_value(self):
224230
"""The DAC value as a floating point number in the range 0.0 to 1.0."""
225-
return self.raw_value / (2**12-1)
231+
return self.raw_value / (2 ** 12 - 1)
226232

227233
@normalized_value.setter
228234
def normalized_value(self, value):
@@ -235,12 +241,14 @@ def normalized_value(self, value):
235241
def value(self):
236242
"""The 16-bit scaled current value for the channel. Note that the MCP4728 is a 12-bit piece
237243
so quantization errors will occour"""
238-
return self.normalized_value * (2**16-1)
244+
return self.normalized_value * (2 ** 16 - 1)
239245

240246
@value.setter
241247
def value(self, value):
242-
if value < 0 or value > (2**16-1):
243-
raise AttributeError("`value` must be a 16-bit integer between 0 and %s"%(2**16-1))
248+
if value < 0 or value > (2 ** 16 - 1):
249+
raise AttributeError(
250+
"`value` must be a 16-bit integer between 0 and %s" % (2 ** 16 - 1)
251+
)
244252

245253
# Scale from 16-bit to 12-bit value (quantization errors will occur!).
246254
self.raw_value = value >> 4
@@ -252,12 +260,14 @@ def raw_value(self):
252260

253261
@raw_value.setter
254262
def raw_value(self, value):
255-
if value < 0 or value > (2**12-1):
256-
raise AttributeError("`raw_value` must be a 12-bit integer between 0 and %s"%(2**12-1))
263+
if value < 0 or value > (2 ** 12 - 1):
264+
raise AttributeError(
265+
"`raw_value` must be a 12-bit integer between 0 and %s" % (2 ** 12 - 1)
266+
)
257267
self._raw_value = value
258268
# disabling the protected access warning here because making it public would be
259269
# more confusing
260-
self._dac._set_value(self) #pylint:disable=protected-access
270+
self._dac._set_value(self) # pylint:disable=protected-access
261271

262272
@property
263273
def gain(self):
@@ -272,7 +282,7 @@ def gain(self):
272282
def gain(self, value):
273283
if not value in (1, 2):
274284
raise AttributeError("`gain` must be 1 or 2")
275-
self._gain = value-1
285+
self._gain = value - 1
276286
self._dac.sync_gains()
277287

278288
@property

0 commit comments

Comments
 (0)