Re: [PATCH V2 1/8] mesh: meshctl: Change command names to <cmd>-<get/set>

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Inga,
On Thu, 2017-12-14 at 08:08 +0000, Stotland, Inga wrote:
> Hi Steve,
> 
> On Tue, 2017-12-12 at 12:58 +0000, sbrown@xxxxxxxxxxxx wrote:
> > From: Steve Brown <sbrown@xxxxxxxxxxxx>
> > 
> > Fix lines over 80 chars
> > Move cmd_default()
> > Add parameter to pub-set to control retransmit count
> > ---
> >  mesh/config-client.c | 78 +++++++++++++++++++++++++++-------------
> > --
> > ----------
> >  1 file changed, 41 insertions(+), 37 deletions(-)
> > 
> > diff --git a/mesh/config-client.c b/mesh/config-client.c
> > index 3d618b6a6..51adf2c52 100644
> > --- a/mesh/config-client.c
> > +++ b/mesh/config-client.c
> > @@ -170,9 +170,9 @@ static bool client_msg_recvd(uint16_t src,
> > uint8_t *data,
> >  		if (len != 12 && len != 14)
> >  			return true;
> >  
> > -		bt_shell_printf("\nSet publication for node %4.4x
> > status: %s\n", src,
> > -				data[0] == MESH_STATUS_SUCCESS ?
> > "Success" :
> > -						mesh_status_str(da
> > ta
> > [0]));
> > +		bt_shell_printf("\nSet publication for node %4.4x
> > status: %s\n",
> > +				src, data[0] ==
> > MESH_STATUS_SUCCESS
> > ?
> > +				"Success" :
> > mesh_status_str(data[0]));
> >  
> >  		if (data[0] != MESH_STATUS_SUCCESS)
> >  			return true;
> > @@ -189,6 +189,7 @@ static bool client_msg_recvd(uint16_t src,
> > uint8_t *data,
> >  		pub.ttl = data[7];
> >  		pub.period = data[8];
> >  		n = (data[8] & 0x3f);
> > +		bt_shell_printf("Publication address: 0x%04x\n",
> > pub.u.addr16);
> >  		switch (data[8] >> 6) {
> >  		case 0:
> >  			bt_shell_printf("Period: %d ms\n", n *
> > 100);
> > @@ -206,7 +207,8 @@ static bool client_msg_recvd(uint16_t src,
> > uint8_t *data,
> >  
> >  		pub.retransmit = data[9];
> >  		bt_shell_printf("Retransmit count: %d\n", data[9]
> > >>
> > 5);
> > -		bt_shell_printf("Retransmit Interval Steps: %d\n",
> > data[9] & 0x1f);
> > +		bt_shell_printf("Retransmit Interval Steps: %d\n",
> > +				data[9] & 0x1f);
> >  
> >  		ele_idx = ele_addr - node_get_primary(node);
> >  
> > @@ -219,6 +221,7 @@ static bool client_msg_recvd(uint16_t src,
> > uint8_t *data,
> >  				     node_model_pub_get(node,
> > ele_idx, mod_id));
> >  		break;
> >  	}
> > +
> >  	return true;
> >  }
> >  
> > @@ -287,6 +290,23 @@ static bool config_send(uint8_t *buf, uint16_t
> > len)
> >  
> >  }
> >  
> > +static void cmd_default(uint32_t opcode)
> > +{
> > +	uint16_t n;
> > +	uint8_t msg[32];
> > +
> > +	if (IS_UNASSIGNED(target)) {
> > +		bt_shell_printf("Destination not set\n");
> > +		return;
> > +	}
> > +
> > +	n = mesh_opcode_set(opcode, msg);
> > +
> > +	if (!config_send(msg, n))
> > +		bt_shell_printf("Failed to send command (opcode
> > 0x%x)\n",
> > +								op
> > co
> > de);
> > +}
> > +
> >  static void cmd_get_composition(int argc, char *argv[])
> >  {
> >  	uint16_t n;
> > @@ -556,7 +576,7 @@ static void cmd_set_pub(int argc, char *argv[])
> >  	n = mesh_opcode_set(OP_CONFIG_MODEL_PUB_SET, msg);
> >  
> >  	parm_cnt = read_input_parameters(argc, argv);
> > -	if (parm_cnt != 5) {
> > +	if (parm_cnt != 6) {
> >  		bt_shell_printf("Bad arguments\n");
> >  		return;
> >  	}
> > @@ -574,14 +594,14 @@ static void cmd_set_pub(int argc, char
> > *argv[])
> >  	/* Publish period  step count and step resolution */
> >  	msg[n++] = parms[3];
> >  	/* Publish retransmit count & interval steps */
> > -	msg[n++] = (1 << 5) + 2;
> > +	msg[n++] = parms[4];
> >  	/* Model Id */
> > -	if (parms[4] > 0xffff) {
> > -		put_le16(parms[4] >> 16, msg + n);
> > -		put_le16(parms[4], msg + n + 2);
> > +	if (parms[5] > 0xffff) {
> > +		put_le16(parms[5] >> 16, msg + n);
> > +		put_le16(parms[5], msg + n + 2);
> >  		n += 4;
> >  	} else {
> > -		put_le16(parms[4], msg + n);
> > +		put_le16(parms[5], msg + n);
> >  		n += 2;
> >  	}
> >  
> > @@ -589,23 +609,6 @@ static void cmd_set_pub(int argc, char
> > *argv[])
> >  		bt_shell_printf("Failed to send \"SET MODEL
> > PUBLICATION\"\n");
> >  }
> >  
> > -static void cmd_default(uint32_t opcode)
> > -{
> > -	uint16_t n;
> > -	uint8_t msg[32];
> > -
> > -	if (IS_UNASSIGNED(target)) {
> > -		bt_shell_printf("Destination not set\n");
> > -		return;
> > -	}
> > -
> > -	n = mesh_opcode_set(opcode, msg);
> > -
> > -	if (!config_send(msg, n))
> > -		bt_shell_printf("Failed to send command (opcode
> > 0x%x)\n",
> > -								op
> > co
> > de);
> > -}
> > -
> >  static void cmd_get_ttl(int argc, char *argv[])
> >  {
> >  	cmd_default(OP_CONFIG_DEFAULT_TTL_GET);
> > @@ -614,27 +617,28 @@ static void cmd_get_ttl(int argc, char
> > *argv[])
> >  static const struct bt_shell_menu cfg_menu = {
> >  	.name = "config",
> >  	.entries = {
> > -	{"target",		"<unicast>",			
> > cmd_set_node,
> > +	{"target",		"<unicast>",		cmd_
> > se
> > t_node,
> >  						"Set target node
> > to
> > configure"},
> > -	{"get-composition",	"[<page_num>]",		
> > cm
> > d_get_composition,
> > +	{"composition-get",	"[<page_num>]",		
> > cm
> > d_get_composition,
> >  						"Get Composition
> > Data"},
> > -	{"add-netkey",		"<net_idx>",			
> > cmd_add_net_key,
> > +	{"netkey-add",		"<net_idx>",		
> > cm
> > d_add_net_key,
> >  						"Add network
> > key"},
> > -	{"del-netkey",		"<net_idx>",			
> > cmd_del_net_key,
> > +	{"netkey-del",		"<net_idx>",		
> > cm
> > d_del_net_key,
> >  						"Delete network
> > key"},
> > -	{"add-appkey",		"<app_idx>",			
> > cmd_add_app_key,
> > +	{"appkey-add",		"<app_idx>",		
> > cm
> > d_add_app_key,
> >  						"Add application
> > key"},
> > -	{"del-appkey",		"<app_idx>",			
> > cmd_del_app_key,
> > +	{"appkey-del",		"<app_idx>",		
> > cm
> > d_del_app_key,
> >  						"Delete
> > application
> > key"},
> >  	{"bind",		"<ele_idx> <app_idx> <mod_id>
> > [cid]",
> >  				cmd_bind,	"Bind app key to
> > a
> > model"},
> > -	{"set-ttl",		"<ttl>",			
> > c
> > md_set_ttl,
> > +	{"ttl-set",		"<ttl>",		cmd_set
> > _t
> > tl,
> >  						"Set default
> > TTL"},
> > -	{"get-ttl",		NULL,			cm
> > d_
> > get_ttl,
> > +	{"ttl-get",		NULL,			cm
> > d_
> > get_ttl,
> >  						"Get default
> > TTL"},
> > -	{"set-pub", "<ele_addr> <pub_addr> <app_idx> "
> > -						"<period
> > (step|res)>
> > <model>",
> > +	{"pub-set", "<ele_addr> <pub_addr> <app_idx> "
> > +			"<period (step|res)> <re-xmt (count|per)>
> > <model>",
> >  				cmd_set_pub,	"Set
> > publication"},
> > +
> >  	{} },
> >  };
> >  
> 
> Since you are modifying pub-set command, could you please fix it to
> correctly indicate SIG and vendor models, similarly to "bind" command
> (adding an optional "cid" parameter for vendor models).
> 
> Regards,
> 
> Inga Stotland

It looks like the pub command already assumes it's a vendor model if
the model id is > 0xffff. Is that a correct assumption?

If it is, should I make the same change to bind and remove the optional
parameter?

Steve




--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux