/*----------------------------*/
/* USBLCD                     */
/*----------------------------*/

#include <stdio.h>
#include <string.h>
#include <usb.h>
#include "musbiobase.h"
#include "usblcd.h"

void printUsageAndExit()
{
    char **pp;
    static char *usage[] = {
       "Usage:",
       " usblcd message_upper message_lower  . . .",
       " ",
       NULL,
     };

    for(pp = usage; *pp!=NULL;pp++)
      fprintf(stderr,"%s\n",*pp);
    exit(1);
};

int main(int argc,char *argv[])
{
    int i;
    int loc_y;
    
    struct usb_bus    *bus;
    struct usb_device *dev;
    usb_dev_handle    *udev;

    /* no parameter error */
    if(argc < 2) printUsageAndExit();

    loc_y = 0; 

    /* Device Open */
    bus=morphy_init();
    dev=morphy_find(bus,dev);
    if( dev==NULL ){ exit(1); }
    udev=morphy_open(dev);
    if( udev==NULL ){ exit(2); }

    /* LCD Init */
    lcd_init(udev);

    /* LCD Disp proc */
    for(i=1;i<argc;i++){
       if(loc_y>1){
          sleep(1);
	  loc_y=0;
	  lcd_cls(udev);
       }
       lcd_locate(udev,0,loc_y);
       lcd_text(udev,argv[i]);
       loc_y++;
    }
    
    /* Device Close & Exit */
    morphy_close(udev);
    exit(0);
}


