Skip to content
Snippets Groups Projects
Commit 5ddc1877 authored by schneider's avatar schneider
Browse files

fix(bsec): Reduce stack usage by reusing a buffer

parent a44bc26e
No related branches found
No related tags found
1 merge request!380BSEC support
......@@ -162,8 +162,7 @@ return_values_init bsec_iot_init(float sample_rate, float temperature_offset, bm
return_values_init ret = {BME680_OK, BSEC_OK};
__attribute__((unused)) bsec_library_return_t bsec_status = BSEC_OK;
uint8_t bsec_state[BSEC_MAX_PROPERTY_BLOB_SIZE] = {0};
uint8_t bsec_config[BSEC_MAX_PROPERTY_BLOB_SIZE] = {0};
uint8_t bsec_data[BSEC_MAX_PROPERTY_BLOB_SIZE] = {0};
uint8_t work_buffer[BSEC_MAX_PROPERTY_BLOB_SIZE] = {0};
int bsec_state_len, bsec_config_len;
......@@ -190,10 +189,10 @@ return_values_init bsec_iot_init(float sample_rate, float temperature_offset, bm
}
/* Load library config, if available */
bsec_config_len = config_load(bsec_config, sizeof(bsec_config));
bsec_config_len = config_load(bsec_data, sizeof(bsec_data));
if (bsec_config_len != 0)
{
ret.bsec_status = bsec_set_configuration(bsec_config, bsec_config_len, work_buffer, sizeof(work_buffer));
ret.bsec_status = bsec_set_configuration(bsec_data, bsec_config_len, work_buffer, sizeof(work_buffer));
if (ret.bsec_status != BSEC_OK)
{
return ret;
......@@ -201,10 +200,10 @@ return_values_init bsec_iot_init(float sample_rate, float temperature_offset, bm
}
/* Load previous library state, if available */
bsec_state_len = state_load(bsec_state, sizeof(bsec_state));
bsec_state_len = state_load(bsec_data, sizeof(bsec_data));
if (bsec_state_len != 0)
{
ret.bsec_status = bsec_set_state(bsec_state, bsec_state_len, work_buffer, sizeof(work_buffer));
ret.bsec_status = bsec_set_state(bsec_data, bsec_state_len, work_buffer, sizeof(work_buffer));
if (ret.bsec_status != BSEC_OK)
{
return ret;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment