Beispiel #1
0
static int host_init(dig_params_t *params)
{
	// Initialize params with dig defaults.
	int ret = dig_init(params);

	if (ret != KNOT_EOK) {
		return ret;
	}

	// Set host specific defaults.
	free(params->config->port);
	params->config->port = strdup(DEFAULT_DNS_PORT);
	params->config->retries = DEFAULT_RETRIES_HOST;
	params->config->wait = DEFAULT_TIMEOUT_HOST;
	params->config->servfail_stop = false;
	params->config->class_num = KNOT_CLASS_IN;
	params->config->style = DEFAULT_STYLE_HOST;

	// Check port.
	if (params->config->port == NULL) {
		query_free(params->config);
		return KNOT_ENOMEM;
	}

	return KNOT_EOK;
}
Beispiel #2
0
int main( void )
{
    uint16_t mtr_cnt[4] = {0,0,0,0};
	
	cli();

	palsetimer_init(); /* タイマ1インプットキャプチャ設定 */
	timer2_init();     /* タイマ2割り込み設定 */
	dig_init();        /* 出力ポート指定、初期化 */
    sei();             /* SREG の設定 - 割り込み有効 */

	rpm   = 4321;
	count = 0;
	wait_time = 0;                /* タイマークリア */

	while(1)
	{
		dig_putrpm();             /* 前の RPM を1sec表示。その間にモーターカウント。 */

		/* RPM を算出
		 * 実測値より、5パルスあたり1回転のため、
		 * rpm = mtr_cnt × 60 ÷ (5*サンプリングsec)
		 */
		mtr_cnt[sec_cnt] = count;
		count = 0;                /* 1secのカウント開始 */
		rpm = (mtr_cnt[0] + mtr_cnt[1] + mtr_cnt[2] + mtr_cnt[3]) * (60/(5*RPM_SAMPLING_SEC));
		
		sec_cnt++;
		sec_cnt &= 0x3;           /* 0-3を繰り返す */

	}


}
Beispiel #3
0
FILE *open_vect(char *name, char *mapset)
{
    FILE *fd;
    char msg[128];

    fd = G_fopen_vector_old(name, mapset);
    if (fd == NULL) {
	sprintf(msg, "can't open vector map [%s]", name);
	G_fatal_error(msg);
    }
    if (dig_init(fd) < 0) {
	sprintf(msg, "can't initialize vector map [%s]", name);
	G_fatal_error(msg);
    }
    return fd;
}