@@ -185,7 +185,7 @@ def __init__(self, spi, spi_baudrate, cs):
185185 self .tclk_2_us = 1_000_000 // (spi_baudrate * 2 ) # tH = tclk / 2 ns # Time between last falling edge of CLK and rising edge of cs
186186 if self .tclk_2_us == 0 :
187187 self .tclk_2_us = 1
188- print ('self.tclk_2_us:' , self .tclk_2_us )
188+ # print('self.tclk_2_us:', self.tclk_2_us)
189189 self .cs = cs # active is low
190190
191191 self ._write_command = bytearray (b'\xC0 \x00 ' )
@@ -199,31 +199,28 @@ def __init__(self, spi, spi_baudrate, cs):
199199 self .error = self .NO_error
200200
201201 self ._angle14 = 0
202- # set _angle14 !!!
203- self .readAngleCom ()
202+ self .readAngleCom () # set _angle14 !!!
204203 self .readAngleCom ()
205204 self .readAngleCom ()
206205
207206 self ._angle14_prev = self ._angle14
208- if self ._angle14_prev >= 8192 :
207+ if self ._angle14_prev >= 0x2000 :
209208 self ._angle14_prev = 0
210209
211210 self ._angle_major = 0
212211
213212 # ------------------
214213 @micropython .native
215214 def _readAngleInfinity (self , readAngleFunc ):
216- readAngleFunc () # 8192 == 2 ** 14 // 2
215+ readAngleFunc ()
217216 if not self .error :
218217 delta = self ._angle14 - self ._angle14_prev
219- if delta >= 8192 :
220- self ._angle_major -= 360
221- #print(' self._angle14, self._angle14_prev, delta', self._angle14, self._angle14_prev, delta)
222- elif delta <= - 8192 :
223- self ._angle_major += 360
224- #print(' self._angle14, self._angle14_prev, delta', self._angle14, self._angle14_prev, delta)
218+ if delta >= 0x2000 :
219+ self ._angle_major -= 0x4000
220+ elif delta <= - 0x2000 :
221+ self ._angle_major += 0x4000
225222 self ._angle14_prev = self ._angle14
226- return self ._angle14 * __to_angle + self ._angle_major
223+ return ( self ._angle14 + self ._angle_major ) * __to_angle
227224 else :
228225 return None
229226
@@ -249,14 +246,14 @@ def writeData(self, command, value):
249246 def checkReceivedFrame (self ):
250247 if self .received_frame .EF :
251248 #raise RuntimeError('received_frame.EF on 0x%X' % self.command_frame.ADDR)
252- print ('received_frame.EF on 0x%X' % self .command_frame .ADDR )
249+ # print('received_frame.EF on 0x%X' % self.command_frame.ADDR)
253250 self .error = self .EF_error
254251 elif self .received_frame .PARD != is_even (self .received_frame .DATA , __MSB_mask ):
255252 #raise ValueError('received_frame.PARD != is_even on 0x%X' % self.command_frame.ADDR)
256- print ('received_frame.PARD != is_even on 0x%X' % self .command_frame .ADDR )
253+ # print('received_frame.PARD != is_even on 0x%X' % self.command_frame.ADDR)
257254 self .error = self .PARD_error
258255 elif self ._received_data == b'\xff \xff ' :
259- print ("_received_data == b'\xff \xff '" )
256+ # print("_received_data == b'\xff\xff'")
260257 self .error = self .DATA_error
261258 else :
262259 self .error = self .NO_error
@@ -317,22 +314,22 @@ def writeRegister(self, registerAddress, registerValue):
317314
318315 self .writeData (self .command_frame , self .data_frame )
319316
320- # ------------------
321- @micropython .viper
322- def readAngle (self ):
323- self .readRegister (ANGLEUNC )
324- if not self .error :
325- self ._angle14 = struct (addressof (self ._received_data ), ANGLEUNC_struct , BIG_ENDIAN ).CORDICANG
326-
327- @micropython .viper
328- def readAngleAgain (self ):
329- self .readDataAgain ()
330- if not self .error :
331- self ._angle14 = struct (addressof (self ._received_data ), ANGLEUNC_struct , BIG_ENDIAN ).CORDICANG
332-
333- @micropython .viper
334- def readAngleInfinity (self ):
335- return self ._readAngleInfinity (self .readAngleAgain )
317+ # # ------------------
318+ # @micropython.viper
319+ # def readAngle(self):
320+ # self.readRegister(ANGLEUNC)
321+ # if not self.error:
322+ # self._angle14 = struct(addressof(self._received_data), ANGLEUNC_struct, BIG_ENDIAN).CORDICANG
323+ #
324+ # @micropython.viper
325+ # def readAngleAgain(self):
326+ # self.readDataAgain()
327+ # if not self.error:
328+ # self._angle14 = struct(addressof(self._received_data), ANGLEUNC_struct, BIG_ENDIAN).CORDICANG
329+ #
330+ # @micropython.viper
331+ # def readAngleInfinity(self):
332+ # return self._readAngleInfinity(self.readAngleAgain)
336333
337334 # ------------------
338335 @micropython .viper
0 commit comments