10 unsigned char r_read2;
25 void ring_read1_set(unsigned char i)
29 void ring_read1_plus(void)
32 if (r_read1 >= r_num) r_read1 = 0;
34 void ring_read2_set(unsigned char i)
38 void ring_read2_plus(void)
41 if (r_read2 >= r_num) r_read2 = 0;
45 unsigned char ring_num1_get()
49 i = (signed char)r_write - (signed char)r_read1;
50 if (i < 0) i += r_num;
51 return (unsigned char)i;
54 unsigned char ring_num2_get()
58 i = (signed char)r_write - (signed char)r_read2;
59 if (i < 0) i += r_num;
60 return (unsigned char)i;
67 unsigned char ring_is_full1(void)
69 if (ring_num1_get() >= r_num - 1) return 1;
72 unsigned char ring_is_full2(void)
74 if (ring_num2_get() >= r_num - 1) return 1;