+
    Rj                     L    R t ^ RIt^ RIt^ RIHt R t]R8X  d
   ]! 4        R# R# )uK  Change a Feetech servo's ID (EEPROM). Same flow as the old set_motor_id.py.

IMPORTANT: connect only ONE servo to the bus when running this — every servo that
answers to <old_id> would get changed, and re-using an <new_id> already on the bus
creates a collision.

Usage:
  python set_id.py <old_id> <new_id> [--port /dev/tty...]
N)Busc                  "   \         P                  ! 4       p V P                  R \        R7       V P                  R\        R7       V P                  RRR7       V P	                  4       p^ VP
                  u;8:  d   ^8:  g   M \        P                  ! R4       VP                  VP
                  8X  d   \        P                  ! R4       VP                  '       d   \        VP                  4      M	\        4       p VP                  VP                  4      '       g%   \        P                  ! RVP                   R	24       VP                  VP
                  4      '       d%   \        P                  ! R
VP
                   R24       \        RVP                   RVP
                   R24       \        R4       \        R4      P                  4       P                  4       R8w  d   \        R4        VP!                  4        R# VP#                  VP                  VP
                  4      '       d   \        RVP
                   R24       M$\        P                  ! RVP
                   R24       VP!                  4        R#   TP!                  4        i ; i)old_id)typenew_idz--portN)defaultz3new_id must be in 0..253 (254 is the broadcast id).zold_id and new_id are the same.zServo z not responding.zID z( is already in use on the bus. Aborting.zAbout to change servo ID z -> .z1Make sure ONLY ONE servo is connected to the bus.zProceed? [y/N] yzAborted.zDone. Servo now responds at ID u*   Failed — servo not responding at new ID )argparseArgumentParseradd_argumentint
parse_argsr   sysexitr   portr   pingprintinputstriplowercloseset_id)apabuss      	set_id.pymainr      s   		 	 	"BOOH3O'OOH3O'OOHdO+
A S FGxx18823#aff+SUCxx!!HHvahhZ'78988AHHHHs188*$LMN)!((4zCDAB"#))+113s:* 			 ::ahh))3AHH:Q?@HHA!((1MN				s&   ; I< AI< !BI<  +I< ,>I< <J__main__)__doc__r
   r   feetech_busr   r   __name__     r   <module>r$      s/     
 B zF r#   