cmd_pll.c 1.21 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
#include <stdlib.h>
#include <string.h>
#include <errno.h>

#include "softpll_ng.h"
#include "shell.h"

int cmd_pll(const char *args[])
{
	int cur, tgt;
	
	if(!strcasecmp(args[0], "init"))
	{
		if(!args[3]) 
			return -EINVAL;
		spll_init(atoi(args[1]), atoi(args[2]), atoi(args[3]));
	} else if (!strcasecmp(args[0], "cl"))
	{
		if(!args[1]) 
			return -EINVAL;
		mprintf("%d\n", spll_check_lock(atoi(args[1])));
	} else if (!strcasecmp(args[0], "sps"))
	{
		if(!args[2]) 
			return -EINVAL;
		spll_set_phase_shift(atoi(args[1]), atoi(args[2]));
	} else if (!strcasecmp(args[0], "gps"))
	{
		if(!args[1]) 
			return -EINVAL;
		spll_get_phase_shift(atoi(args[1]), &cur, &tgt);
		printf("%d %d\n", cur, tgt);
	} else if (!strcasecmp(args[0], "start"))
	{
		if(!args[1]) 
			return -EINVAL;
		spll_start_channel(atoi(args[1]));
	} else if (!strcasecmp(args[0], "stop"))
	{
		if(!args[1]) 
			return -EINVAL;
		spll_stop_channel(atoi(args[1]));
	} else if (!strcasecmp(args[0], "sdac"))
	{
		if(!args[2]) 
			return -EINVAL;
		spll_set_dac(atoi(args[1]), atoi(args[2]));
	} else if (!strcasecmp(args[0], "gdac"))
	{
		if(!args[1]) 
			return -EINVAL;
		mprintf("%d\n", spll_get_dac(atoi(args[1])));
	} else return -EINVAL;
	
	return 0;
}