예제 #1
0
void dig_to_disp(uint32_t out_dig, Val_on_disp *odl_f){
	switch (counter){
		case 0:
			tmp = out_dig;
			dig = tmp%10;			
			tmp = tmp/10;
			init_disp();
			on_seg_3();
			dig_to_port(dig, dp);
			break;
		case 1:
			dig = tmp%10;
			tmp = tmp/10;
			init_disp();
			on_seg_2();
			
			if ( (error_type == E_I || error_type == ELI || chanel == _I_) && *odl_f == e_cnl){
				dp = 1;
			}
				
			dig_to_port(dig, dp);															
			break;
		case 2:
			dig = tmp%10;
			init_disp();
			on_seg_1();
			if (*odl_f == e_r_timer) dp = 1;
			dig_to_port(tmp, dp);
			dp = 0;
			break;
	}
	dp = 0;
	counter++;
	if (counter > 2) counter = 0;
}
예제 #2
0
파일: disp_game.c 프로젝트: sepretf/Tetris
int	disp_g(char *tetri, int **tab, int y, int x)
{
  t_var	var;

  var = init_disp(var);
  while (var.j != y)
    {
      while (tetri[var.z] != 0)
	{
	  if (tetri[var.z] == '\n')
	    {
	      var.l = 1;
	      var.m += 1;
	    }
	  else if (tetri[var.z] == '*')
	    {
	      tab[var.m][((x / 2) + var.l)] = 3;
	      var.l += 1;
	    }
	  else
	    var.l += 1;
	  var.z += 1;
	}
      var.j += 1;
      tab = now_down(tab, y, x);
    }
}
예제 #3
0
int main(void){
  init_ran_num();
  init_disp();
  
  while(1){
    if(title())break;
    game_main();
  }

  return 0;
}
예제 #4
0
파일: 10sk.c 프로젝트: aunueget/AutoHelm
/*****************************************************************************
Name:            void init_BSP(void)
Parameters:                     
Returns:        
Description:     Intializes borad support firmware. 
*****************************************************************************/
void init_BSP(void)
{
	ENABLE_LEDS
#if USE_LCD_DISPLAY == 1
    init_disp();
#endif
    init_Task_Timers();
	ALL_LED_ON
	t1ck1 = 0; t1ck0 = 1;  // Set Timer 1 count source to 1/8
	pre1 = 100;       // Load prescaler with 1
	t1 = 82;       // load t1 with 4  2 x 5 = 10 :// 32.768 KHz / 32 / 10 = 102.4 times a second = 10 msec
	DISABLE_INTS
	t1ic = 0x01; 	// timer 1 underflow interrut.  (S4). 
	ENABLE_INTS 
#if USE_KEY_INPUT_BUFFER  == 1
	addTask(Keyinput_task, 5,(MAX_TASKS-1));	  // Sample key input every 25 ms. 
#endif
	ALL_LED_OFF 
}
예제 #5
0
/*--------------------------------------------------------------------------
 * initialize and enter main event loop
 *--------------------------------------------------------------------------
 */
int main(int argc, char **argv) {
    /* initialize openGL stuff
     */
    printf("QRSIM (c) Embedded Systems Lab, TU Delft\n");
    menu();
    printf("qrsim control mode %d\n",userstate.control_mode);

    init_disp(argc, argv);

    /* initialize quad rotor stuff
     */
    qr_init(&qrstate, Z_AT_GND);
    user_init(&userstate, CONTROL_NONE);
    js_init();

    /* start simulation
     */
    simulations = 0;
    start_disp();
    return 0;
}
//Initialize LCD display
void init_disp (void)
{
	static const gpio_map_t DIP204_SPI_GPIO_MAP =
	{
		{DIP204_SPI_SCK_PIN,  DIP204_SPI_SCK_FUNCTION },  // SPI Clock.
		{DIP204_SPI_MISO_PIN, DIP204_SPI_MISO_FUNCTION},  // MISO.
		{DIP204_SPI_MOSI_PIN, DIP204_SPI_MOSI_FUNCTION},  // MOSI.
		{DIP204_SPI_NPCS_PIN, DIP204_SPI_NPCS_FUNCTION}   // Chip Select NPCS.
	};
	

	// add the spi options driver structure for the LCD DIP204
	spi_options_t spiOptions =
	{
		.reg          = DIP204_SPI_NPCS,
		.baudrate     = 1000000,
		.bits         = 8,
		.spck_delay   = 0,
		.trans_delay  = 0,
		.stay_act     = 1,
		.spi_mode     = 0,
		.modfdis      = 1
	};

	// Assign I/Os to SPI
	gpio_enable_module(DIP204_SPI_GPIO_MAP,
	sizeof(DIP204_SPI_GPIO_MAP) / sizeof(DIP204_SPI_GPIO_MAP[0]));

	// Initialize as master
	spi_initMaster(DIP204_SPI, &spiOptions);

	// Set selection mode: variable_ps, pcs_decode, delay
	spi_selectionMode(DIP204_SPI, 0, 0, 0);

	// Enable SPI
	spi_enable(DIP204_SPI);

	// setup chip registers
	spi_setupChipReg(DIP204_SPI, &spiOptions, FOSC0);
	
	// initialize LCD
	dip204_init(backlight_IO, true);
	
	dip204_hide_cursor();
}


int main (void)
{		
	// Switch the CPU main clock to oscillator 0
	pm_switch_to_osc0(&AVR32_PM, FOSC0, OSC0_STARTUP);	
	
	board_init();
	init_disp(); 


	U32 x = 12345678;
	U32 y = 87654321;
	U64 z =0;
	
	F32 a = 1234.5678;
	F32 b = 8765.4321;
	F32 c = 0;
	
	U32 calc_time_z = 0;
	U32 calc_time_c = 0;
	
	U32 cnt_1 = 0;
	U32 cnt_2 = 0;
	U32 cnt_3 = 0;
	U32 cnt_res_z = 0; 
	U32 cnt_res_c = 0; 
	
	char cycl_str_z[9];
	char cycl_str_c[9];
	char result[19];	
	char cycl_c[9];
	char cycl_z[9];
	
	//Calculation:
	
	//Cycle count 1
	cnt_1 = Get_sys_count();
	
	//Calculation part 1:
	z = x*y;
	
	//Cycle count 2
	cnt_2 = Get_sys_count();
	
	//Calculation part 2:
	c = a*b;
	
	//Cycle count 3
	cnt_3 = Get_sys_count();
	
	//Cycle count result
	cnt_res_z = cnt_2 - cnt_1 ;
	cnt_res_c = cnt_3 - cnt_2 ;
	
	//Use cycle count result to find calculation time
	calc_time_c = (cnt_res_c * 1000000 + FOSC0 - 1) / FOSC0;
	calc_time_z = (cnt_res_z * 1000000 + FOSC0 - 1) / FOSC0;
	
	//Compose strings for display output
	sprintf(result, "%f", c);
	sprintf(cycl_str_z, "%lu", calc_time_z);
	sprintf(cycl_str_c, "%lu", calc_time_c);
	sprintf(cycl_c, "%lu", cnt_res_c);
	sprintf(cycl_z, "%lu", cnt_res_z);
	
	//Display calculation time, cycles and multiplication result on monitor
	dip204_clear_display();

	dip204_set_cursor_position(1,1);
	dip204_write_string("x*y=z");
	dip204_set_cursor_position(1,2);
	dip204_write_string("Time:");
	dip204_set_cursor_position(7,2);
	dip204_write_string(cycl_str_z);
	dip204_set_cursor_position(1,3);
	dip204_write_string("Cycles:");
	dip204_set_cursor_position(9,3);
	dip204_write_string(cycl_z);

	dip204_set_cursor_position(11,1);
	dip204_write_string("a*b=c");
	dip204_set_cursor_position(11,2);
	dip204_write_string("Time:");
	dip204_set_cursor_position(17,2);
	dip204_write_string(cycl_str_c);
	dip204_set_cursor_position(11,3);
	dip204_write_string("Cycles:");
	dip204_set_cursor_position(19,3);
	dip204_write_string(cycl_c);

	while (1)
	{
		
	}
} 
예제 #7
0
파일: main.cpp 프로젝트: AStefan93/Image
int main(int argc, char* argv[]) { 
	

	char const* image_path = argv[1];
	char const* image_path2 = argv[2];

	std::clock_t start;
	double duration;
	start = std::clock();
	
	ImageProc::Image* img = new ImageProc::Image(image_path);
	ImageProc::Image* img2 = new ImageProc::Image(image_path);
	ImageProc::Image* img3 = new ImageProc::Image(image_path);
	
//	t_2DPoint* uLC = new t_2DPoint[1];
//	t_2DPoint* lRC = new t_2DPoint[1];
	
//	imgintf::readImage(img,image_path);
//	imgintf::readImage(img2,image_path);
		
//	uLC->x = img->getHeight()/2;
//	uLC->y = 0;
//	lRC->x = img->getHeight();
//	lRC->y = img->getWidth();
//	ImageProc::Square ROI(uLC,lRC);
	
//	ImageProc::Image* img2 = new ImageProc::Image(lRC->x - uLC->x,lRC->y - uLC->y);
	
	ImageProc::gaussian_filter(img3,3);

//	ImageProc::crop(img,img2,ROI);
	ImageProc::sobel(img2);
	ImageProc::sobel(img3);

//	ImageProc::bilateral_filterGray(img3,21);
//	imgintf::saveImageGray(img2,image_path2);
//	imgintf::readImage(img2,image_path);
//	imgintf::readImage(img3,image_path);
//	ImageProc::gaussian_filter(img,3);
//	ImageProc::rotate(img,30);
//	ImageProc::rotate(img,45);
//	ImageProc::impulse_filter(img2,3);
//	ImageProc::bilateral_filterGray(img,21);
//	ImageProc::bilateral_filterColor(img,21,0);
//	ImageProc::bilateral_filterColor(img,21,1);
//	ImageProc::bilateral_filterColor(img,21,2);
//	ImageProc::gaussian_filter(img,5);
//	ImageProc::unsharp_masking_test(img,img2);
//	ImageProc::rotate(img,45)
//	ImageProc::rotBlnInt(img,45);
//	img3 = img_rotBlnInt_test(img,45);

	
//	ImageProc::equalizeHistogramCumulative(img2);
	
//	ImageProc::equalizeHistogramRemap(img3);
	
//	ImageProc::sobel(img,img2);

	ImageProc::computeHistogram(img);
	ImageProc::computeHistogram(img2);


	ImageProc::v_computeNormalizedHistogram(img3);
	ImageProc::otsu_binary_segmentation(img3);
	ImageProc::computeHistogram(img3);
//	ImageProc::v_computeNormalizedHistogram(img2);
//
//	ImageProc::computeHistogram(&img3);
//	ImageProc::v_computeNormalizedHistogram(&img3);
//	ImageProc::computeHistogram(img2);
//	ImageProc::computeHistogram(img3);

//	printf("%f",img->normHist[10]);

	cimg_library::CImgDisplay init_disp(imgintf::displayImageGray(img));
	cimg_library::CImgDisplay init2_disp(imgintf::displayHist(img));
	cimg_library::CImgDisplay init3_disp(imgintf::displayImageGray(img2));
	cimg_library::CImgDisplay init4_disp(imgintf::displayHist(img2));
	cimg_library::CImgDisplay init5_disp(imgintf::displayImageGray(img3));
	cimg_library::CImgDisplay init6_disp(imgintf::displayHist(img3));
	
	
	duration = (std::clock() - start) / (double)CLOCKS_PER_SEC;

	std::cout << "Time: " << duration << '\n';

	while (!init_disp.is_closed() && !init2_disp.is_closed()) {
    		init_disp.wait();
	}

//	delete[] uLC;
//	delete[] lRC;
	delete img;
	delete img2;
	delete img3;
	return 0;
}