@@ -115,33 +115,24 @@ def _get_coords(self):
115115touch_cnt = self ._buf [0 ]& 0x0F
116116status = self ._buf [0 ]& 0x80
117117
118- if status and touch_cnt == 1 :
119- self ._i2c .read_mem (_POINT_1_REG ,buf = self ._mv )
118+ if status :
119+ if touch_cnt == 1 :
120+ self ._i2c .read_mem (_POINT_1_REG ,buf = self ._mv )
120121
121- x = self ._buf [0 ]+ (self ._buf [1 ]<< 8 )
122- y = self ._buf [2 ]+ (self ._buf [3 ]<< 8 )
122+ x = self ._buf [0 ]+ (self ._buf [1 ]<< 8 )
123+ y = self ._buf [2 ]+ (self ._buf [3 ]<< 8 )
123124
124- self ._buf [0 ]= 0x00
125- self ._i2c .write_mem (_STATUS_REG ,buf = self ._mv [:1 ])
126-
127- self .__x = x
128- self .__y = y
129- self .__last_state = self .PRESSED
125+ self ._buf [0 ]= 0x00
126+ self ._i2c .write_mem (_STATUS_REG ,buf = self ._mv [:1 ])
130127
131- self ._buf [0 ]= 0x00
132- self ._i2c .write_mem (_STATUS_REG ,buf = self ._mv [:1 ])
128+ self .__x = x
129+ self .__y = y
130+ self .__last_state = self .PRESSED
133131
134- return self .PRESSED ,x ,y
132+ elif touch_cnt == 0 :
133+ self .__last_state = self .RELEASED
135134
136- elif status and touch_cnt > 1 and self .__last_state == self .PRESSED :
137135self ._buf [0 ]= 0x00
138136self ._i2c .write_mem (_STATUS_REG ,buf = self ._mv [:1 ])
139137
140- return self .PRESSED ,self .__x ,self .__y
141-
142- self .__last_state = self .RELEASED
143-
144- self ._buf [0 ]= 0x00
145- self ._i2c .write_mem (_STATUS_REG ,buf = self ._mv [:1 ])
146-
147-
138+ return self .__last_state ,self .__x ,self .__y