1
0
mirror of https://github.com/elua/elua.git synced 2025-01-25 01:02:54 +08:00
elua/inc/xmodem.h
Thomas Hornschuh d0a6375202 Added support for 1K xmodem
Preliminary support for 1K xmodem. Should make it configurable.
2017-08-03 16:29:31 +02:00

30 lines
822 B
C

// XMODEM for eLua
#ifndef __XMODEM_H__
#define __XMODEM_H__
#include "type.h"
#include "platform.h"
// XMODEM constants
#define XMODEM_INITIAL_BUFFER_SIZE 4096 // TH
#define XMODEM_INCREMENT_AMMOUNT 4096 // TH
// xmodem timeout/retry parameters
#define XMODEM_TIMEOUT 1000000
#define XMODEM_RETRY_LIMIT 20
// error return codes
#define XMODEM_ERROR_REMOTECANCEL (-1)
#define XMODEM_ERROR_OUTOFSYNC (-2)
#define XMODEM_ERROR_RETRYEXCEED (-3)
#define XMODEM_ERROR_OUTOFMEM (-4)
#define XMODEM_ERROR_INTERNAL (-5) // TH
typedef void ( *p_xm_send_func )( u8 );
typedef int ( *p_xm_recv_func )( timer_data_type );
long xmodem_receive( char** dest );
void xmodem_init( p_xm_send_func send_func, p_xm_recv_func recv_func );
#endif // #ifndef __XMODEM_H__