@ -15,31 +15,36 @@
// // 4: about 26kbps
// // 4: about 26kbps
// // 5: about 20kbps
// // 5: about 20kbps
//
//
// //// USE Simple API ( OLD API, compatible with let's split serial.c)
// //// USE OLD API ( compatible with let's split serial.c)
// ex.
// ex.
// #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
// #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
// #define SERIAL_MASTER_BUFFER_LENGTH 1
// #define SERIAL_MASTER_BUFFER_LENGTH 1
//
//
// //// USE flexible API (using multi-type transaction function)
// //// USE NEW API
// #define SERIAL_USE_MULTI_TRANSACTION
// //// USE simple API (using signle-type transaction function)
// #define SERIAL_USE_SINGLE_TRANSACTION
// //// USE flexible API (using multi-type transaction function)
// #define SERIAL_USE_MULTI_TRANSACTION
//
//
// /////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////
# ifndef SERIAL_USE_MULTI_TRANSACTION
//////////////// for backward compatibility ////////////////////////////////
/* --- USE Simple API (OLD API, compatible with let's split serial.c) */
# if !defined(SERIAL_USE_SINGLE_TRANSACTION) && !defined(SERIAL_USE_MULTI_TRANSACTION)
# if SERIAL_SLAVE_BUFFER_LENGTH > 0
/* --- USE OLD API (compatible with let's split serial.c) */
extern volatile uint8_t serial_slave_buffer [ SERIAL_SLAVE_BUFFER_LENGTH ] ;
# if SERIAL_SLAVE_BUFFER_LENGTH > 0
# endif
extern volatile uint8_t serial_slave_buffer [ SERIAL_SLAVE_BUFFER_LENGTH ] ;
# if SERIAL_MASTER_BUFFER_LENGTH > 0
# endif
extern volatile uint8_t serial_master_buffer [ SERIAL_MASTER_BUFFER_LENGTH ] ;
# if SERIAL_MASTER_BUFFER_LENGTH > 0
# endif
extern volatile uint8_t serial_master_buffer [ SERIAL_MASTER_BUFFER_LENGTH ] ;
# endif
void serial_master_init ( void ) ;
void serial_master_init ( void ) ;
void serial_slave_init ( void ) ;
void serial_slave_init ( void ) ;
int serial_update_buffers ( void ) ;
int serial_update_buffers ( void ) ;
# endif // USE Simple API
# endif // end of USE OLD API
////////////////////////////////////////////////////////////////////////////
// Soft Serial Transaction Descriptor
// Soft Serial Transaction Descriptor
typedef struct _SSTD_t {
typedef struct _SSTD_t {