//	M520 : VA|[gāAoCiEpPbgEf[^̑M

define	bno_tx	= 0;
define	bno_rx	= 0;
define	port	= 0;
define	$InpTxt = "";

function main()
{
	//	ubNm
	bno_tx = _MemAlloc(1024);
	bno_rx = _MemAlloc(1024);

	//	{^\
	_BtnOpen(0, "|[gݒ");
	_BtnOpen(1, "M");
	_BtnOpen(2, "I");

	_BtnEnable(1, _FALSE);

	_Cls();

	_Stop();

	/*	\[Xj					*/
	_BtnClose(0); _BtnClose(1); _BtnClose(2);
	if (port != 0) {
		_ComClose (port);
		_ComDelete(port);
	}
}

//	{^ECxg
function _OnButton(BtnNo)
{
	if		(BtnNo == 0) {				//	u|[gݒv{^
		if (port = _ComCreateByDialog(port)) {
			_ComSetOnRxPacket(port, "OnRxPacket", bno_rx);
			if (!_ComIsOpened(port) && _ComIsOpenPossible(port)) {
				_ComOpen(port);
			}
			if (_ComIsOpened(port)) _BtnEnable(1, _TRUE );
			else					_BtnEnable(1, _FALSE);
		}
	}
	else if (BtnNo == 1) {				//	uMv{^
		//	oCif[^(0x0F, 0x10, 0x11)𓧉ߌ^pPbgőM
		_PutMemBlk(bno_tx, 0, 3, 0x11100F);
		_ComSendPacket(port, bno_tx, 0, 3);

	}
	else if (BtnNo == 2) _Restart();	//	uIv{^
}

//	pPbgMCxg
function  OnRxPacket(len)
{
	define	loc;

	_PrintF("Reception data =");
	for (loc = 0; loc < len; loc++) {
		_PrintF(" %02X", _GetMemBlk(bno_rx, loc, 1));
	}
	_PrintF("\n");
}
