anchor.diff:  							(if (nil? tmp) (setq tmp -1)
   							)
   							(BASE (string (slice short_address 0 4) "_VOC") (int tmp))
  -							(share base_in_mem (BASE))
  -							(setq read_buffer (slice read_buffer  (char (nth  (+ pos 1)  read_buffer) )))				
  -						)
  -					)
  +								(share base_in_mem (BASE))
  +								(setq read_buffer (slice read_buffer  (+ (char (slice read_buffer  (+ pos 1) 1) ) pos) ))
  +								(setq pos -1)		
  +						)
  +						(and (= (char (slice read_buffer pos 1))  0xb2)  (true? (check_buffer_sum read_buffer)) ) ;; Ports log
  +						(begin
  +							(setq short_address nil)
  +							(setq short_address (format "%04X" (get-int (reverse (slice read_buffer (+ pos 2) 2)))))
  +							(setq tmp (get-int (slice read_buffer (+ pos 4) 1 )))
  +							(setq status  (get-int (slice read_buffer (+ pos 5) 1 )))
  +							(BASE (string (slice short_address 0 4) "_PORT_" tmp) status)
  +								(share base_in_mem (BASE))
  +								(setq read_buffer (slice read_buffer  (+ (char (slice read_buffer  (+ pos 1) 1) ) pos) ))
  +								(setq pos -1)
  +						)
  +					)
  +					(++ pos)
   				)
   				(setq handle_over_flag true)
   			)		
  
positive.code: 
  	(new Tree 'plugin_data)
  	
  	(while 1
  		
  		(if (and (not (nil? (share base_in_mem))) (list? (share base_in_mem)))
  			(begin
  
negative.code: ;; 在数据库中，每个数据是以：短地址_数据名称 这样的key存在 
  ;; 所有短地址（设备）的素引则是名称为 ALL_DEV 的key
  ;; use slice more than nth is safer
  ;; if there are too many chaos datas comming, this still will suck, So I need to control the datas outputing of cc2530 
  	
  	(setq pos 0);; pos maybe forever be 0 
  	(setq handle_over_flag nil)
  