|  | @@ -13,6 +13,8 @@
 | 
	
		
			
				|  |  |   * 2012-05-15     lgnq         modified according bernard's implementation.
 | 
	
		
			
				|  |  |   * 2012-05-28     bernard      code cleanup
 | 
	
		
			
				|  |  |   * 2012-11-23     bernard      fix compiler warning.
 | 
	
		
			
				|  |  | + * 2013-02-20     bernard      use RT_SERIAL_RB_BUFSZ to define
 | 
	
		
			
				|  |  | + *                             the size of ring buffer.
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #include <rthw.h>
 | 
	
	
		
			
				|  | @@ -35,12 +37,12 @@ rt_inline void serial_ringbuffer_putc(struct serial_ringbuffer *rbuffer,
 | 
	
		
			
				|  |  |      level = rt_hw_interrupt_disable();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      rbuffer->buffer[rbuffer->put_index] = ch;
 | 
	
		
			
				|  |  | -    rbuffer->put_index = (rbuffer->put_index + 1) & (SERIAL_RBUFFER_SIZE - 1);
 | 
	
		
			
				|  |  | +    rbuffer->put_index = (rbuffer->put_index + 1) & (RT_SERIAL_RB_BUFSZ - 1);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /* if the next position is read index, discard this 'read char' */
 | 
	
		
			
				|  |  |      if (rbuffer->put_index == rbuffer->get_index)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | -        rbuffer->get_index = (rbuffer->get_index + 1) & (SERIAL_RBUFFER_SIZE - 1);
 | 
	
		
			
				|  |  | +        rbuffer->get_index = (rbuffer->get_index + 1) & (RT_SERIAL_RB_BUFSZ - 1);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /* enable interrupt */
 | 
	
	
		
			
				|  | @@ -56,7 +58,7 @@ rt_inline int serial_ringbuffer_putchar(struct serial_ringbuffer *rbuffer,
 | 
	
		
			
				|  |  |      /* disable interrupt */
 | 
	
		
			
				|  |  |      level = rt_hw_interrupt_disable();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    next_index = (rbuffer->put_index + 1) & (SERIAL_RBUFFER_SIZE - 1);
 | 
	
		
			
				|  |  | +    next_index = (rbuffer->put_index + 1) & (RT_SERIAL_RB_BUFSZ - 1);
 | 
	
		
			
				|  |  |      if (next_index != rbuffer->get_index)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |          rbuffer->buffer[rbuffer->put_index] = ch;
 | 
	
	
		
			
				|  | @@ -87,7 +89,7 @@ rt_inline int serial_ringbuffer_getc(struct serial_ringbuffer *rbuffer)
 | 
	
		
			
				|  |  |      if (rbuffer->get_index != rbuffer->put_index)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |          ch = rbuffer->buffer[rbuffer->get_index];
 | 
	
		
			
				|  |  | -        rbuffer->get_index = (rbuffer->get_index + 1) & (SERIAL_RBUFFER_SIZE - 1);
 | 
	
		
			
				|  |  | +        rbuffer->get_index = (rbuffer->get_index + 1) & (RT_SERIAL_RB_BUFSZ - 1);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      /* enable interrupt */
 | 
	
		
			
				|  |  |      rt_hw_interrupt_enable(level);
 | 
	
	
		
			
				|  | @@ -101,7 +103,7 @@ rt_inline rt_uint32_t serial_ringbuffer_size(struct serial_ringbuffer *rbuffer)
 | 
	
		
			
				|  |  |      rt_base_t level;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      level = rt_hw_interrupt_disable();
 | 
	
		
			
				|  |  | -    size = (rbuffer->put_index - rbuffer->get_index) & (SERIAL_RBUFFER_SIZE - 1);
 | 
	
		
			
				|  |  | +    size = (rbuffer->put_index - rbuffer->get_index) & (RT_SERIAL_RB_BUFSZ - 1);
 | 
	
		
			
				|  |  |      rt_hw_interrupt_enable(level);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      return size;
 |