예제 #1
0
void ShowParams(LIVECONFIG *config)
{
	uint8_t u;


	ShowParam(g_commands[3].cmd, config->mccount);
	ShowParam(g_commands[4].cmd, config->thdiv);
	ShowParam(g_commands[5].cmd, config->tlimit);
	UsartSendStr("\r\nSHIFTS:\r\n", 1);
	ShowParam(g_shifts[4].cmd, config->sumshift);
	for(u = 0; u < sizeof(g_shiftDisps) / sizeof(g_shiftDisps[0]); ++u) {
		ShowParam(
				g_shifts[u].cmd,
				config->shifts[g_shiftDisps[u]]
		);
	}
	UsartSendStr("\r\n", 1);
#if defined(USE_LEDBAR)
	UsartSendStr("\r\nLeds\r\n", 1);
	{
		uint8_t	idx;
		uint8_t	line;

		for(line = 0; line < 2; ++line) {
			for(idx = 0; idx < 8; ++idx) {
				UsartSendStr(" 0x", 1);
				UsartPrintByte(g_config.ledbarvalues[line][idx], 2, 1);
			}
			UsartSendStr("\r\n", 1);
		}
	}
#endif

}
예제 #2
0
파일: main.c 프로젝트: maxk9/etro_new
//==================================================================================
void write_hour(void)
{
	
	if(PKDU.Min>58)
	{
		PKDU.Min=0;
		
		if(PKDU.Hour>9999)
			PKDU.Hour=0;
		else
			++PKDU.Hour;
		
		EEPROM_save_hour(PKDU.Hour);
	}
	
	if(PKDU.SchowPar==6)
	{
		if(!((PKDU.StatusKN>>8)&1)&&
			((PKDU.StatusKN>>2)&1)&&
			((PKDU.StatusKN>>3)&1))
		{
			PKDU.Hour=0;
			EEPROM_save_hour(0);
			ShowParam();
		}
		while(!((PKDU.StatusKN>>8)&1)&&
			((PKDU.StatusKN>>2)&1)&&
			((PKDU.StatusKN>>3)&1))
		{
			IWDG_ReloadCounter();
		}			
	}
}
예제 #3
0
  bool MuvisFeat::MuvisAFexHandler::BindParam() {
    AFexParam *p = new AFexParam();
    if (!(fex_bind)(p))
      return false;

    fex_param = p;

    param.clear();
    for (unsigned int i=0; i<p->feat_param_no; i++)
      param.push_back(make_pair(fourcc2string(p->feat_param_fourcc[i]),
				p->feat_param_default[i]));
    if (MethodVerbose())
      ShowParam();
    
    return true;
  }
예제 #4
0
파일: main.c 프로젝트: maxk9/etro_new
//==================================================================================
//==================================================================================
//==================================================================================
int main()
{
	bool ver = 0;
	uint8_t cnt_link = 0;
	
	PLL_init();
	GPIO_init();
	TIM1_init();
	TIM2_init();
	TIM3_init();
	UART_init();
	WDT_init();
	EEPROM_init();
	
	SysTick_Config(SystemCoreClock/800);//~10 ms
	
	
	time.t1=5;
	time.t2=5;
	time.t3=5;
	time.t4=5;
	delay_ms(100);
	
	Segment[0]=0xFF;
	Segment[1]=0xFF;
	Segment[2]=0xFF;
	Segment[3]=0xFF;
	Segment[4]=0xFF;
	Segment[5]=0xFF;
	Segment[6]=0x7F;
	ALARM_ON;
	delay_ms(100);
	ALARM_OFF;
	delay_ms(1000);
	//
	//
	
  while(1)
	{
		if( TX_st )
		{
			TX_st = 0;
			
			if( cnt_link < LINK_COUNT )
			{
				link_PKBA();
				++cnt_link;
			}
			else
			{
				PKDU.error = true;
				cnt_link = 0;
			}
		}
		
		if( RX_ok && !PKDU.error )
		{
			uint8_t cnt_byte = 0, sum = 0;
			
			while( cnt_byte < RX_FRAME_SIZE )
			{
				sum += ArrayRX_PKBA[cnt_byte];
				++cnt_byte;
			}
			sum += 0xAA;
			
			if( !sum )
			{
				StatusPKBA.reg0 = ArrayRX_PKBA[0];
				StatusPKBA.reg1 = ArrayRX_PKBA[1];
				StatusPKBA.Error = (ArrayRX_PKBA[3]<<8) | ArrayRX_PKBA[2];
				StatusPKBA.RabReg0 = ArrayRX_PKBA[4];
				StatusPKBA.UGen = (ArrayRX_PKBA[6]<<8) | ArrayRX_PKBA[5];
				StatusPKBA.IGen = (ArrayRX_PKBA[8]<<8) | ArrayRX_PKBA[7];
				StatusPKBA.DT = ArrayRX_PKBA[9];
				StatusPKBA.DM = ArrayRX_PKBA[10];
				StatusPKBA.TM = ArrayRX_PKBA[11];
				StatusPKBA.NDiz = (ArrayRX_PKBA[13]<<8) | ArrayRX_PKBA[12];
				StatusPKBA.TBapEx = ArrayRX_PKBA[14];
				StatusPKBA.TBapIn = ArrayRX_PKBA[15];
				StatusPKBA.Led1 = ArrayRX_PKBA[16];
				StatusPKBA.Led2 = ArrayRX_PKBA[17];

				if( !ver )
				{
					ver = true;
					show_ver();
					delay_ms( 1500 );
					Segment[ 0 ] = 0;
					Segment[ 1 ] = 0;
					Segment[ 2 ] = 0;
					Segment[ 3 ] = 0;
					Segment[ 4 ] = 0;
				}
			cnt_link=0;
			}
			RX_ok=0;
		}
		
		__nop();
		
		Set_Error();
		
		if(!PKDU.error)
			ShowParam();
		
		if((PKDU.StatusKN>>4)&1)
		{
			maska_err = 0;
			StatusPKBA.Error=0;
			PKDU.error=false;
			cnt_link = 0;
		}
		
		if(((PKDU.StatusKN>>5)&1) && ((PKDU.StatusKN>>6)&1))
		{
			Segment[0] = 0xFF;
			Segment[1] = 0xFF;
			Segment[2] = 0xFF;
			Segment[3] = 0xFF;
			Segment[4] = 0xFF;
			Segment[5] = 0xFF;
			Segment[6] = 0x7F;
			
			while(((PKDU.StatusKN>>5)&1)&&((PKDU.StatusKN>>6)&1))
				IWDG_ReloadCounter();
		}
		
		ControlZvonok();
		
		write_hour();
		IWDG_ReloadCounter();
	}
}