optimize the bypass mode
[protos/rc_servos.git] / main.c
diff --git a/main.c b/main.c
index 4ff369d..5d449de 100644 (file)
--- a/main.c
+++ b/main.c
@@ -158,6 +158,7 @@ int main(void)
 {
        uint8_t i;
        uint8_t t, diff;
+       uint8_t tmp;
 
        /* LED */
        DDRB = 0x02;
@@ -201,12 +202,18 @@ int main(void)
                        poll_spi();
                }
                /* bypass mode */
-               while (bypass == 1) {
+               if (bypass == 1) {
                        LED_ON();
-                       PORTD = (PINC & 0x3f) << 2;
-                       poll_spi();
+
+                       while (bypass == 1) {
+                               tmp = PINC;
+                               tmp &= 0x3f;
+                               tmp <<= 2;
+                               PORTD = tmp;
+                               poll_spi();
+                       }
+                       LED_OFF();
                }
-               LED_OFF();
        }
 
        return 0;