/*
2014/06/24　7M4MON
マドンナライフとたたかう
*/

#define CTS_PIN PIN_A0	//UARTのRTS
#define RTS_PIN PIN_A2	//ソフィアの１ピン
#define ENB_PIN PIN_A4	//ソフィアの３ピン

#include	<12f683.h> //ヘッダファイルインクルード
#fuses INTRC_IO,NOWDT,PUT,NOPROTECT,MCLR
#use delay(CLOCK = 8000000)

#use rs232(baud=300,INVERT,parity=N,xmit=PIN_A5,rcv=PIN_A1)	//FTDI側も逆にしてある。

int MadData;


void main() {
	
	//入力 A0,A2,A5
	//set_tris_a(0b00101101);
	//内蔵プルアップA2,A3,A5以外
	port_a_pullups(0b00010011);
	
	setup_adc_ports(NO_ANALOGS);
	
	output_high(RTS_PIN);
	while(true){
		
		//ボーレートを変更する場合、ここにuse文を書く。
		//#use rs232(baud=300,INVERT,parity=N,xmit=PIN_A5,rcv=PIN_A1)
		
		while ( input(CTS_PIN) ){}	//マドンナから要求を待つ
		
		output_low(RTS_PIN);		//ソフィアに送信要求
	
		while ( input(ENB_PIN) ){}	//有効データが来るのを待つ
		
		while ( !kbhit()){}
		MadData = getc();
		
		output_high(RTS_PIN);		//途中で止まっちゃったら下に移動

		//ボーレート変えたかったらここに追記
		//#use rs232(baud=96000,INVERT,parity=N,xmit=PIN_A5,rcv=PIN_A1)
		putc(MadData);
		
		
		
	}

}