/**************************************************************************
	Rn_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 LED's on the display
	module/controller.

	The program will toggle the following LED's:

	LED#	 Silkscreen Label
   ----	 -----------------
	 0  	 	LED DS1
	 1  		LED DS2
	 2  	 	LED DS3
	 3  		LED DS4
	 4  	 	LED DS5
	 5  	 	LED DS6
	 6  		LED DS7

**************************************************************************/
#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 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;
 
	//------------------------------------------------------------------------
	// 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
	{
		for(led = 0; led <= 6; led++)
		{
			//Turn-on the LED indicated by the led variable
			dispLedOut(led, LEDON);
			for(i=0; i<20000; i++); // time delay loop

			//Turn-off the LED indicated by the led variable
			dispLedOut(led, LEDOFF);
			for(i=0; i<20000; i++); // time delay loop
		}
	}
}