48
48
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_CAP1188.git"
49
49
50
50
# pylint: disable=bad-whitespace
51
- CAP1188_MID = const (0x5D )
52
- CAP1188_PID = const (0x50 )
53
- CAP1188_MAIN_CONTROL = const (0x00 )
54
- CAP1188_GENERAL_STATUS = const (0x02 )
55
- CAP1188_INPUT_STATUS = const (0x03 )
56
- CAP1188_LED_STATUS = const (0x04 )
57
- CAP1188_NOISE_FLAGS = const (0x0A )
58
- CAP1188_DELTA_COUNT = (const (0x10 ),
51
+ _CAP1188_MID = const (0x5D )
52
+ _CAP1188_PID = const (0x50 )
53
+ _CAP1188_MAIN_CONTROL = const (0x00 )
54
+ _CAP1188_GENERAL_STATUS = const (0x02 )
55
+ _CAP1188_INPUT_STATUS = const (0x03 )
56
+ _CAP1188_LED_STATUS = const (0x04 )
57
+ _CAP1188_NOISE_FLAGS = const (0x0A )
58
+ _CAP1188_DELTA_COUNT = (const (0x10 ),
59
59
const (0x11 ),
60
60
const (0x12 ),
61
61
const (0x13 ),
62
62
const (0x14 ),
63
63
const (0x15 ),
64
64
const (0x16 ),
65
65
const (0x17 ))
66
- CAP1188_SENSITIVTY = const (0x1F )
67
- CAP1188_CAL_ACTIVATE = const (0x26 )
68
- CAP1188_MULTI_TOUCH_CFG = const (0x2A )
69
- CAP1188_THESHOLD_1 = const (0x30 )
70
- CAP1188_STANDBY_CFG = const (0x41 )
71
- CAP1188_LED_LINKING = const (0x72 )
72
- CAP1188_PRODUCT_ID = const (0xFD )
73
- CAP1188_MANU_ID = const (0xFE )
74
- CAP1188_REVISION = const (0xFF )
66
+ _CAP1188_SENSITIVTY = const (0x1F )
67
+ _CAP1188_CAL_ACTIVATE = const (0x26 )
68
+ _CAP1188_MULTI_TOUCH_CFG = const (0x2A )
69
+ _CAP1188_THESHOLD_1 = const (0x30 )
70
+ _CAP1188_STANDBY_CFG = const (0x41 )
71
+ _CAP1188_LED_LINKING = const (0x72 )
72
+ _CAP1188_PRODUCT_ID = const (0xFD )
73
+ _CAP1188_MANU_ID = const (0xFE )
74
+ _CAP1188_REVISION = const (0xFF )
75
75
# pylint: enable=bad-whitespace
76
76
77
77
_SENSITIVITY = (128 , 64 , 32 , 16 , 8 , 4 , 2 , 1 )
@@ -97,14 +97,14 @@ def raw_value(self):
97
97
@property
98
98
def threshold (self ):
99
99
"""The touch threshold value."""
100
- return self ._cap1188 ._read_register (CAP1188_THESHOLD_1 + self ._pin - 1 )
100
+ return self ._cap1188 ._read_register (_CAP1188_THESHOLD_1 + self ._pin - 1 )
101
101
102
102
@threshold .setter
103
103
def threshold (self , value ):
104
104
value = int (value )
105
105
if not 0 <= value <= 127 :
106
106
raise ValueError ("Threshold value must be in range 0 to 127." )
107
- self ._cap1188 ._write_register (CAP1188_THESHOLD_1 + self ._pin - 1 , value )
107
+ self ._cap1188 ._write_register (_CAP1188_THESHOLD_1 + self ._pin - 1 , value )
108
108
109
109
def recalibrate (self ):
110
110
"""Perform a self recalibration."""
@@ -114,15 +114,15 @@ def recalibrate(self):
114
114
class CAP1188 :
115
115
"""CAP1188 driver base, must be extended for I2C/SPI interfacing."""
116
116
def __init__ (self ):
117
- mid = self ._read_register (CAP1188_MANU_ID )
118
- if mid != CAP1188_MID :
117
+ mid = self ._read_register (_CAP1188_MANU_ID )
118
+ if mid != _CAP1188_MID :
119
119
raise RuntimeError ('Failed to find CAP1188! Manufacturer ID: 0x{:02x}' .format (mid ))
120
- pid = self ._read_register (CAP1188_PRODUCT_ID )
121
- if pid != CAP1188_PID :
120
+ pid = self ._read_register (_CAP1188_PRODUCT_ID )
121
+ if pid != _CAP1188_PID :
122
122
raise RuntimeError ('Failed to find CAP1188! Product ID: 0x{:02x}' .format (pid ))
123
123
self ._channels = [None ]* 8
124
- self ._write_register (CAP1188_LED_LINKING , 0xFF ) # turn on LED linking
125
- self ._write_register (CAP1188_MULTI_TOUCH_CFG , 0x00 ) # allow multi touch
124
+ self ._write_register (_CAP1188_LED_LINKING , 0xFF ) # turn on LED linking
125
+ self ._write_register (_CAP1188_MULTI_TOUCH_CFG , 0x00 ) # allow multi touch
126
126
self ._write_register (0x2F , 0x10 ) # turn off input-1-sets-all-inputs feature
127
127
self .recalibrate ()
128
128
@@ -132,7 +132,7 @@ def __getitem__(self, key):
132
132
if pin < 1 or pin > 8 :
133
133
raise IndexError ('Pin must be a value 1-8.' )
134
134
if self ._channels [index ] is None :
135
- self ._channels [index ] = CAP1188_Channel (self , pin )
135
+ self ._channels [index ] = _CAP1188_Channel (self , pin )
136
136
return self ._channels [index ]
137
137
138
138
@property
@@ -144,23 +144,23 @@ def touched_pins(self):
144
144
def touched (self ):
145
145
"""Return 8 bit value representing touch state of all pins."""
146
146
# clear the INT bit and any previously touched pins
147
- current = self ._read_register (CAP1188_MAIN_CONTROL )
148
- self ._write_register (CAP1188_MAIN_CONTROL , current & ~ 0x01 )
147
+ current = self ._read_register (_CAP1188_MAIN_CONTROL )
148
+ self ._write_register (_CAP1188_MAIN_CONTROL , current & ~ 0x01 )
149
149
# return only currently touched pins
150
- return self ._read_register (CAP1188_INPUT_STATUS )
150
+ return self ._read_register (_CAP1188_INPUT_STATUS )
151
151
152
152
@property
153
153
def sensitivity (self ):
154
154
"""The sensitvity of touch detections. Range is 1 (least) to 128 (most)."""
155
- return _SENSITIVITY [self ._read_register (CAP1188_SENSITIVTY ) >> 4 & 0x07 ]
155
+ return _SENSITIVITY [self ._read_register (_CAP1188_SENSITIVTY ) >> 4 & 0x07 ]
156
156
157
157
@sensitivity .setter
158
158
def sensitivity (self , value ):
159
159
if value not in _SENSITIVITY :
160
160
raise ValueError ("Sensitivty must be one of: {}" .format (_SENSITIVITY ))
161
161
value = _SENSITIVITY .index (value ) << 4
162
- new_setting = self ._read_register (CAP1188_SENSITIVTY ) & 0x8F | value
163
- self ._write_register (CAP1188_SENSITIVTY , new_setting )
162
+ new_setting = self ._read_register (_CAP1188_SENSITIVTY ) & 0x8F | value
163
+ self ._write_register (_CAP1188_SENSITIVTY , new_setting )
164
164
165
165
@property
166
166
def thresholds (self ):
@@ -172,11 +172,11 @@ def thresholds(self, value):
172
172
value = int (value )
173
173
if not 0 <= value <= 127 :
174
174
raise ValueError ("Threshold value must be in range 0 to 127." )
175
- self ._write_block (CAP1188_THESHOLD_1 , bytearray ((value ,)* 8 ))
175
+ self ._write_block (_CAP1188_THESHOLD_1 , bytearray ((value ,)* 8 ))
176
176
177
177
def threshold_values (self ):
178
178
"""Return tuple of touch threshold values for all channels."""
179
- return tuple (self ._read_block (CAP1188_THESHOLD_1 , 8 ))
179
+ return tuple (self ._read_block (_CAP1188_THESHOLD_1 , 8 ))
180
180
181
181
def recalibrate (self ):
182
182
"""Perform a self recalibration on all the pins."""
@@ -187,13 +187,13 @@ def delta_count(self, pin):
187
187
if pin < 1 or pin > 8 :
188
188
raise IndexError ('Pin must be a value 1-8.' )
189
189
# 8 bit 2's complement
190
- raw_value = self ._read_register (CAP1188_DELTA_COUNT [pin - 1 ])
190
+ raw_value = self ._read_register (_CAP1188_DELTA_COUNT [pin - 1 ])
191
191
raw_value = raw_value - 256 if raw_value & 128 else raw_value
192
192
return raw_value
193
193
194
194
def recalibrate_pins (self , mask ):
195
195
"""Recalibrate pins specified by bit mask."""
196
- self ._write_register (CAP1188_CAL_ACTIVATE , mask )
196
+ self ._write_register (_CAP1188_CAL_ACTIVATE , mask )
197
197
198
198
def _read_register (self , address ):
199
199
"""Return 8 bit value of register at address."""
0 commit comments