From 42bd4fb58a0531e7811443d5c9a47e0827074986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Ass=C3=A9nat?= Date: Sat, 2 Nov 2013 16:13:42 +0000 Subject: [PATCH] Increase timeout waiting for the beginning of the connected device answer. Fixes performance pad. --- maplebus.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/maplebus.c b/maplebus.c index 448eaff..436910a 100644 --- a/maplebus.c +++ b/maplebus.c @@ -223,14 +223,18 @@ int maple_receiveFrame(unsigned char *data, unsigned int maxlen) // " cbi 0x5, 4 \n" // Loop until a change is detected. + " ldi r19, 10 \n" + "wait_start_outer: \n" + " dec r19 \n" + " breq timeout \n" " ldi r18, 255 \n" " in r17, %2 \n" - "wait_start: \n" + "wait_start_inner: \n" " dec r18 \n" - " breq timeout \n" + " breq wait_start_outer \n" " in r16, %2 \n" " cp r16, r17 \n" - " breq wait_start \n" + " breq wait_start_inner \n" " rjmp start_rx \n" "timeout:\n" @@ -258,7 +262,7 @@ int maple_receiveFrame(unsigned char *data, unsigned int maxlen) " pop r30 \n" // 2 : "=z"(tmp), "=r"(timeout) : "I" (_SFR_IO_ADDR(PINC)) - : "r16","r17","r18") ; + : "r16","r17","r18","r19") ; if (timeout) return -1;