Пример #1
0
/* do store Parameter in virtual EEPROM -------------------------------------*/
void dofComm()
{
	// add 2 chars to int from 0..99
	u8 set = (line[1] - 0x30) * 10 + (line[2] - 0x30);
	writeFlashParameter(set, readInt(4));
	print_para(set);
}
Пример #2
0
/* do read from flash and print Parameter -----------------------------------------*/
void dorComm()
{
	// add 2 chars to int from 0..99
	u8 set = (line[1] - 0x30) * 10 + (line[2] - 0x30);
	print_para(set);
	send(OK);
}
Пример #3
0
void run(char* model_root, char* prefix, char* infofile) {
    twtm_model* model = new twtm_model(model_root, prefix, infofile);
    char pre[100];
    srand(time(NULL));
    double sum_lik = 0.0;
    int docid, labelid, topicid, wordid;
    double lik;
    int num_words = model->num_words;
    int num_topics = model->num_topics;
    double temp;

    while (scanf("%s", pre) != EOF) {
        if (strcmp(pre, "lik") == 0) {
            scanf("%d%lf", &docid, &lik);
            sum_lik += lik;
        }
        else if (strcmp(pre, "pi") == 0) {
            scanf("%d%lf", &labelid, &temp);
            model->pi[labelid] = temp;
        }
        else if (strcmp(pre,"phi") == 0) {
            scanf("%d%d%lf", &topicid, &wordid, &temp);
            model->log_phi[topicid * num_words + wordid] = temp;
        }
        else if (strcmp(pre,"theta") == 0) {
            scanf("%d%d%lf", &labelid, &topicid, &temp);
            model->log_theta[labelid * num_topics + topicid] = temp;
        }
    }
    normalize_log_matrix_rows(model->log_theta, model->num_labels, num_topics);
    normalize_log_matrix_rows(model->log_phi, num_topics, model->num_words);
    print_para(model, model_root, prefix);
    printf("%lf\n", sum_lik);
    delete model;
}
Пример #4
0
void print_para(int left_para, int right_para, char *str, int count) {
    if (left_para < 0 || left_para > right_para) 
        return;
    if (!left_para && !right_para) {
        printf("%s\n", str);
    }
    else {
        if (left_para > 0) {
            str[count] = '(';
            print_para(left_para-1, right_para, str, count+1);
        }
        if (right_para > left_para) {
            str[count] = ')';
            print_para(left_para, right_para-1, str, count+1);
        }
    }
}
Пример #5
0
int main() {
    int right_para = 3;
    int left_para = 3;
    char str[3+3] = {""};
    int count = 0;

    print_para(left_para, right_para, str, count);    
}
Пример #6
0
/* do print Parameter -------------------------------------------------------------*/
void dopComm()
{
	if (line[1] == 'a')
	{
		u8 i;
		for (i = 0;i <= USED_PARAMETER; i++)
		{
			print_para(i);
			Delay(5); // prevent txbuffer overvlow
		}
	}
	else
		{
		// add 2 chars to int from 0..99
		u8 set = (line[1] - 0x30) * 10 + (line[2] - 0x30);
		print_para(set);
		send(OK);
	}
}
Пример #7
0
/* flash parameter ---------------------------------------------------------*/
void flashAllParameter()
{	
	u16 i;
	for (i = 0;i <= USED_PARAMETER; i++)
	{
		writeFlashParameter(i, getParameter(i));
		print_para(i);
		Delay(2); // prevent txbuffer overvlow
	}
	// info user over uart1
	send(OK);
}
Пример #8
0
/* do set Parameter -------------------------------------------------------------*/
void dosComm()
{
	if (line[1] == 'a')
	{
		zeroACC();
	}
	else
	{
		// add 2 chars to int from 0..99
		u8 set = (line[1] - 0x30) * 10 + (line[2] - 0x30);
		setParameter(set, readInt(4));
		print_para(set);
	}
}
Пример #9
0
/* load Parameter from virtual EEPROM ---------------------------------------*/
void loadParameter()
{
	u16 val;
	u16 i;

	
	for (i = 0;i <= USED_PARAMETER; i++)
	{
		EE_ReadVariable(VirtAddVarTab[i], &val);
		parameter[i] = val;
		// for test
		print_para(i);
		Delay(2); // prevent txbuffer overvlow
	}
}
Пример #10
0
/* load default parameter to flash ------------------------------------------*/
void loadDefault()
{
	//#########################################################################
	// store default set if flash - only set 1
	//#########################################################################
	EE_WriteVariable(VirtAddVarTab[PARA_SET], 0x00);
	EE_WriteVariable(VirtAddVarTab[PARA_DEBUG], 0x00);
	EE_WriteVariable(VirtAddVarTab[PARA_HW], 0x01);
	EE_WriteVariable(VirtAddVarTab[PARA_VOLT], 0x8BC); //2236 = 10 Volt
	EE_WriteVariable(VirtAddVarTab[PARA_SW], 0x01); 
	EE_WriteVariable(VirtAddVarTab[PARA_ACC_X_ZERO], 0x7FF); 
	EE_WriteVariable(VirtAddVarTab[PARA_ACC_Y_ZERO], 0x7F1); 
	EE_WriteVariable(VirtAddVarTab[PARA_ACC_Z_ZERO], 0x7F8); 
	EE_WriteVariable(VirtAddVarTab[PARA_SMOOTH_ACC], 0x00); 
	EE_WriteVariable(VirtAddVarTab[PARA_SMOOTH_GYRO], 0x00); 
	EE_WriteVariable(VirtAddVarTab[PARA_SMOOTH_RC], 0x00); 
	EE_WriteVariable(VirtAddVarTab[PARA_GYRO_X_90], 0x898); 
	EE_WriteVariable(VirtAddVarTab[PARA_GYRO_Y_90], 0x898); 
	EE_WriteVariable(VirtAddVarTab[PARA_GYRO_Z_90], 0x898); 
	EE_WriteVariable(VirtAddVarTab[PARA_ACC_FORCE], 0x1F4); 
	EE_WriteVariable(VirtAddVarTab[PARA_GYRO_CORR], 0x1F4); 
	EE_WriteVariable(VirtAddVarTab[PARA_SERVO0_CH], 0x5);
	EE_WriteVariable(VirtAddVarTab[PARA_SERVO1_CH], 0x6); 
	EE_WriteVariable(VirtAddVarTab[PARA_SERVO2_CH], 0x7); 
	EE_WriteVariable(VirtAddVarTab[PARA_SERVO3_CH], 0x8);  
	EE_WriteVariable(VirtAddVarTab[PARA_CAM_X], 0x5014);   //servo 2 , 0, wert 500
	EE_WriteVariable(VirtAddVarTab[PARA_CAM_Y], 0x7724);   //servo 3 , 0, wert 500
	EE_WriteVariable(VirtAddVarTab[PARA_MIN_GAS], 0x20);  
	//#########################################################################
	u16 val;
	u16 i;
	for (i = 0;i <= USED_PARAMETER; i++)
	{
		EE_ReadVariable(VirtAddVarTab[i], &val);
		parameter[i] = val;
		// for test
		print_para(i);
		Delay(2); // prevent txbuffer overvlow
	}
	// info user over uart1
	send(DEFAULT);
}
Пример #11
0
/* load Parameter from virtual EEPROM ---------------------------------------*/
void loadParameter()
{
	u16 val;
	u16 i;

	// test if flash is clear
	EE_ReadVariable(401, &val);
	if (val != 99)
	{
		loadDefault();
	}
	EE_WriteVariable(401, 99);
	
	for (i = 0;i <= USED_PARAMETER; i++)
	{
		EE_ReadVariable(VirtAddVarTab[i], &val);
		parameter[i] = val;
		// for test
		print_para(i);
		Delay(2); // prevent txbuffer overvlow
	}
}
Пример #12
0
/* load default parameter to flash ------------------------------------------*/
void loadDefault()
{
	//#########################################################################
	// store default set if flash - only set 1
	//#########################################################################
	EE_WriteVariable(VirtAddVarTab[PARA_SET], 0);
	EE_WriteVariable(VirtAddVarTab[PARA_DEBUG], 0);
	EE_WriteVariable(VirtAddVarTab[PARA_HW], 3); //0=RC,1=PC,2=MotMix,4=Compass
	EE_WriteVariable(VirtAddVarTab[PARA_VOLT], 2236); //2236 = 10 Volt
	EE_WriteVariable(VirtAddVarTab[PARA_SW], 1);  //0=HH,1=acc,2=comp2, 3=DCM 
	EE_WriteVariable(VirtAddVarTab[PARA_ACC_X_ZERO], 20536); //20470
	EE_WriteVariable(VirtAddVarTab[PARA_ACC_Y_ZERO], 20369); //20330
	EE_WriteVariable(VirtAddVarTab[PARA_ACC_Z_ZERO], 20452); //24450
	EE_WriteVariable(VirtAddVarTab[PARA_SMOOTH_ACC], 200); 
	EE_WriteVariable(VirtAddVarTab[PARA_STICK_FACTOR], 20); 
	EE_WriteVariable(VirtAddVarTab[PARA_SMOOTH_RC], 00); 
	EE_WriteVariable(VirtAddVarTab[PARA_GYRO_X_90], 2200); 
	EE_WriteVariable(VirtAddVarTab[PARA_GYRO_Y_90], 2200); 
	EE_WriteVariable(VirtAddVarTab[PARA_GYRO_Z_90], 2200); 
	EE_WriteVariable(VirtAddVarTab[PARA_ACC_FORCE], 300); //50 
	EE_WriteVariable(VirtAddVarTab[PARA_GYRO_CORR], 50); //25
	EE_WriteVariable(VirtAddVarTab[PARA_SERVO0_CH], 5); //Kanal 5
	EE_WriteVariable(VirtAddVarTab[PARA_SERVO1_CH], 6); //Kanal 6
	EE_WriteVariable(VirtAddVarTab[PARA_SERVO2_CH], 7); //Kanal 7 
	EE_WriteVariable(VirtAddVarTab[PARA_SERVO3_CH], 8); //Kanal 8  
	EE_WriteVariable(VirtAddVarTab[PARA_CAM_X], 20500);   //servo 2 , 0, wert 500
	EE_WriteVariable(VirtAddVarTab[PARA_CAM_Y], 30500);   //servo 3 , 0, wert 500
	EE_WriteVariable(VirtAddVarTab[PARA_MIN_GAS], 10);  // min gas 24 
	EE_WriteVariable(VirtAddVarTab[PARA_P_X], 1000); //23:1000  
	EE_WriteVariable(VirtAddVarTab[PARA_I_X], 0); //24: 
	EE_WriteVariable(VirtAddVarTab[PARA_D_X], 3000);  //25:3000
	EE_WriteVariable(VirtAddVarTab[PARA_P_Y], 1000);  //26:
	EE_WriteVariable(VirtAddVarTab[PARA_I_Y], 0); //27: 
	EE_WriteVariable(VirtAddVarTab[PARA_D_Y], 3000);  //28:
	EE_WriteVariable(VirtAddVarTab[PARA_P_Z], 0);  //29:
	EE_WriteVariable(VirtAddVarTab[PARA_I_Z], 0);  //30:
	EE_WriteVariable(VirtAddVarTab[PARA_D_Z], 0);  //31:
	EE_WriteVariable(VirtAddVarTab[PARA_COMP_CORR_X], 0);  
	EE_WriteVariable(VirtAddVarTab[PARA_COMP_CORR_Y], 0);  
	EE_WriteVariable(VirtAddVarTab[PARA_COMP_CORR_Z], 0);  
	EE_WriteVariable(VirtAddVarTab[PARA_COMP_DECL], 0);  
	EE_WriteVariable(VirtAddVarTab[PARA_COMP_FORCE], 0); 
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT1A], 25600); //100, 0  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT1B], 40092); //-100, -100
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT2A], 25600); //100, 0  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT2B], 25756); //100, -100  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT3A], 25700); //100, 100 
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT3B], 100); //0, 100  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT4A], 25828); //100, -100  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT4B], 100); //0, 100  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT5A], 25600); //100, 0 - Motor not used 
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT5B], 25600);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT6A], 25600);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT6B], 25600);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT7A], 25600);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT7B], 25600);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT8A], 25600);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT8B], 25600);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT9A], 25600);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT9B], 25600);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT10A], 25600);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT10B], 25600);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT11A], 25600);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT11B], 25600);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT12A], 25600);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT12B], 25600);   
	//#########################################################################
	u16 val;
	u16 i;
	for (i = 0;i <= USED_PARAMETER; i++)
	{
		EE_ReadVariable(VirtAddVarTab[i], &val);
		parameter[i] = val;
		// for test
		print_para(i);
		Delay(2); // prevent txbuffer overvlow
	}
	// info user over uart1
	send(DEFAULT);
}
Пример #13
0
/* load default parameter to flash ------------------------------------------*/
void loadDefault()
{
	//#########################################################################
	// store default set if flash - only set 1
	//#########################################################################
	EE_WriteVariable(VirtAddVarTab[PARA_SET], 0x00);
	EE_WriteVariable(VirtAddVarTab[PARA_DEBUG], 0x00);
	EE_WriteVariable(VirtAddVarTab[PARA_HW], 0x01);
	EE_WriteVariable(VirtAddVarTab[PARA_VOLT], 0x8BC); //2236 = 10 Volt
	EE_WriteVariable(VirtAddVarTab[PARA_SW], 0x01);  //0=HH,1=acc,2=comp2 
	EE_WriteVariable(VirtAddVarTab[PARA_ACC_X_ZERO], 0x4FF6); 
	EE_WriteVariable(VirtAddVarTab[PARA_ACC_Y_ZERO], 0x4F6A); 
	EE_WriteVariable(VirtAddVarTab[PARA_ACC_Z_ZERO], 0x4FB0); 
	EE_WriteVariable(VirtAddVarTab[PARA_SMOOTH_ACC], 0x00); 
	EE_WriteVariable(VirtAddVarTab[PARA_SMOOTH_GYRO], 0x00); 
	EE_WriteVariable(VirtAddVarTab[PARA_SMOOTH_RC], 0x00); 
	EE_WriteVariable(VirtAddVarTab[PARA_GYRO_X_90], 0x898); 
	EE_WriteVariable(VirtAddVarTab[PARA_GYRO_Y_90], 0x898); 
	EE_WriteVariable(VirtAddVarTab[PARA_GYRO_Z_90], 0x898); 
	EE_WriteVariable(VirtAddVarTab[PARA_ACC_FORCE], 0x1F4); 
	EE_WriteVariable(VirtAddVarTab[PARA_GYRO_CORR], 0x1F4); 
	EE_WriteVariable(VirtAddVarTab[PARA_SERVO0_CH], 0x5);
	EE_WriteVariable(VirtAddVarTab[PARA_SERVO1_CH], 0x6); 
	EE_WriteVariable(VirtAddVarTab[PARA_SERVO2_CH], 0x7); 
	EE_WriteVariable(VirtAddVarTab[PARA_SERVO3_CH], 0x8);  
	EE_WriteVariable(VirtAddVarTab[PARA_CAM_X], 0x5014);   //servo 2 , 0, wert 500
	EE_WriteVariable(VirtAddVarTab[PARA_CAM_Y], 0x7724);   //servo 3 , 0, wert 500
	EE_WriteVariable(VirtAddVarTab[PARA_MIN_GAS], 0x18);  // min gas 24 
	EE_WriteVariable(VirtAddVarTab[PARA_P_X], 0x64);  
	EE_WriteVariable(VirtAddVarTab[PARA_I_X], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_D_X], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_P_Y], 0x64);  
	EE_WriteVariable(VirtAddVarTab[PARA_I_Y], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_D_Y], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_P_Z], 0x64);  
	EE_WriteVariable(VirtAddVarTab[PARA_I_Z], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_D_Z], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_COMP_CORR_X], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_COMP_CORR_Y], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_COMP_CORR_Z], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_COMP_DECL], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_COMP_FORCE], 0x1F4); 
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT1A], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT1B], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT2A], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT2B], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT3A], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT3B], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT4A], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT4B], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT5A], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT5B], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT6A], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT6B], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT7A], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT7B], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT8A], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT8B], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT9A], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT9B], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT10A], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT10B], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT11A], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT11B], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT12A], 0x0);  
	EE_WriteVariable(VirtAddVarTab[PARA_MIXER_MOT12B], 0x0);   
	//#########################################################################
	u16 val;
	u16 i;
	for (i = 0;i <= USED_PARAMETER; i++)
	{
		EE_ReadVariable(VirtAddVarTab[i], &val);
		parameter[i] = val;
		// for test
		print_para(i);
		Delay(2); // prevent txbuffer overvlow
	}
	// info user over uart1
	send(DEFAULT);
}