anchor.diff:  
   (define (write_string_to_serial str)
       (setq str_lst (parse str " "))
  -	(setq len (length str_lst))
  +		(setq len (length str_lst))
       (setq ret "")
       (dolist (x str_lst)
           (setq tmp_str (slice x 0 2)) ;; force the input to be XX
           (extend ret (char (int tmp_str 0 16)))
       )
  -    (write_serial ret len)
  +    (write_serial ret (length ret))
   )
   
   ;;;
  
positive.code: 									(cond 
  										((list? atret)
  											(dolist (x atret)
  											(semaphore sid 2)
  											(write_string_to_serial x)
  											(sleep 100);;; sleep 100ms to serial  
  											)
  											(semaphore sid 1)
  										)
  										((string? atret)
  											(semaphore sid 2)
  											(write_string_to_serial atret)
  											(semaphore sid 1)
  										)
  									)
  							
  									(if (starts-with buff "AT+")
  										(begin
  										(dotimes (z 50 (= (share talk) 999)) (assert "sleep10\n") (sleep 30) );; sleep Լ500msͽ,ͦģڵķӦ
  										(share talk 0);;  ־read processз	
  										(assert (share content) "\n")
  									
  
negative.code: 					)
  				)
  			
  		(assert "close connect 8087\n")
  		(net-close connection)
  		
  	)		
  )
  
  