/*****************************************************************************
 *
 * LED output.
 *
 *****************************************************************************
 * FileName:        LEDmain.c
 * Dependencies:    
 * Processor:       PIC18F with CAN
 * Compiler:       	C18 02.30.00 or higher
 * Linker:          MPLINK 03.20.01 or higher
 * Company:         Microchip Technology Incorporated
 *
 * Software License Agreement
 *
 * The software supplied herewith by Microchip Technology Incorporated
 * (the "Company") is intended and supplied to you, the Company's
 * customer, for use solely and exclusively with products manufactured
 * by the Company. 
 *
 * The software is owned by the Company and/or its supplier, and is 
 * protected under applicable copyright laws. All rights are reserved. 
 * Any use in violation of the foregoing restrictions may subject the 
 * user to criminal sanctions under applicable laws, as well as to 
 * civil liability for the breach of the terms and conditions of this 
 * license.
 *
 * THIS SOFTWARE IS PROVIDED IN AN "AS IS" CONDITION. NO WARRANTIES, 
 * WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED 
 * TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
 * PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, 
 * IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR 
 * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
 *
 *
 * This is a simple timer function used within the DeviceNet Stack for
 * demonstration.
 * 
 *
 *
 * Author               Date        Comment
 *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Ross Fosler			08/13/04	...	
 * 
 *****************************************************************************/


#include	<P18cxxx.H>
#include	"TYPES.H"
#include	"IO.H"
#include	"strings.h"


void LED_Init(void)
{
	// Init PortD to 0 and all output
	LATD = 0xFF;	
	TRISD = 0;	

}


void LED_update(void)
{
	putrs(MsgLedStatusPos);

	if (LATDbits.LATD0)
		putrs(MsgLedStatusOn);
	else
		putrs(MsgLedStatusOff);

	if (LATDbits.LATD1)
		putrs(MsgLedStatusOn);
	else
		putrs(MsgLedStatusOff);

	if (LATDbits.LATD2)
		putrs(MsgLedStatusOn);
	else
		putrs(MsgLedStatusOff);

	if (LATDbits.LATD3)
		putrs(MsgLedStatusOn);
	else
		putrs(MsgLedStatusOff);

	if (LATDbits.LATD4)
		putrs(MsgLedStatusOn);
	else
		putrs(MsgLedStatusOff);

	if (LATDbits.LATD5)
		putrs(MsgLedStatusOn);
	else
		putrs(MsgLedStatusOff);

	if (LATDbits.LATD6)
		putrs(MsgLedStatusOn);
	else
		putrs(MsgLedStatusOff);

	if (LATDbits.LATD7)
		putrs(MsgLedStatusOn);
	else
		putrs(MsgLedStatusOff);
}		
