@@ -186,37 +186,38 @@ def _reset(self):
186186    @property  
187187    def  mode (self ):
188188        """ 
189-         legend: x=on, -=off 
190- 
191-         +------------------+-------+---------+------+----------+ 
192-         | Mode             | Accel | Compass | Gyro | Absolute | 
193-         +==================+=======+=========+======+==========+ 
194-         | CONFIG_MODE      |   -   |   -     |  -   |     -    | 
195-         +------------------+-------+---------+------+----------+ 
196-         | ACCONLY_MODE     |   X   |   -     |  -   |     -    | 
197-         +------------------+-------+---------+------+----------+ 
198-         | MAGONLY_MODE     |   -   |   X     |  -   |     -    | 
199-         +------------------+-------+---------+------+----------+ 
200-         | GYRONLY_MODE     |   -   |   -     |  X   |     -    | 
201-         +------------------+-------+---------+------+----------+ 
202-         | ACCMAG_MODE      |   X   |   X     |  -   |     -    | 
203-         +------------------+-------+---------+------+----------+ 
204-         | ACCGYRO_MODE     |   X   |   -     |  X   |     -    | 
205-         +------------------+-------+---------+------+----------+ 
206-         | MAGGYRO_MODE     |   -   |   X     |  X   |     -    | 
207-         +------------------+-------+---------+------+----------+ 
208-         | AMG_MODE         |   X   |   X     |  X   |     -    | 
209-         +------------------+-------+---------+------+----------+ 
210-         | IMUPLUS_MODE     |   X   |   -     |  X   |     -    | 
211-         +------------------+-------+---------+------+----------+ 
212-         | COMPASS_MODE     |   X   |   X     |  -   |     X    | 
213-         +------------------+-------+---------+------+----------+ 
214-         | M4G_MODE         |   X   |   X     |  -   |     -    | 
215-         +------------------+-------+---------+------+----------+ 
216-         | NDOF_FMC_OFF_MODE|   X   |   X     |  X   |     X    | 
217-         +------------------+-------+---------+------+----------+ 
218-         | NDOF_MODE        |   X   |   X     |  X   |     X    | 
219-         +------------------+-------+---------+------+----------+ 
189+         legend: x=on, -=off (see Table 3-3 in datasheet) 
190+ 
191+         +------------------+-------+---------+------+----------+----------+ 
192+         | Mode             | Accel | Compass | Gyro | Fusion   | Fusion   | 
193+         |                  |       | (Mag)   |      | Absolute | Relative | 
194+         +==================+=======+=========+======+==========+==========+ 
195+         | CONFIG_MODE      |   -   |   -     |  -   |     -    |     -    | 
196+         +------------------+-------+---------+------+----------+----------+ 
197+         | ACCONLY_MODE     |   X   |   -     |  -   |     -    |     -    | 
198+         +------------------+-------+---------+------+----------+----------+ 
199+         | MAGONLY_MODE     |   -   |   X     |  -   |     -    |     -    | 
200+         +------------------+-------+---------+------+----------+----------+ 
201+         | GYRONLY_MODE     |   -   |   -     |  X   |     -    |     -    | 
202+         +------------------+-------+---------+------+----------+----------+ 
203+         | ACCMAG_MODE      |   X   |   X     |  -   |     -    |     -    | 
204+         +------------------+-------+---------+------+----------+----------+ 
205+         | ACCGYRO_MODE     |   X   |   -     |  X   |     -    |     -    | 
206+         +------------------+-------+---------+------+----------+----------+ 
207+         | MAGGYRO_MODE     |   -   |   X     |  X   |     -    |     -    | 
208+         +------------------+-------+---------+------+----------+----------+ 
209+         | AMG_MODE         |   X   |   X     |  X   |     -    |     -    | 
210+         +------------------+-------+---------+------+----------+----------+ 
211+         | IMUPLUS_MODE     |   X   |   -     |  X   |     -    |     X    | 
212+         +------------------+-------+---------+------+----------+----------+ 
213+         | COMPASS_MODE     |   X   |   X     |  -   |     X    |     -    | 
214+         +------------------+-------+---------+------+----------+----------+ 
215+         | M4G_MODE         |   X   |   X     |  -   |     -    |     X    | 
216+         +------------------+-------+---------+------+----------+----------+ 
217+         | NDOF_FMC_OFF_MODE|   X   |   X     |  X   |     X    |     -    | 
218+         +------------------+-------+---------+------+----------+----------+ 
219+         | NDOF_MODE        |   X   |   X     |  X   |     X    |     -    | 
220+         +------------------+-------+---------+------+----------+----------+ 
220221
221222        The default mode is ``NDOF_MODE``. 
222223
@@ -362,7 +363,7 @@ def magnetic(self):
362363        """Gives the raw magnetometer readings in microteslas. 
363364        Returns an empty tuple of length 3 when this property has been disabled by the current mode. 
364365        """ 
365-         if  self .mode  not  in   [0x00 , 0x03 , 0x05 , 0x08 ]:
366+         if  self .mode  not  in   [0x00 , 0x01 ,  0x03 , 0x05 , 0x08 ]:
366367            return  self ._magnetic 
367368        return  (None , None , None )
368369
@@ -388,7 +389,7 @@ def euler(self):
388389        """Gives the calculated orientation angles, in degrees. 
389390        Returns an empty tuple of length 3 when this property has been disabled by the current mode. 
390391        """ 
391-         if  self .mode  in  [0x09 , 0x0B , 0x0C ]:
392+         if  self .mode  in  [0x08 ,  0x09 ,  0x0A , 0x0B , 0x0C ]:
392393            return  self ._euler 
393394        return  (None , None , None )
394395
@@ -401,7 +402,7 @@ def quaternion(self):
401402        """Gives the calculated orientation as a quaternion. 
402403        Returns an empty tuple of length 3 when this property has been disabled by the current mode. 
403404        """ 
404-         if  self .mode  in  [0x09 , 0x0B , 0x0C ]:
405+         if  self .mode  in  [0x08 ,  0x09 ,  0x0A , 0x0B , 0x0C ]:
405406            return  self ._quaternion 
406407        return  (None , None , None , None )
407408
@@ -414,7 +415,7 @@ def linear_acceleration(self):
414415        """Returns the linear acceleration, without gravity, in m/s. 
415416        Returns an empty tuple of length 3 when this property has been disabled by the current mode. 
416417        """ 
417-         if  self .mode  in  [0x09 , 0x0B , 0x0C ]:
418+         if  self .mode  in  [0x08 ,  0x09 ,  0x0A , 0x0B , 0x0C ]:
418419            return  self ._linear_acceleration 
419420        return  (None , None , None )
420421
@@ -427,7 +428,7 @@ def gravity(self):
427428        """Returns the gravity vector, without acceleration in m/s. 
428429        Returns an empty tuple of length 3 when this property has been disabled by the current mode. 
429430        """ 
430-         if  self .mode  in  [0x09 , 0x0B , 0x0C ]:
431+         if  self .mode  in  [0x08 ,  0x09 ,  0x0A , 0x0B , 0x0C ]:
431432            return  self ._gravity 
432433        return  (None , None , None )
433434
@@ -713,37 +714,37 @@ def _temperature(self):
713714    @property  
714715    def  _acceleration (self ):
715716        resp  =  struct .unpack ("<hhh" , self ._read_register (0x08 , 6 ))
716-         return  tuple ([ x  /  100  for  x  in  resp ] )
717+         return  tuple (x  /  100  for  x  in  resp )
717718
718719    @property  
719720    def  _magnetic (self ):
720721        resp  =  struct .unpack ("<hhh" , self ._read_register (0x0E , 6 ))
721-         return  tuple ([ x  /  16  for  x  in  resp ] )
722+         return  tuple (x  /  16  for  x  in  resp )
722723
723724    @property  
724725    def  _gyro (self ):
725726        resp  =  struct .unpack ("<hhh" , self ._read_register (0x14 , 6 ))
726-         return  tuple ([ x  *  0.001090830782496456  for  x  in  resp ] )
727+         return  tuple (x  *  0.001090830782496456  for  x  in  resp )
727728
728729    @property  
729730    def  _euler (self ):
730731        resp  =  struct .unpack ("<hhh" , self ._read_register (0x1A , 6 ))
731-         return  tuple ([ x  /  16  for  x  in  resp ] )
732+         return  tuple (x  /  16  for  x  in  resp )
732733
733734    @property  
734735    def  _quaternion (self ):
735736        resp  =  struct .unpack ("<hhhh" , self ._read_register (0x20 , 8 ))
736-         return  tuple ([ x  /  (1  <<  14 ) for  x  in  resp ] )
737+         return  tuple (x  /  (1  <<  14 ) for  x  in  resp )
737738
738739    @property  
739740    def  _linear_acceleration (self ):
740741        resp  =  struct .unpack ("<hhh" , self ._read_register (0x28 , 6 ))
741-         return  tuple ([ x  /  100  for  x  in  resp ] )
742+         return  tuple (x  /  100  for  x  in  resp )
742743
743744    @property  
744745    def  _gravity (self ):
745746        resp  =  struct .unpack ("<hhh" , self ._read_register (0x2E , 6 ))
746-         return  tuple ([ x  /  100  for  x  in  resp ] )
747+         return  tuple (x  /  100  for  x  in  resp )
747748
748749    @property  
749750    def  offsets_accelerometer (self ):
0 commit comments