Skip to content

Commit 1057858

Browse files
authored
Merge pull request #47 from tcfranks/main
Suggesting an error message solution
2 parents 0cc51c3 + 0bb4692 commit 1057858

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

adafruit_pca9685.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def duty_cycle(self) -> int:
8282
@duty_cycle.setter
8383
def duty_cycle(self, value: int) -> None:
8484
if not 0 <= value <= 0xFFFF:
85-
raise ValueError("Out of range")
85+
raise ValueError(f"Out of range: value {value} not 0 <= value <= 65,535")
8686

8787
if value == 0xFFFF:
8888
self._pca.pwm_regs[self._index] = (0x1000, 0)
@@ -136,7 +136,7 @@ def __init__(
136136
i2c_bus: I2C,
137137
*,
138138
address: int = 0x40,
139-
reference_clock_speed: int = 25000000
139+
reference_clock_speed: int = 25000000,
140140
) -> None:
141141
self.i2c_device = i2c_device.I2CDevice(i2c_bus, address)
142142
self.channels = PCAChannels(self)
@@ -152,7 +152,12 @@ def reset(self) -> None:
152152
@property
153153
def frequency(self) -> float:
154154
"""The overall PWM frequency in Hertz."""
155-
return self.reference_clock_speed / 4096 / self.prescale_reg
155+
prescale_result = self.prescale_reg
156+
if prescale_result < 3:
157+
raise ValueError(
158+
"The device pre_scale register (0xFE) was not read or returned a value < 3"
159+
)
160+
return self.reference_clock_speed / 4096 / prescale_result
156161

157162
@frequency.setter
158163
def frequency(self, freq: float) -> None:

0 commit comments

Comments
 (0)