#include "li_camera.h"
#include "li_camera_exceptions.h"
#include <unistd.h>
#include <iostream>
#include <opencv2/highgui/highgui.hpp>

int main(int argc, char *argv[])
{
  unsigned int i=0;
  cv::Mat image;

  try{
    CLICamera camera;

    cv::namedWindow("GlobalShutter",1);
   
    camera.open(0x2a0b,0x00f8);
    std::cout << "current gain: " << camera.get_gain() << std::endl;
    camera.set_gain(32);
    std::cout << "current exposure: " << camera.get_exposure() << std::endl;
    camera.set_exposure(32);
    for(i=0;i<100;i++)
    {
      if(camera.get_image(image))
      {
        cv::imshow("GlobalShutter",image);
        if(cv::waitKey(30)>=0) break;  
      }
      usleep(100000);
    }
    camera.close();
  }catch(CException &e){
    std::cout << e.what() << std::endl;
  }
}