//	scu-17_rlb.c	( railway light barrier ) gg630504 hg9ieg linux.ubuntu.gcc utf-8
//	2022-04-02 - 2022-04-09
// $ sudo usermod -a -G dialout $USER
// $ sudo apt-get update
// $ sudo apt-get install gcc
// $ sudo apt-get install make

#include <fcntl.h>
#include <stdio.h>
#include <sys/ioctl.h>
#include <time.h>
#include <unistd.h>

#define	t	( 0.75*CLOCKS_PER_SEC )	// félperiódus idő
#define cLim	16			// periódusok száma

int		main()
{
int		fdKey;
int		cAct;
unsigned int	bwModem;

fprintf( stdout, "gg630504.hg9ieg/scu-17_rlb/" __DATE__ " " __TIME__ "\n" );

if( (fdKey = open( "/dev/ttyUSB1", O_RDWR | O_NOCTTY | O_NDELAY ))>=0 )
	{
	bwModem = TIOCM_RTS | TIOCM_DTR;		// mindkét LED
	ioctl( fdKey, TIOCMBIC, &bwModem );		// sötét

	for( cAct = 0; cAct<cLim; cAct++ )
		{
		bwModem = TIOCM_DTR;			// bal FSK
		ioctl( fdKey, TIOCMBIS, &bwModem );	// világít
		bwModem = TIOCM_RTS;			// 	jobb PTT
		ioctl( fdKey, TIOCMBIC, &bwModem );	// 	sötét
		usleep( t );

		bwModem = TIOCM_DTR;			// bal FSK
		ioctl( fdKey, TIOCMBIC, &bwModem );	// sötét
		bwModem = TIOCM_RTS;			// 	jobb PTT
		ioctl( fdKey, TIOCMBIS, &bwModem );	// 	világít
		usleep( t );
		}

	bwModem = TIOCM_RTS | TIOCM_DTR;		// mindkét LED
	ioctl( fdKey, TIOCMBIC, &bwModem );		// sötét

	close( fdKey );
	}
return( 0 );
}

