* [PATCH Bluez v2] tools/mesh-cfgclient: add network transmit get/set commands
@ 2019-11-11 19:55 Aurelien Jarno
2019-12-16 22:50 ` Gix, Brian
0 siblings, 1 reply; 2+ messages in thread
From: Aurelien Jarno @ 2019-11-11 19:55 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Aurelien Jarno
Add network-transmit-get and network-transmit-set commands as per
Mesh Profile 4.3.2.69, 4.3.2.70 and 4.3.2.71.
---
tools/mesh/cfgcli.c | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
Changes v1 -> v2:
- Fix the cnt/steps fields ordering
diff --git a/tools/mesh/cfgcli.c b/tools/mesh/cfgcli.c
index a4de42943..04edc706c 100644
--- a/tools/mesh/cfgcli.c
+++ b/tools/mesh/cfgcli.c
@@ -621,6 +621,15 @@ static bool msg_recvd(uint16_t src, uint16_t idx, uint8_t *data,
src, mesh_status_str(data[0]));
break;
+
+ /* Per Mesh Profile 4.3.2.71 */
+ case OP_CONFIG_NETWORK_TRANSMIT_STATUS:
+ if (len != 1)
+ return true;
+
+ bt_shell_printf("Node %4.4x: Network transmit cnt %d, steps %d\n",
+ src, data[0] & 7, data[0] >> 3);
+ break;
}
return true;
@@ -1334,6 +1343,33 @@ static void cmd_node_reset(int argc, char *argv[])
cmd_default(OP_NODE_RESET);
}
+static void cmd_network_transmit_get(int argc, char *argv[])
+{
+ cmd_default(OP_CONFIG_NETWORK_TRANSMIT_GET);
+}
+
+static void cmd_network_transmit_set(int argc, char *argv[])
+{
+ uint16_t n;
+ uint8_t msg[2 + 1];
+ int parm_cnt;
+
+ n = mesh_opcode_set(OP_CONFIG_NETWORK_TRANSMIT_SET, msg);
+
+ parm_cnt = read_input_parameters(argc, argv);
+ if (parm_cnt != 2) {
+ bt_shell_printf("bad arguments\n");
+ return bt_shell_noninteractive_quit(EXIT_FAILURE);
+ }
+
+ msg[n++] = parms[0] | (parms[1] << 3);
+
+ if (!config_send(msg, n, OP_CONFIG_NETWORK_TRANSMIT_SET))
+ return bt_shell_noninteractive_quit(EXIT_FAILURE);
+
+ return bt_shell_noninteractive_quit(EXIT_SUCCESS);
+}
+
static bool tx_setup(model_send_msg_func_t send_func, void *user_data)
{
if (!send_func)
@@ -1414,6 +1450,10 @@ static const struct bt_shell_menu cfg_menu = {
"Get subscription"},
{"node-reset", NULL, cmd_node_reset,
"Reset a node and remove it from network"},
+ {"network-transmit-get", NULL, cmd_network_transmit_get,
+ "Get network transmit state"},
+ {"network-transmit-set", "<count> <steps>", cmd_network_transmit_set,
+ "Set network transmit state"},
{} },
};
--
2.24.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH Bluez v2] tools/mesh-cfgclient: add network transmit get/set commands
2019-11-11 19:55 [PATCH Bluez v2] tools/mesh-cfgclient: add network transmit get/set commands Aurelien Jarno
@ 2019-12-16 22:50 ` Gix, Brian
0 siblings, 0 replies; 2+ messages in thread
From: Gix, Brian @ 2019-12-16 22:50 UTC (permalink / raw)
To: aurelien, linux-bluetooth
Applied with minor re-arrange for multiple command adds
Thanks
On Mon, 2019-11-11 at 20:55 +0100, Aurelien Jarno wrote:
> Add network-transmit-get and network-transmit-set commands as per
> Mesh Profile 4.3.2.69, 4.3.2.70 and 4.3.2.71.
> ---
> tools/mesh/cfgcli.c | 40 ++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 40 insertions(+)
>
> Changes v1 -> v2:
> - Fix the cnt/steps fields ordering
>
> diff --git a/tools/mesh/cfgcli.c b/tools/mesh/cfgcli.c
> index a4de42943..04edc706c 100644
> --- a/tools/mesh/cfgcli.c
> +++ b/tools/mesh/cfgcli.c
> @@ -621,6 +621,15 @@ static bool msg_recvd(uint16_t src, uint16_t idx, uint8_t *data,
> src, mesh_status_str(data[0]));
>
> break;
> +
> + /* Per Mesh Profile 4.3.2.71 */
> + case OP_CONFIG_NETWORK_TRANSMIT_STATUS:
> + if (len != 1)
> + return true;
> +
> + bt_shell_printf("Node %4.4x: Network transmit cnt %d, steps %d\n",
> + src, data[0] & 7, data[0] >> 3);
> + break;
> }
>
> return true;
> @@ -1334,6 +1343,33 @@ static void cmd_node_reset(int argc, char *argv[])
> cmd_default(OP_NODE_RESET);
> }
>
> +static void cmd_network_transmit_get(int argc, char *argv[])
> +{
> + cmd_default(OP_CONFIG_NETWORK_TRANSMIT_GET);
> +}
> +
> +static void cmd_network_transmit_set(int argc, char *argv[])
> +{
> + uint16_t n;
> + uint8_t msg[2 + 1];
> + int parm_cnt;
> +
> + n = mesh_opcode_set(OP_CONFIG_NETWORK_TRANSMIT_SET, msg);
> +
> + parm_cnt = read_input_parameters(argc, argv);
> + if (parm_cnt != 2) {
> + bt_shell_printf("bad arguments\n");
> + return bt_shell_noninteractive_quit(EXIT_FAILURE);
> + }
> +
> + msg[n++] = parms[0] | (parms[1] << 3);
> +
> + if (!config_send(msg, n, OP_CONFIG_NETWORK_TRANSMIT_SET))
> + return bt_shell_noninteractive_quit(EXIT_FAILURE);
> +
> + return bt_shell_noninteractive_quit(EXIT_SUCCESS);
> +}
> +
> static bool tx_setup(model_send_msg_func_t send_func, void *user_data)
> {
> if (!send_func)
> @@ -1414,6 +1450,10 @@ static const struct bt_shell_menu cfg_menu = {
> "Get subscription"},
> {"node-reset", NULL, cmd_node_reset,
> "Reset a node and remove it from network"},
> + {"network-transmit-get", NULL, cmd_network_transmit_get,
> + "Get network transmit state"},
> + {"network-transmit-set", "<count> <steps>", cmd_network_transmit_set,
> + "Set network transmit state"},
> {} },
> };
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-12-16 22:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-11 19:55 [PATCH Bluez v2] tools/mesh-cfgclient: add network transmit get/set commands Aurelien Jarno
2019-12-16 22:50 ` Gix, Brian
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.