Merged from external project:
authorbatt <batt@38d2e660-2303-0410-9eaa-f027e97ec537>
Mon, 10 Nov 2008 14:44:52 +0000 (14:44 +0000)
committerbatt <batt@38d2e660-2303-0410-9eaa-f027e97ec537>
Mon, 10 Nov 2008 14:44:52 +0000 (14:44 +0000)
**********
r22609 | batt | 2008-11-08 14:43:34 +0100 (sab, 08 nov 2008) | 1 line

Add configurable options for xmodem max retries.
**********

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@1917 38d2e660-2303-0410-9eaa-f027e97ec537

bertos/cfg/cfg_xmodem.h
bertos/net/xmodem.c

index 71ced64a6022344b401088401b1648ba8b519897..129a21184b79c6c98c25075c9d5434269f8660fd 100644 (file)
@@ -40,7 +40,7 @@
 #ifndef CFG_XMODEM_H
 #define CFG_XMODEM_H
 
-/// Enable Rx 
+/// Enable Rx
 #define CONFIG_XMODEM_RECV   1
 
 /// Enable TX
 /// Allow a Rx/Tx of 1Kbyte block
 #define CONFIG_XMODEM_1KCRC  1
 
+/// Max retries before giving up
+#define CONFIG_XMODEM_MAXRETRIES     15
+
+/// Max retries before switching to BCC
+#define CONFIG_XMODEM_MAXCRCRETRIES   7
+
 #endif /* CFG_XMODEM_H */
 
index ec899cb130b8f59ad2802817dbddcce4d8a40f3e..ca59a99394e17604fa2c264b292bb29c9e405d1c 100644 (file)
@@ -69,9 +69,6 @@
 #define XM_CAN  0x18  /**< CANcel transmission */
 /*\}*/
 
-#define XM_MAXRETRIES     15  /**< Max retries before giving up */
-#define XM_MAXCRCRETRIES   7  /**< Max retries before switching to BCC */
-
 #if CONFIG_XMODEM_1KCRC == 1
        #define XM_BUFSIZE       1024  /**< 1024 bytes of block buffer */
 #else
@@ -129,7 +126,7 @@ bool xmodem_recv(struct Serial *port, KFile *fd)
                        ser_resync(port, 200);
                        retries++;
 
-                       if (retries >= XM_MAXRETRIES)
+                       if (retries >= CONFIG_XMODEM_MAXRETRIES)
                        {
                                kfile_putc(XM_CAN, &port->fd);
                                kfile_putc(XM_CAN, &port->fd);
@@ -140,7 +137,7 @@ bool xmodem_recv(struct Serial *port, KFile *fd)
                        /* Transmission start? */
                        if (blocknr == 0)
                        {
-                               if (retries < XM_MAXCRCRETRIES)
+                               if (retries < CONFIG_XMODEM_MAXCRCRETRIES)
                                {
                                        XMODEM_PROGRESS("Request Tx (CRC)\n");
                                        kfile_putc(XM_C, &port->fd);
@@ -273,7 +270,7 @@ bool xmodem_recv(struct Serial *port, KFile *fd)
                                else
                                {
                                        /* User callback failed: abort transfer immediately */
-                                       retries = XM_MAXRETRIES;
+                                       retries = CONFIG_XMODEM_MAXRETRIES;
                                        purge = true;
                                }
                        }
@@ -374,7 +371,7 @@ bool xmodem_send(struct Serial *port, KFile *fd)
                                kfile_clearerr(&port->fd);
                                retries++;
                                XMODEM_PROGRESS("Retries %d\n", retries);
-                               if (retries <= XM_MAXRETRIES)
+                               if (retries <= CONFIG_XMODEM_MAXRETRIES)
                                        break;
                                /* falling through! */