Revert "create EIS battery volt update interval characteristic (uint: ms)"

This reverts commit 811bcae588.
This commit is contained in:
chain40
2023-05-11 20:34:06 +08:00
parent 811bcae588
commit 4894838edf
2 changed files with 24 additions and 91 deletions
+3 -14
View File
@@ -27,32 +27,21 @@ extern "C"
}
#endif
static uint16_t volt = 3100;
static uint16_t interval = 1000;
static uint16_t volt = 3100;
uint16_t bas_volt_read(void)
{
return volt;
}
uint16_t bas_volt_interval_read(void)
{
return interval;
}
void bas_volt_interval_write(uint16_t new_interval)
{
interval = new_interval;
}
void battery_task(void *pArg)
{
for (;;)
{
// battery psuedo code
vTaskDelay(pdMS_TO_TICKS(interval));
vTaskDelay(pdMS_TO_TICKS(1000));
volt = volt ? volt - 1 : 3100;
// update battery volt
extern void le_eis_bat_volt_update(uint16_t bat_volt);
le_eis_bat_volt_update(volt);
+21 -77
View File
@@ -21,9 +21,8 @@
0x4D, 0x3C, 0x56, 0x45, 0x12, 0x8B, 0x44, 0x1D, 0x8D, 0x6F, 0xC5, 0x95, 0x00, 0x00, 0x9B, 0xD8 \
} \
}
#define BLE_UUID_EIS_SERVICE 0x0001
#define BLE_UUID_EIS_BAT_VOLT_CHAR 0x0002
#define BLE_UUID_EIS_BAT_VOLT_INTERVAL_CHAR 0x0003
#define BLE_UUID_EIS_SERVICE 0x0001
#define BLE_UUID_EIS_BAT_VOLT_CHAR 0x0002
typedef struct
{
@@ -32,14 +31,11 @@ typedef struct
ble_gatts_char_handles_t bat_volt_handles;
bool bat_volt_notify_en;
uint16_t bat_volt;
ble_gatts_char_handles_t bat_volt_interval_handles;
uint16_t bat_volt_interval;
} ble_eis_t;
typedef struct
{
uint16_t battery_volt;
uint16_t battery_volt_bat_volt_interval;
} ble_eis_init_t;
static ble_eis_t ble_eis = {
@@ -75,34 +71,8 @@ static void on_write(ble_eis_t *p_eis, ble_evt_t const *p_ble_evt)
case BLE_UUID_DESCRIPTOR_CLIENT_CHAR_CONFIG:
eis_ccc_update(p_eis, p_ble_evt);
break;
default: {
ble_gatts_evt_write_t const *p_evt_write = &p_ble_evt->evt.gatts_evt.params.write;
if (p_evt_write->handle == p_eis->bat_volt_interval_handles.value_handle)
{
extern void bas_volt_interval_write(uint16_t new_interval);
if (p_evt_write->len == sizeof(p_eis->bat_volt_interval))
{
// update interval
p_eis->bat_volt_interval = *(uint16_t *)p_evt_write->data;
// if interval < 100ms, set interval = 100ms
if (p_eis->bat_volt_interval < 100)
{
p_eis->bat_volt_interval = 100;
}
bas_volt_interval_write(p_eis->bat_volt_interval);
// update database.
ble_gatts_value_t gatts_value = {
.p_value = (void *)&p_eis->bat_volt_interval,
.offset = 0,
.len = sizeof(p_eis->bat_volt_interval),
};
ret_code_t err_code = sd_ble_gatts_value_set(BLE_CONN_HANDLE_INVALID, p_eis->bat_volt_interval_handles.value_handle, &gatts_value);
APP_ERROR_CHECK(err_code);
}
}
default:
break;
}
break;
}
}
@@ -144,8 +114,7 @@ static uint32_t ble_eis_init(ble_eis_init_t const *p_eis_init)
.uuid = BLE_UUID_EIS_SERVICE,
};
ble_eis.bat_volt = p_eis_init->battery_volt;
ble_eis.bat_volt_interval = p_eis_init->battery_volt_bat_volt_interval;
ble_eis.bat_volt = p_eis_init->battery_volt;
// Adding vendor specific UUID to the SoftDevice
err_code = sd_ble_uuid_vs_add(&base_uuid, &ble_uuid.type);
@@ -155,43 +124,22 @@ static uint32_t ble_eis_init(ble_eis_init_t const *p_eis_init)
err_code = sd_ble_gatts_service_add(BLE_GATTS_SRVC_TYPE_PRIMARY, &ble_uuid, &ble_eis.service_handle);
APP_ERROR_CHECK(err_code);
{
// Adding proprietary characteristic to the SoftDevice
ble_add_char_params_t add_char_params;
memset(&add_char_params, 0, sizeof(add_char_params));
add_char_params.uuid = BLE_UUID_EIS_BAT_VOLT_CHAR;
add_char_params.uuid_type = ble_uuid.type;
add_char_params.max_len = sizeof(p_eis_init->battery_volt);
add_char_params.init_len = sizeof(p_eis_init->battery_volt);
add_char_params.p_init_value = (void *)&ble_eis.bat_volt;
add_char_params.is_value_user = false;
add_char_params.is_var_len = false;
add_char_params.char_props.read = 1;
add_char_params.read_access = SEC_OPEN;
add_char_params.char_props.notify = 1;
add_char_params.cccd_write_access = SEC_OPEN;
err_code = characteristic_add(ble_eis.service_handle, &add_char_params, &ble_eis.bat_volt_handles);
APP_ERROR_CHECK(err_code);
}
{
// Adding proprietary characteristic to the SoftDevice
ble_add_char_params_t add_char_params;
memset(&add_char_params, 0, sizeof(add_char_params));
add_char_params.uuid = BLE_UUID_EIS_BAT_VOLT_INTERVAL_CHAR;
add_char_params.uuid_type = ble_uuid.type;
add_char_params.max_len = sizeof(p_eis_init->battery_volt_bat_volt_interval);
add_char_params.init_len = sizeof(p_eis_init->battery_volt_bat_volt_interval);
add_char_params.p_init_value = (void *)&ble_eis.bat_volt_interval;
add_char_params.is_value_user = false;
add_char_params.is_var_len = false;
add_char_params.char_props.read = 1;
add_char_params.read_access = SEC_OPEN;
add_char_params.char_props.write = 1;
add_char_params.write_access = SEC_OPEN;
err_code = characteristic_add(ble_eis.service_handle, &add_char_params, &ble_eis.bat_volt_interval_handles);
APP_ERROR_CHECK(err_code);
}
// Adding proprietary characteristic to the SoftDevice
ble_add_char_params_t add_char_params;
memset(&add_char_params, 0, sizeof(add_char_params));
add_char_params.uuid = BLE_UUID_EIS_BAT_VOLT_CHAR;
add_char_params.uuid_type = ble_uuid.type;
add_char_params.max_len = sizeof(p_eis_init->battery_volt);
add_char_params.init_len = sizeof(p_eis_init->battery_volt);
add_char_params.p_init_value = (void *)&ble_eis.bat_volt;
add_char_params.is_value_user = false;
add_char_params.is_var_len = false;
add_char_params.char_props.read = 1;
add_char_params.read_access = SEC_OPEN;
add_char_params.char_props.notify = 1;
add_char_params.cccd_write_access = SEC_OPEN;
err_code = characteristic_add(ble_eis.service_handle, &add_char_params, &ble_eis.bat_volt_handles);
APP_ERROR_CHECK(err_code);
// Register a handler for BLE events.
NRF_SDH_BLE_OBSERVER(m_eis_observer, EIS_BLE_OBSERVER_PRIO, ble_eis_evt_handler, &ble_eis);
@@ -209,11 +157,7 @@ void le_eis_init(void)
extern uint16_t bas_volt_read(void);
eis_init.battery_volt = bas_volt_read();
extern uint8_t bas_volt_interval_read(void);
eis_init.battery_volt_bat_volt_interval = bas_volt_interval_read();
ret_code_t err_code = ble_eis_init(&eis_init);
ret_code_t err_code = ble_eis_init(&eis_init);
APP_ERROR_CHECK(err_code);
}