/*!
  \file
  \brief タイムアウト付き送受信の処理

  \author Satofumi KAMIMURA

  $Id: transferCtrl.c 286 2008-10-20 09:40:22Z satofumi $
*/

#include "tRunCtrl.h"
#include "transferCtrl.h"
#include "sh7045lib.h"


static int SciPort = SCI_1;


void trans_setPort(int port) {
  SciPort = port;
}


// シリアルデバイスの初期化
void initTransferCtrl(int port) {
  trans_setPort(port);
  init_sci(port, INT_SCI_LEVEL);
}


long trans_size(void) {
  return get_sciReadable(SciPort);
}


// 送信
void trans_send(const unsigned char *data, int length) {
  sci_write(SciPort, data, length);
}


// 受信
int trans_recv(unsigned char *data, int length) {
  return sci_read(SciPort, data, length);
}


// 受信バッファの内容を取り出さずにコピー
int trans_copy(unsigned char *data, int length) {
  return sci_copy(SciPort, data, length);
}


// 送受信データを破棄
void trans_flush(void) {
  flush_sciRecv(SciPort);
}
