コード例 #1
0
int main( int argc, char *argv[] )
{  
   unsigned long int nPictures=1;
   //unsigned long int width = 1024;
   //unsigned long int height = 768;
   //unsigned long int length = width*height*nPictures;

   int width,height,length;
   unsigned char *bmp = readBMP(argv[1], &width, &height, &length);

   std::vector<unsigned char> data(bmp, bmp + length);

   //fillSquare(data, width, height, width/2, height/2, 10,10);
   //fillPixel(data,  width, height, width/2, height/2);
   //for (int i=0; i<length; i++)
   //data[i] =	data[i]==255 ? 0 : 255;
   ALPProjector alp;
   try
   {  alp.init();
      alp.initLED();
      alp.setLED(15000,100);
      alp.inquire();
      alp.setPicturesTimeus(80); //timing in hertz
      alp.loadSequence(1,data.data());
      alp.start();
      cin.ignore(1E6,'\n');
      alp.stop();
   }
   catch (const std::exception &e)
   {  cerr << e.what() << endl << "Press Enter to exit..." ;
      cin.ignore(1E6,'\n');
      alp.cleanup();
   }
   return 0;
}
コード例 #2
0
int main( int argc, char *argv[] )
{  unsigned long int nPictures=1;
   unsigned long int width = 1024;
   unsigned long int height = 768;
   unsigned long int length = width*height*nPictures;

   /*
   cerr << "Creating sequences" << endl;
   std::vector< std::vector<unsigned char> > allSequences(N_TOTAL_SEQUENCES);

   for ( int i=0; i<N_TOTAL_SEQUENCES; i++ )
   {
   	allSequences.at(i) = std::vector<unsigned char>(length,0);
   	// It fills a moving square
   	//fillPixel(allSequences.at(i),width,height,i*50,height/2);
   	fillSquare(allSequences.at(i),width,height,(i*50)%width,height/2,50,100);
   }

   ALPProjector alp;
   try
   {
   	alp.init();
   	alp.initLED();
   	alp.setLED(5000,100);
   	alp.inquire();
   	alp.setPicturesTimeus(1E6); //timing in hertz
   	for (int i=0; i<N_TOTAL_SEQUENCES;i++)
   		alp.loadSequence(nPictures,allSequences.back().data());
   	alp.inquire();
   	cerr << "Press enter to continue" << endl;

   	alp.setSequenceQueueMode();
   	Timer timer; timer.start();
   	for ( int i=0; i<10; i++ )
   		alp.loopAllSequences();
   	cerr << timer.getElapsedTimeInSec() << endl;
   	cerr << "Press enter to continue" << endl;
   	cin.ignore(1E6,'\n');
   }
   catch (const std::exception &e)
   {
   	cerr << e.what() << endl << "Press Enter to exit..." ;
   	cin.ignore(1E6,'\n');
   	alp.cleanup();
   }
   */
   std::vector<unsigned char> data;
   data.resize(length);
   fillSquare(data, width, height, width/2, height/2, 10,10);
   fillPixel(data,  width, height, width/2, height/2);
   //for (int i=0; i<length; i++)
   //data[i] =	data[i]==255 ? 0 : 255;
   ALPProjector alp;
   try
   {  alp.init();
      alp.initLED();
      alp.setLED(15000,100);
      alp.inquire();
      alp.setPicturesTimeus(80); //timing in hertz
      alp.loadSequence(1,data.data());
      alp.start();
      cin.ignore(1E6,'\n');
      alp.stop();
   }
   catch (const std::exception &e)
   {  cerr << e.what() << endl << "Press Enter to exit..." ;
      cin.ignore(1E6,'\n');
      alp.cleanup();
   }
   return 0;
}