]> git.droids-corp.org - protos/rc_servos.git/commitdiff
optimize the bypass mode
authorOlivier Matz <zer0@droids-corp.org>
Thu, 3 Oct 2013 16:53:40 +0000 (18:53 +0200)
committerOlivier Matz <zer0@droids-corp.org>
Thu, 3 Oct 2013 18:11:41 +0000 (20:11 +0200)
main.c

diff --git a/main.c b/main.c
index 4ff369da10e373e3226c613615bb7c6b654833bc..5d449de1b11efa5669f804e0c648bfff391b194c 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;