§
    e.¯j¹  ã                   ó^   — d Z ddlZddlmc mZ ddlZddlZ	ddl
Z
ddlmZmZ d„ Zd„ Zd„ ZdS )už  Tests for MotionFeedbackSentinel (Closed-Loop Motion Feedback).
===================================================================
Kiá»ƒm thá»­ cáº£m biáº¿n pháº£n há»“i chuyá»ƒn Ä‘á»™ng vÃ²ng láº·p kÃ­n:
- XÃ¡c minh nháº­n diá»‡n di chuyá»ƒn qua RAM vÃ  Optical.
- XÃ¡c minh kÃ­ch hoáº¡t cáº£nh bÃ¡o khi nhÃ¢n váº­t chÃ´n chÃ¢n.
- XÃ¡c minh khÃ³a báº¥t biáº¿n INV-MOTION-IMMOBILE sau 3 láº§n káº¹t liÃªn tiáº¿p.
é    N)ÚMotionFeedbackSentinelÚImmobileCharacterErrorc            
      óz	  — g } t          d| j        ¬¦  «        }|                     d¬¦  «         t          j        d¦  «         |                     d¬¦  «        }|j        }d}||u }|sªt          j        d|fd	||f¦  «        d
t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd
t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d}||u }|sªt          j        d|fd||f¦  «        d
t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd
t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d}||k    }|sªt          j        d|fd||f¦  «        d
t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd
t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }t$          j        }d}	d}
 ||	|
¬¦  «        }||k    }|�s+t          j        d|fd||f¦  «        d
t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd
t          j        |¦  «        dt          j
        ¦   «         v st          j        t$          ¦  «        rt          j        t$          ¦  «        ndt          j        |¦  «        t          j        |	¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}x}x}	x}
}d}|j        }||v }|sªt          j        d|fd||f¦  «        t          j        |¦  «        d
t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd
t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}dS ) uN   Kiá»ƒm thá»­ khi nhÃ¢n váº­t di chuyá»ƒn bÃ¬nh thÆ°á»�ng theo dá»¯ liá»‡u RAM.ç      ð?)Úmin_move_threshold_uÚlog_callback©g      Y@ç      i@ç        ©Úpos_xyzç{®Gáz„?)g     À\@r
   r   T©Úis©z1%(py2)s
{%(py2)s = %(py0)s.is_moving
} is %(py5)sÚres©Úpy0Úpy2Úpy5úassert %(py7)sÚpy7NF©z2%(py2)s
{%(py2)s = %(py0)s.is_stalled
} is %(py5)sr   ©ú==©z3%(py2)s
{%(py2)s = %(py0)s.stall_count
} == %(py5)sg      .@gü©ñÒMbP?)Úrel)z{%(py2)s
{%(py2)s = %(py0)s.delta_xyz
} == %(py12)s
{%(py12)s = %(py6)s
{%(py6)s = %(py4)s.approx
}(%(py8)s, rel=%(py10)s)
}Úpytest)r   r   Úpy4Úpy6Úpy8Úpy10Úpy12zassert %(py14)sÚpy14ÚRAM_CONFIRMED©Úin©z:%(py1)s in %(py5)s
{%(py5)s = %(py3)s.diagnostic_message
}©Úpy1Úpy3r   )r   ÚappendÚsample_pre_moveÚtimeÚsleepÚsample_post_moveÚ	is_movingÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚ
is_stalledÚstall_countÚ	delta_xyzr   ÚapproxÚdiagnostic_message)ÚlogsÚsentinelr   Ú@py_assert1Ú@py_assert4Ú@py_assert3Ú@py_format6Ú@py_format8Ú@py_assert5Ú@py_assert7Ú@py_assert9Ú@py_assert11Ú@py_format13Ú@py_format15Ú@py_assert0Ú@py_assert2s                   ú;C:\Projects\AutoPOE2\tests\test_motion_feedback_sentinel.pyÚ(test_motion_sentinel_normal_ram_movementrO      sR  € à€DÝ%¸3ÈTÌ[ÐYÑYÔY€Hð ×ÒÐ%8ÐÑ9Ô9Ð9Ý„JˆtÑÔÐð ×
#Ò
#Ð,?Ð
#Ñ
@Ô
@€CàŒ=Ð ˜DÐ ˆ=˜DÐ Ð Ð Ð Õ Ô Ð Ð Ð Ð ˆ=˜DÐ Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô ˆ3Ñ Ô Ð Õ Ô ˆ3Ñ Ô Ð Ð Õ Ô ˆ=Ñ Ô Õ Ô ˜DÑ Ô Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð Ð Ð ØŒ>Ð"˜UÐ"ˆ>˜UÐ"Ð"Ð"Ð"Õ"Ô"Ð"Ð"Ð"Ð"ˆ>˜UÐ"Ñ"Ô"Ð"Õ"Ô"Ñ"Ô"Ð"Ð"Õ"Ô"ˆ3Ñ"Ô"Ð"Õ"Ô"ˆ3Ñ"Ô"Ð"Ð"Õ"Ô"ˆ>Ñ"Ô"Õ"Ô"˜UÑ"Ô"Ð"Ð"Ñ"Ð"Ð"Ð"Ð"Ð"Ñ"Ð"Õ"Õ"Ô"Ð"Ñ"Ô"Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ØŒ?Ð˜aÐˆ?˜aÒÐÐÐÕÔÐÐÐÐˆ?˜aÐÑÔÐÕÔÑÔÐÐÕÔˆ3ÑÔÐÕÔˆ3ÑÔÐÐÕÔˆ?ÑÔÕÔ˜aÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐØŒ=Ð9�FœMÐ9¨$Ð9°DÐ9˜M˜M¨$°DÐ9Ñ9Ô9Ð9ˆ=Ð9Ò9Ð9Ð9Ñ9Õ9Ô9Ð9Ð9Ð9Ð9ˆ=Ð9Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆ3Ñ9Ô9Ð9Õ9Ô9ˆ3Ñ9Ô9Ð9Ð9Õ9Ô9ˆ=Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9�FÑ9Ô9Ð9Õ9Ô9�FÑ9Ô9Ð9Ð9Õ9Ô9˜MÑ9Ô9Õ9Ô9¨$Ñ9Ô9Õ9Ô9°DÑ9Ô9Õ9Ô9Ð9Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9ØÐ4˜cÔ4Ð4ˆ?Ð4Ð4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4ˆ?Ð4Ð4Ñ4Ô4Õ4Ô4ˆ?Ñ4Ô4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4˜cÑ4Ô4Ð4Õ4Ô4˜cÑ4Ô4Ð4Ð4Õ4Ô4Ð4Ñ4Ô4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4ó    c                  óf  — g } t          dd| j        ¬¦  «        }|                     d¬¦  «         t          j        d¦  «         |                     d¬¦  «        }|j        }d}||u }|sªt          j        d|fd	||f¦  «        d
t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd
t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d}||u }|sªt          j        d|fd||f¦  «        d
t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd
t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d}||k    }|sªt          j        d|fd||f¦  «        d
t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd
t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}d}|j        }||v }	|	sªt          j        d|	fd||f¦  «        t          j        |¦  «        d
t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd
t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}	}t%          | ¦  «        }	d}
|	|
k    }|sòt          j        d|fd|	|
f¦  «        dt          j
        ¦   «         v st          j        t$          ¦  «        rt          j        t$          ¦  «        nddt          j
        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |	¦  «        t          j        |
¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}	x}}
|                     d¬¦  «         t          j        d¦  «         |                     d¬¦  «        }|j        }d}||u }|sªt          j        d|fd	||f¦  «        dt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d}||u }|sªt          j        d|fd||f¦  «        dt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d }||k    }|sªt          j        d|fd||f¦  «        dt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|                     d¬¦  «         t          j        d¦  «         t'          j        t*          ¦  «        5 }|                     d¬¦  «         ddd¦  «         n# 1 swxY w Y   d!}|j        }
t/          |
¦  «        }||v }	|	�st          j        d|	fd"||f¦  «        t          j        |¦  «        d#t          j
        ¦   «         v st          j        t.          ¦  «        rt          j        t.          ¦  «        nd#d$t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd$t          j        |
¦  «        t          j        |¦  «        d%œz  }d&d'|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}	x}
}d(}|j        }
t/          |
¦  «        }||v }	|	�st          j        d|	fd"||f¦  «        t          j        |¦  «        d#t          j
        ¦   «         v st          j        t.          ¦  «        rt          j        t.          ¦  «        nd#d$t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd$t          j        |
¦  «        t          j        |¦  «        d%œz  }d&d'|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}	x}
}dS ))u[   Kiá»ƒm thá»­ phÃ¡t hiá»‡n chÃ´n chÃ¢n khi gá»­i phÃ­m nhÆ°ng tá»�a Ä‘á»™ RAM khÃ´ng Ä‘á»•i.r   é   )r   Úmax_consecutive_stallsr   r	   r   r   Fr   r   Úres1r   r   r   NTr   é   r   r   ÚRAM_STALLEDr&   r(   r)   )z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)sÚlenr?   )r   r*   r+   r    zassert %(py8)sr!   )gÍÌÌÌÌY@g33333i@r   Úres2é   zINV-MOTION-IMMOBILE-FATAL)zK%(py1)s in %(py8)s
{%(py8)s = %(py3)s(%(py6)s
{%(py6)s = %(py4)s.value
})
}ÚstrÚexc_info)r*   r+   r   r    r!   zassert %(py10)sr"   u(   NhÃ¢n váº­t bá»‹ chÃ´n chÃ¢n hoÃ n toÃ n)r   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r>   rW   r   Úraisesr   ÚvaluerZ   )r?   r@   rT   rA   rB   rC   rD   rE   rL   rM   rF   Ú@py_format7Ú@py_format9rX   r[   rG   Ú@py_format11s                    rN   Ú)test_motion_sentinel_stalled_ram_movementra   &   s  € à€DÝ%Ø Ø Ø”[ðñ ô €Hð ×ÒÐ%8ÐÑ9Ô9Ð9Ý„JˆtÑÔÐØ×$Ò$Ð-@Ð$ÑAÔA€DàŒ>Ð"˜UÐ"ˆ>˜UÐ"Ð"Ð"Ð"Õ"Ô"Ð"Ð"Ð"Ð"ˆ>˜UÐ"Ñ"Ô"Ð"Õ"Ô"Ñ"Ô"Ð"Ð"Õ"Ô"ˆ4Ñ"Ô"Ð"Õ"Ô"ˆ4Ñ"Ô"Ð"Ð"Õ"Ô"ˆ>Ñ"Ô"Õ"Ô"˜UÑ"Ô"Ð"Ð"Ñ"Ð"Ð"Ð"Ð"Ð"Ñ"Ð"Õ"Õ"Ô"Ð"Ñ"Ô"Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ØŒ?Ð"˜dÐ"ˆ?˜dÐ"Ð"Ð"Ð"Õ"Ô"Ð"Ð"Ð"Ð"ˆ?˜dÐ"Ñ"Ô"Ð"Õ"Ô"Ñ"Ô"Ð"Ð"Õ"Ô"ˆ4Ñ"Ô"Ð"Õ"Ô"ˆ4Ñ"Ô"Ð"Ð"Õ"Ô"ˆ?Ñ"Ô"Õ"Ô"˜dÑ"Ô"Ð"Ð"Ñ"Ð"Ð"Ð"Ð"Ð"Ñ"Ð"Õ"Õ"Ô"Ð"Ñ"Ô"Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ØÔÐ ˜qÐ Ð˜qÒ Ð Ð Ð Õ Ô Ð Ð Ð Ð Ð˜qÐ Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô ˆ4Ñ Ô Ð Õ Ô ˆ4Ñ Ô Ð Ð Õ Ô ÐÑ Ô Õ Ô ˜qÑ Ô Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð Ð Ð ØÐ3˜DÔ3Ð3ˆ=Ð3Ð3Ð3Ð3Ð3Õ3Ô3Ð3Ð3Ð3Ð3ˆ=Ð3Ð3Ñ3Ô3Õ3Ô3ˆ=Ñ3Ô3Ð3Õ3Ô3Ñ3Ô3Ð3Ð3Õ3Ô3˜DÑ3Ô3Ð3Õ3Ô3˜DÑ3Ô3Ð3Ð3Õ3Ô3Ð3Ñ3Ô3Ð3Ð3Ñ3Ð3Ð3Ð3Ð3Ð3Ñ3Ð3Õ3Õ3Ô3Ð3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ýˆt‰9Œ9Ð˜Ðˆ9˜Š>ÐÐÐÕÔÐÐÐÐˆ9˜ÐÑÔÐÕÔÑÔÐÐÕÔ�3ÑÔÐÕÔ�3ÑÔÐÐÐÕÔÑÔÐÐÕÔˆtÑÔÐÕÔˆtÑÔÐÐÕÔˆ9ÑÔÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐð ×ÒÐ%8ÐÑ9Ô9Ð9Ý„JˆtÑÔÐØ×$Ò$Ð-@Ð$ÑAÔA€DàŒ>Ð"˜UÐ"ˆ>˜UÐ"Ð"Ð"Ð"Õ"Ô"Ð"Ð"Ð"Ð"ˆ>˜UÐ"Ñ"Ô"Ð"Õ"Ô"Ñ"Ô"Ð"Ð"Õ"Ô"ˆ4Ñ"Ô"Ð"Õ"Ô"ˆ4Ñ"Ô"Ð"Ð"Õ"Ô"ˆ>Ñ"Ô"Õ"Ô"˜UÑ"Ô"Ð"Ð"Ñ"Ð"Ð"Ð"Ð"Ð"Ñ"Ð"Õ"Õ"Ô"Ð"Ñ"Ô"Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ØŒ?Ð"˜dÐ"ˆ?˜dÐ"Ð"Ð"Ð"Õ"Ô"Ð"Ð"Ð"Ð"ˆ?˜dÐ"Ñ"Ô"Ð"Õ"Ô"Ñ"Ô"Ð"Ð"Õ"Ô"ˆ4Ñ"Ô"Ð"Õ"Ô"ˆ4Ñ"Ô"Ð"Ð"Õ"Ô"ˆ?Ñ"Ô"Õ"Ô"˜dÑ"Ô"Ð"Ð"Ñ"Ð"Ð"Ð"Ð"Ð"Ñ"Ð"Õ"Õ"Ô"Ð"Ñ"Ô"Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ØÔÐ ˜qÐ Ð˜qÒ Ð Ð Ð Õ Ô Ð Ð Ð Ð Ð˜qÐ Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô ˆ4Ñ Ô Ð Õ Ô ˆ4Ñ Ô Ð Ð Õ Ô ÐÑ Ô Õ Ô ˜qÑ Ô Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð Ð Ð ð ×ÒÐ%8ÐÑ9Ô9Ð9Ý„JˆtÑÔÐÝ	ŒÕ-Ñ	.Ô	.ð ?°(Ø×!Ò!Ð*=Ð!Ñ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð 'Ð=¨h¬nÐ=­#¨nÑ*=Ô*=Ð=Ð&Ð*=Ð=Ð=Ð=Ñ=Õ=Ô=Ð=Ð=Ð=Ð=Ð&Ð*=Ð=Ñ=Ô=Õ=Ô=Ð&Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=­#Ñ=Ô=Ð=Õ=Ô=­#Ñ=Ô=Ð=Ð=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=¨hÑ=Ô=Ð=Õ=Ô=¨hÑ=Ô=Ð=Ð=Õ=Ô=¨nÑ=Ô=Õ=Ô=Ð*=Ñ=Ô=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ø5ÐL¸X¼^ÐL½¸^Ñ9LÔ9LÐLÐ5Ð9LÐLÐLÐLÑLÕLÔLÐLÐLÐLÐLÐ5Ð9LÐLÑLÔLÕLÔLÐ5ÑLÔLÐLÕLÔLÑLÔLÐLÐLÕLÔL½ÑLÔLÐLÕLÔL½ÑLÔLÐLÐLÐLÕLÔLÑLÔLÐLÐLÕLÔL¸XÑLÔLÐLÕLÔL¸XÑLÔLÐLÐLÕLÔL¸^ÑLÔLÕLÔLÐ9LÑLÔLÐLÐLÑLÐLÐLÐLÐLÐLÑLÐLÕLÕLÔLÐLÑLÔLÑLÔLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLs   Ü+]Ý]Ý]c                  óê  — t          d¬¦  «        } t          j        dt          j        ¬¦  «        }t          j        dt          j        ¬¦  «        }d|dd…dd…f<   |                      d|¬	¦  «         |                      d|¬	¦  «        }|j        }d
}||u }|sªt          j        d|fd||f¦  «        dt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}d}	|j        }|	|v }
|
sªt          j        d|
fd|	|f¦  «        t          j        |	¦  «        dt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}	x}
}|                      d|¬	¦  «         |                      d|¬	¦  «        }|j        }d}||u }|sªt          j        d|fd||f¦  «        dt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d
}||u }|sªt          j        d|fd||f¦  «        dt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}d}	|j        }|	|v }
|
sªt          j        d|
fd|	|f¦  «        t          j        |	¦  «        dt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}	x}
}dS )u[   Kiá»ƒm thá»­ cháº¿ Ä‘á»™ dá»± phÃ²ng qua thá»‹ giÃ¡c quang há»�c khi máº¥t dá»¯ liá»‡u RAM.g      @)Úmin_optical_shift_px)éd   rd   )Údtypeéÿ   é   é(   N)r   Ú
frame_cropTr   r   Úres_optr   r   r   ÚOPTICAL_CONFIRMEDr&   r(   r)   FÚres_stalledr   ÚOPTICAL_STALLED)r   ÚnpÚzerosÚuint8r-   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r>   r:   )r@   Úframe1Úframe2rj   rA   rB   rC   rD   rE   rL   rM   rl   s               rN   Ú%test_motion_sentinel_optical_fallbackrs   M   s+  € å%¸3Ð?Ñ?Ô?€HåŒX�j­¬Ð1Ñ1Ô1€FÝŒX�j­¬Ð1Ñ1Ô1€FØ€Fˆ2ˆbˆ5�"�R�%ˆ<Ñð ×Ò T°fÐÑ=Ô=Ð=Ø×'Ò'°ÀÐ'ÑHÔH€GàÔÐ$ Ð$Ð Ð$Ð$Ð$Ð$Õ$Ô$Ð$Ð$Ð$Ð$Ð Ð$Ñ$Ô$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$ˆ7Ñ$Ô$Ð$Õ$Ô$ˆ7Ñ$Ô$Ð$Ð$Õ$Ô$ÐÑ$Ô$Õ$Ô$ Ñ$Ô$Ð$Ð$Ñ$Ð$Ð$Ð$Ð$Ð$Ñ$Ð$Õ$Õ$Ô$Ð$Ñ$Ô$Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ØÐ< 'Ô"<Ð<ÐÐ"<Ð<Ð<Ð<Ð<Õ<Ô<Ð<Ð<Ð<Ð<ÐÐ"<Ð<Ñ<Ô<Õ<Ô<ÐÑ<Ô<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô< 'Ñ<Ô<Ð<Õ<Ô< 'Ñ<Ô<Ð<Ð<Õ<Ô<Ð"<Ñ<Ô<Ð<Ð<Ñ<Ð<Ð<Ð<Ð<Ð<Ñ<Ð<Õ<Õ<Ô<Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<ð ×Ò T°fÐÑ=Ô=Ð=Ø×+Ò+°DÀVÐ+ÑLÔL€KàÔ Ð) EÐ)Ð  EÐ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð  EÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)ˆ;Ñ)Ô)Ð)Õ)Ô)ˆ;Ñ)Ô)Ð)Ð)Õ)Ô)Ð Ñ)Ô)Õ)Ô) EÑ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ØÔ!Ð) TÐ)Ð! TÐ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð! TÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)ˆ;Ñ)Ô)Ð)Õ)Ô)ˆ;Ñ)Ô)Ð)Ð)Õ)Ô)Ð!Ñ)Ô)Õ)Ô) TÑ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ØÐ> Ô >Ð>ÐÐ >Ð>Ð>Ð>Ð>Õ>Ô>Ð>Ð>Ð>Ð>ÐÐ >Ð>Ñ>Ô>Õ>Ô>ÐÑ>Ô>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô> Ñ>Ô>Ð>Õ>Ô> Ñ>Ô>Ð>Ð>Õ>Ô>Ð >Ñ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>rP   )Ú__doc__Úbuiltinsr4   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter2   r   Únumpyrn   r.   Ú6src.assistant_tool.navigation.motion_feedback_sentinelr   r   rO   ra   rs   © rP   rN   ú<module>r|      s¬   ððð ð € € € € € € € € € € € € €€€€Ø Ð Ð Ð Ø €€€ðð ð ð ð ð ð ð ð5ð 5ð 5ð&$Mð $Mð $MðN?ð ?ð ?ð ?ð ?rP   