#define CODE_CAN (0x18)
#define CODE_EOF (0x1A)
#define CODE_EOF (0x1A)
-#define BLOCK_SIZE (3 + 128 + 1)
+#define XMODEM_DATA_BLKSIZ (128)
+#define XMODEM_SEND_BLKSIZ (3 + XMODEM_DATA_BLKSIZ + 1)
#define TIMEOUT_SHORT_MS (10)
#define TIMEOUT_LONG_MS (1000)
goto out;
}
long file_size = ftell(fp);
- int block_count = file_size / BLOCK_SIZE;
- int block_remainder = file_size % BLOCK_SIZE;
+ int block_count = file_size / XMODEM_DATA_BLKSIZ;
+ int block_remainder = file_size % XMODEM_DATA_BLKSIZ;
if (fseek(fp, 0L, SEEK_SET) != 0) {
retval = FileSeekError;
goto out;
int i;
for (i = 0; i < block_count; i++) {
unsigned char c;
- unsigned char buf[BLOCK_SIZE];
+ unsigned char buf[XMODEM_SEND_BLKSIZ];
buf[0] = CODE_SOH;
buf[1] = block_number;
buf[2] = ~block_number;
- if (fread(buf + 3, 128, 1, fp) != 1) {
+ if (fread(buf + 3, XMODEM_DATA_BLKSIZ, 1, fp) != 1) {
retval = FileReadError;
goto out;
}
- buf[3 + 128] = CALC_CHECKSUM(&buf[3], 128);
+ buf[3 + XMODEM_DATA_BLKSIZ] = CALC_CHECKSUM(&buf[3], XMODEM_DATA_BLKSIZ);
do {
c = TRANSMIT_BLOCK(serial, buf, sizeof(buf));
fprintf(stderr, "%c", (c == CODE_ACK) ? '.' : 'x');
}
if (block_remainder > 0) {
unsigned char c;
- unsigned char buf[BLOCK_SIZE];
+ unsigned char buf[XMODEM_SEND_BLKSIZ];
buf[0] = CODE_SOH;
buf[1] = block_number;
buf[2] = ~block_number;
- memset(buf + 3, CODE_EOF, 128);
+ memset(buf + 3, CODE_EOF, XMODEM_DATA_BLKSIZ);
if (fread(buf + 3, block_remainder, 1, fp) != 1) {
retval = FileReadError;
goto out;
}
- buf[3 + 128] = CALC_CHECKSUM(&buf[3], 128);
+ buf[3 + XMODEM_DATA_BLKSIZ] = CALC_CHECKSUM(&buf[3], XMODEM_DATA_BLKSIZ);
do {
c = TRANSMIT_BLOCK(serial, buf, sizeof(buf));
fprintf(stderr, "%c", (c == CODE_ACK) ? '.' : 'x');