/**************************************************************************
	Rn_DS4_led.c

 	Z-World, 2003
	This sample program is used with 122x32 display and 1x7 keypad module
	with LED's.

	This program demonstrates how to toggle the DS4 LED located on the
   backside of the display module, near screw terminal block J4.

**************************************************************************/
#class auto		// Change default: local vars now stored on stack.
#memmap xmem  // Required to reduce root memory usage


//////
// Search criteria for Rabbitnet driver
//////
#define MATCHFLAG RN_MATCH_PRDID	//Set flag to search for product ID
#define MATCHPID  RN1500			//RN1500 Display
#define DS4_LED	013				//Command register to control DS4 LED

#define LEDOFF 0  //Value used to turn the LED OFF
#define LEDON	1	//Value used to turn the LED ON

///////////////////////////////////////////////////////////////////////////

void main()
{
	auto unsigned int i;	 	// variable for the loop counter
	auto unsigned int led; 	// variable used to cycle thru all the LED's
 	auto int device0, status;
   auto rn_search newdev;
   auto char cntrl;

	//------------------------------------------------------------------------
	// Initialize the controller
	//------------------------------------------------------------------------
	brdInit();			// Initialize the controller

   rn_init(RN_PORTS, 1);      // Initialize controller RN ports

   // Verify that the Rabbitnet display board is connected
	newdev.flags = MATCHFLAG;
	newdev.productid = MATCHPID;
   if ((device0 = rn_find(&newdev)) == -1)
   {
   	printf("\n no device found\n");
      exit(0);
   }

   // Initialize Display and Keypad low-level drivers
   // Note: Functions brdInit() and rn_init() must executed before initializing
   //       display and keypad drivers.
   glInit();
   keyInit();

	for(;;)	// begin an endless loop
	{

		//Turn-on the LED indicated by the led variable
      cntrl = LEDOFF;
		rn_write(device0, DS4_LED, &cntrl, 1);
		for(i=0; i<20000; i++); // time delay loop

      cntrl = LEDON;
		//Turn-off the LED indicated by the led variable
		rn_write(device0, DS4_LED, &cntrl, 1);
			for(i=0; i<20000; i++); // time delay loop
	}
}