static void write_descriptor_p(int argc, const char **argv) { int conn_id; btgatt_srvc_id_t srvc_id; btgatt_gatt_id_t char_id; btgatt_descr_id_t descr_id; int write_type; int len; int auth_req = 0; uint8_t value[200] = {0}; RETURN_IF_NULL(if_gatt); VERIFY_CONN_ID(2, conn_id); VERIFY_SRVC_ID(3, &srvc_id); VERIFY_CHAR_ID(4, &char_id); VERIFY_DESCR_ID(5, &descr_id); /* write type */ if (argc <= 6) { haltest_error("No write type specified\n"); return; } write_type = atoi(argv[6]); /* value */ if (argc <= 7) { haltest_error("No value specified\n"); return; } /* len in chars */ if (strncmp(argv[7], "0X", 2) && strncmp(argv[7], "0x", 2)) { haltest_error("Value must be hex string"); return; } len = fill_buffer(argv[7] + 2, value, sizeof(value)); /* auth_req */ if (argc > 8) auth_req = atoi(argv[8]); EXEC(if_gatt->client->write_descriptor, conn_id, &srvc_id, &char_id, &descr_id, write_type, len, auth_req, (char *) value); }
static void write_descriptor_p(int argc, const char **argv) { int conn_id; btgatt_srvc_id_t srvc_id; btgatt_gatt_id_t char_id; btgatt_descr_id_t descr_id; int write_type; int len; int auth_req = 0; uint8_t value[200] = {0}; RETURN_IF_NULL(if_gatt); VERIFY_CONN_ID(2, conn_id); VERIFY_SRVC_ID(3, &srvc_id); VERIFY_CHAR_ID(4, &char_id); VERIFY_DESCR_ID(5, &descr_id); /* write type */ if (argc <= 6) { haltest_error("No write type specified\n"); return; } write_type = atoi(argv[6]); /* value */ if (argc <= 7) { haltest_error("No value specified\n"); return; } /* len in chars */ len = strlen(argv[7]); scan_field(argv[7], len, value, sizeof(value)); /* len in bytes converted from ascii chars */ len = (len + 1) / 2; /* auth_req */ if (argc > 8) auth_req = atoi(argv[8]); EXEC(if_gatt->client->write_descriptor, conn_id, &srvc_id, &char_id, &descr_id, write_type, len, auth_req, (char *) value); }
static void read_descriptor_p(int argc, const char **argv) { int conn_id; btgatt_srvc_id_t srvc_id; btgatt_gatt_id_t char_id; btgatt_descr_id_t descr_id; int auth_req = 0; RETURN_IF_NULL(if_gatt); VERIFY_CONN_ID(2, conn_id); VERIFY_SRVC_ID(3, &srvc_id); VERIFY_CHAR_ID(4, &char_id); VERIFY_DESCR_ID(5, &descr_id); /* auth_req */ if (argc > 6) auth_req = atoi(argv[6]); EXEC(if_gatt->client->read_descriptor, conn_id, &srvc_id, &char_id, &descr_id, auth_req); }