anchor.diff:  			(setq tmp (parse cmd_str "="))
   			(if (> (length tmp) 1)
   				(begin
  -					
  -					(if (starts-with (nth 0 tmp) "DEV");; only handle DEV* 
  +					(if (starts-with (nth 0 tmp) "DEV");; only handle DEV*  ,lookup in share base_in_mem
   							(begin
  -								(if (not (nil? (MAIN:BASE (string (nth 1 tmp) ))))
  -									(plugin_data (nth 0 tmp)  (MAIN:BASE (string (nth 1 tmp))) );; store to the Tree 
  +								(if (not (nil? (lookup (list (string (nth 1 tmp))) (share base_in_mem) ))) ;; it must be at the frist level, in share base_in_mem
  +									(plugin_data (nth 0 tmp)    (lookup(list(string(nth 1 tmp))) (share base_in_mem)) );; store to the Tree  from share base_in_mem
   									(plugin_data (nth 0 tmp)  0 )
   								)
   							)
   							(plugin_data (nth 0 tmp)  (nth 1 tmp))
   					) 
  -					
   				)
   			)
   		)
  
positive.code: 								(setq tmp 3)
  							) 
  							(BASE (string short_address "_PM25") (int tmp))
  							(share base_in_mem (BASE))
  							(setq read_buffer (slice read_buffer  (char (nth (+ pos 1)  read_buffer) )))	
  						)
  						(and (= (char (nth pos read_buffer))  0xa8)  (true? (check_buffer_sum read_buffer)) ) ;; 取 voc 有害气体数值， 数值范围只有 是 00 01 10 11 四种可能a8 xx xx ??
  						(begin
  							(setq short_address nil)
  							(setq short_address (format "%04X" (get-int (reverse (slice read_buffer (+ pos 2) 2)))))
  
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)
  