diff options
| author | Marcel Holtmann <marcel@holtmann.org> | 2005-08-22 20:38:18 +0000 | 
|---|---|---|
| committer | Marcel Holtmann <marcel@holtmann.org> | 2005-08-22 20:38:18 +0000 | 
| commit | 87af78afc0d5753583825f061c36f7705762c576 (patch) | |
| tree | 9635e055d1986e29b276e8c8655b9eeac331b044 /tools/bccmd.c | |
| parent | b207244243cb0407728fbbb5ff8cbe95f9d74260 (diff) | |
Add support for reset and transmitter modification
Diffstat (limited to 'tools/bccmd.c')
| -rw-r--r-- | tools/bccmd.c | 49 | 
1 files changed, 45 insertions, 4 deletions
| diff --git a/tools/bccmd.c b/tools/bccmd.c index df39a3df..e476165e 100644 --- a/tools/bccmd.c +++ b/tools/bccmd.c @@ -95,6 +95,22 @@ static int cmd_clock(int dd, int argc, char *argv[])  	return 0;  } +static int cmd_rand(int dd, int argc, char *argv[]) +{ +	uint16_t rand = 0; +	int err; + +	err = csr_read_varid_uint16(dd, 5, CSR_VARID_RAND, &rand); +	if (err < 0) { +		errno = -err; +		return -1; +	} + +	printf("Random number: 0x%02x (%d)\n", rand, rand); + +	return 0; +} +  static int cmd_panicarg(int dd, int argc, char *argv[])  {  	uint16_t error = 0; @@ -129,16 +145,41 @@ static int cmd_faultarg(int dd, int argc, char *argv[])  	return 0;  } +static int cmd_coldreset(int dd, int argc, char *argv[]) +{ +	return csr_write_varid_valueless(dd, 0, CSR_VARID_COLD_RESET); +} + +static int cmd_warmreset(int dd, int argc, char *argv[]) +{ +	return csr_write_varid_valueless(dd, 0, CSR_VARID_WARM_RESET); +} + +static int cmd_disabletx(int dd, int argc, char *argv[]) +{ +	return csr_write_varid_valueless(dd, 0, CSR_VARID_DISABLE_TX); +} + +static int cmd_enabletx(int dd, int argc, char *argv[]) +{ +	return csr_write_varid_valueless(dd, 0, CSR_VARID_ENABLE_TX); +} +  static struct {  	char *str;  	int (*func)(int dd, int argc, char **argv);  	char *arg;  	char *doc;  } commands[] = { -	{ "keylen",   cmd_keylen,   "<handle>", "Get current crypt key length" }, -	{ "clock",    cmd_clock,    "",         "Get local Bluetooth clock"    }, -	{ "panicarg", cmd_panicarg, "",         "Get panic code argument"      }, -	{ "faultarg", cmd_faultarg, "",         "Get fault code argument"      }, +	{ "keylen",    cmd_keylen,    "<handle>", "Get current crypt key length" }, +	{ "clock",     cmd_clock,     "",         "Get local Bluetooth clock"    }, +	{ "rand",      cmd_rand,      "",         "Get random number"            }, +	{ "panicarg",  cmd_panicarg,  "",         "Get panic code argument"      }, +	{ "faultarg",  cmd_faultarg,  "",         "Get fault code argument"      }, +	{ "coldreset", cmd_coldreset, "",         "Perform cold reset"           }, +	{ "warmreset", cmd_warmreset, "",         "Perform warm reset"           }, +	{ "disabletx", cmd_disabletx, "",         "Disable TX on the device"     }, +	{ "enabletx",  cmd_enabletx,  "",         "Enable TX on the device"      },  	{ NULL },  }; | 
