|
56 | 56 |
|
57 | 57 | # User-facing constants:
|
58 | 58 | # Number of proximity measuremenrs per second
|
59 |
| -FREQUENCY_1_95 = 0 |
60 |
| -FREQUENCY_3_90625 = 1 |
61 |
| -FREQUENCY_7_8125 = 2 |
62 |
| -FREQUENCY_16_625 = 3 |
63 |
| -FREQUENCY_31_25 = 4 |
64 |
| -FREQUENCY_62_5 = 5 |
65 |
| -FREQUENCY_125 = 6 |
66 |
| -FREQUENCY_250 = 7 |
| 59 | +SAMPLERATE_1_95 = 0 |
| 60 | +SAMPLERATE_3_90625 = 1 |
| 61 | +SAMPLERATE_7_8125 = 2 |
| 62 | +SAMPLERATE_16_625 = 3 |
| 63 | +SAMPLERATE_31_25 = 4 |
| 64 | +SAMPLERATE_62_5 = 5 |
| 65 | +SAMPLERATE_125 = 6 |
| 66 | +SAMPLERATE_250 = 7 |
67 | 67 |
|
68 | 68 | # Proximity modulator timing
|
69 |
| -MODULATION_3M125 = 3 |
70 |
| -MODULATION_1M5625 = 2 |
71 |
| -MODULATION_781K25 = 1 |
72 |
| -MODULATION_390K625 = 0 |
| 69 | +FREQUENCY_3M125 = 3 |
| 70 | +FREQUENCY_1M5625 = 2 |
| 71 | +FREQUENCY_781K25 = 1 |
| 72 | +FREQUENCY_390K625 = 0 |
73 | 73 |
|
74 | 74 | # Disable pylint's name warning as it causes too much noise. Suffixes like
|
75 | 75 | # BE (big-endian) or mA (milli-amps) don't confirm to its conventions--by
|
@@ -124,8 +124,8 @@ def __init__(self, i2c, address=_VCNL4010_I2CADDR_DEFAULT):
|
124 | 124 | if (revision & 0xF0) != 0x20:
|
125 | 125 | raise RuntimeError("Failed to find VCNL4010, check wiring!")
|
126 | 126 | self.led_current = 20
|
127 |
| - self.frequency = FREQUENCY_1_95 |
128 |
| - self.modulation = MODULATION_390K625 |
| 127 | + self.samplerate = SAMPLERATE_1_95 |
| 128 | + self.frequency = FREQUENCY_390K625 |
129 | 129 | self._write_u8(_VCNL4010_INTCONTROL, 0x08)
|
130 | 130 |
|
131 | 131 | def _read_u8(self, address):
|
@@ -180,43 +180,48 @@ def led_current_mA(self, val):
|
180 | 180 | self.led_current = val // 10
|
181 | 181 |
|
182 | 182 | @property
|
183 |
| - def frequency(self): |
| 183 | + def samplerate(self): |
184 | 184 | """
|
185 | 185 | The frequency of proximity measurements per second. Must be a value of:
|
186 | 186 |
|
187 |
| - - FREQUENCY_1_95: 1.95 measurements/sec (default) |
188 |
| - - FREQUENCY_3_90625: 3.90625 measurements/sec |
189 |
| - - FREQUENCY_7_8125: 7.8125 measurements/sec |
190 |
| - - FREQUENCY_16_625: 16.625 measurements/sec |
191 |
| - - FREQUENCY_31_25: 31.25 measurements/sec |
192 |
| - - FREQUENCY_62_5: 62.5 measurements/sec |
193 |
| - - FREQUENCY_125: 125 measurements/sec |
194 |
| - - FREQUENCY_250: 250 measurements/sec |
| 187 | + - SAMPLERATE_1_95: 1.95 measurements/sec (default) |
| 188 | + - SAMPLERATE_3_90625: 3.90625 measurements/sec |
| 189 | + - SAMPLERATE_7_8125: 7.8125 measurements/sec |
| 190 | + - SAMPLERATE_16_625: 16.625 measurements/sec |
| 191 | + - SAMPLERATE_31_25: 31.25 measurements/sec |
| 192 | + - SAMPLERATE_62_5: 62.5 measurements/sec |
| 193 | + - SAMPLERATE_125: 125 measurements/sec |
| 194 | + - SAMPLERATE_250: 250 measurements/sec |
195 | 195 |
|
196 | 196 | See the datasheet for how frequency changes the power consumption and
|
197 | 197 | proximity detection accuracy.
|
198 | 198 | """
|
199 | 199 | return self._read_u8(_VCNL4010_PROXRATE)
|
200 | 200 |
|
201 |
| - @frequency.setter |
202 |
| - def frequency(self, val): |
| 201 | + @samplerate.setter |
| 202 | + def samplerate(self, val): |
203 | 203 | assert 0 <= val <= 7
|
204 | 204 | self._write_u8(_VCNL4010_PROXRATE, val)
|
205 | 205 |
|
206 | 206 | @property
|
207 |
| - def modulation(self): |
| 207 | + def frequency(self): |
208 | 208 | """
|
209 |
| - Proximity modulator timimg. Must be a value of: |
210 |
| -
|
211 |
| - - MODULATION_3M125: 3.125 Mhz |
212 |
| - - MODULATION_1M5625: 1.5625 Mhz |
213 |
| - - MODULATION_781K25: 781.25 Khz |
214 |
| - - MODULATION_390K625: 390.625 Khz (default) |
| 209 | + Proximity modulator timimg. This is the frequency of the IR square |
| 210 | + wave used for the proximity measurement. |
| 211 | + |
| 212 | + Must be a value of: |
| 213 | +
|
| 214 | + - FREQUENCY_3M125: 3.125 Mhz |
| 215 | + - FREQUENCY_1M5625: 1.5625 Mhz |
| 216 | + - FREQUENCY_781K25: 781.25 Khz |
| 217 | + - FREQUENCY_390K625: 390.625 Khz (default) |
| 218 | + |
| 219 | + The datasheet recommended leaving this at the default. |
215 | 220 | """
|
216 | 221 | return (self._read_u8(_VCNL4010_MODTIMING) >> 3) & 0x03
|
217 | 222 |
|
218 |
| - @modulation.setter |
219 |
| - def modulation(self, val): |
| 223 | + @frequency.setter |
| 224 | + def frequency(self, val): |
220 | 225 | assert 0 <= val <= 3
|
221 | 226 | timing = self._read_u8(_VCNL4010_MODTIMING)
|
222 | 227 | timing &= ~0b00011000
|
|
0 commit comments