-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Description
I followed the "How to install the extension with BSEC" readme steps. I am using BSEC_2.2.0.0_Generic_Release_30052022. Since the BSEC library name changes depending on version (see also #14), I just named the folder libbsec and changed the following files:
Click to expand
$ git diff
diff --git a/bme68xmodule.c b/bme68xmodule.c
index d43671b..999286e 100644
--- a/bme68xmodule.c
+++ b/bme68xmodule.c
@@ -18,7 +18,7 @@ uint8_t bsec_state[BSEC_MAX_STATE_BLOB_SIZE];
uint8_t work_buffer[BSEC_MAX_WORKBUFFER_SIZE];
uint32_t bsec_state_len = 0;
bsec_library_return_t bsec_status = BSEC_OK;
-const char *bsec_conf_path = "BSEC_2.0.6.1_Generic_Release_04302021/config/bsec_sel_iaq_33v_4d/2021_04_29_02_51_bsec_h2s_nonh2s_2_0_6_1 .config";
+const char *bsec_conf_path = "libbsec/config/bsec_sel_iaq_33v_4d/2021_04_29_02_51_bsec_h2s_nonh2s_2_0_6_1 .config";
FILE *bsec_conf;
#endif
diff --git a/internal_functions.h b/internal_functions.h
index 9bc1c6e..934f109 100644
--- a/internal_functions.h
+++ b/internal_functions.h
@@ -19,8 +19,8 @@
#include "BME68x-Sensor-API/bme68x_defs.h"
#ifdef BSEC
-#include "BSEC_2.0.6.1_Generic_Release_04302021/algo/normal_version/bin/RaspberryPi/PiThree_ArmV6/bsec_interface.h"
-#include "BSEC_2.0.6.1_Generic_Release_04302021/algo/normal_version/bin/RaspberryPi/PiThree_ArmV6/bsec_datatypes.h"
+#include "libbsec/algo/normal_version/bin/RaspberryPi/PiThree_ArmV6/bsec_interface.h"
+#include "libbsec/algo/normal_version/bin/RaspberryPi/PiThree_ArmV6/bsec_datatypes.h"
#endif
/* CPP guard */
diff --git a/setup.py b/setup.py
index e41a4e3..27c66d3 100644
--- a/setup.py
+++ b/setup.py
@@ -7,7 +7,7 @@ if BSEC:
ext_comp_args = ['-D BSEC']
libs = ['pthread', 'm', 'rt', 'algobsec']
lib_dirs = ['/usr/local/lib',
- 'BSEC_2.0.6.1_Generic_Release_04302021/algo/normal_version/bin/RaspberryPi/PiThree_ArmV6']
+ 'libbsec/algo/normal_version/bin/RaspberryPi/PiThree_ArmV6']
else:
ext_comp_args = []
libs = ['pthread', 'm', 'rt']
@@ -49,7 +49,7 @@ setup(name='bme68x',
py_modules=['bme68xConstants', 'bsecConstants'],
package_data={
'bme68x': [
- 'BSEC_2.0.6.1_Generic_Release_04302021/config/bsec_sel_iaq_33v_4d/2021_04_29_02_51_bsec_h2s_nonh2s_2_0_6_1 .config',
+ 'libbsec/config/bsec_sel_iaq_33v_4d/2021_04_29_02_51_bsec_h2s_nonh2s_2_0_6_1 .config',
]
},
headers=['BME68x-Sensor-API/bme68x.h',
Sadly, the installation still fails, mainly because BSEC_SAMPLE_RATE_HIGH_PERFORMANCE and BSEC_OUTPUT_COMPENSATED_GAS are undeclared:
Click to expand
bme68x-python-library $ sudo python3 setup.py install
running install
running bdist_egg
running egg_info
writing bme68x.egg-info/PKG-INFO
writing dependency_links to bme68x.egg-info/dependency_links.txt
writing top-level names to bme68x.egg-info/top_level.txt
reading manifest file 'bme68x.egg-info/SOURCES.txt'
writing manifest file 'bme68x.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-armv7l/egg
running install_lib
running build_py
running build_ext
building 'bme68x' extension
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/local/include -I/usr/include/python3.9 -c BME68x-Sensor-API/bme68x.c -o build/temp.linux-armv7l-3.9/BME68x-Sensor-API/bme68x.o -D BSEC
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/local/include -I/usr/include/python3.9 -c bme68xmodule.c -o build/temp.linux-armv7l-3.9/bme68xmodule.o -D BSEC
bme68xmodule.c:11: warning: "BSEC" redefined
11 | #define BSEC
|
<command-line>: note: this is the location of the previous definition
bme68xmodule.c: In function ‘bme_get_sensor_id’:
bme68xmodule.c:338:50: warning: passing argument 2 of ‘bme68x_get_regs’ from incompatible pointer type [-Wincompatible-pointer-types]
338 | rslt = bme68x_get_regs(BME68X_REG_UNIQUE_ID, &id_regs, len, &(self->bme));
| ^~~~~~~~
| |
| uint8_t (*)[4] {aka unsigned char (*)[4]}
In file included from internal_functions.h:18,
from bme68xmodule.c:4:
BME68x-Sensor-API/bme68x.h:122:51: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘uint8_t (*)[4]’ {aka ‘unsigned char (*)[4]’}
122 | int8_t bme68x_get_regs(uint8_t reg_addr, uint8_t *reg_data, uint32_t len, struct bme68x_dev *dev);
| ~~~~~~~~~^~~~~~~~
bme68xmodule.c: In function ‘bme_subscribe_gas_estimates’:
bme68xmodule.c:388:52: error: ‘BSEC_SAMPLE_RATE_HIGH_PERFORMANCE’ undeclared (first use in this function)
388 | requested_virtual_sensors[i].sample_rate = BSEC_SAMPLE_RATE_HIGH_PERFORMANCE;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bme68xmodule.c:388:52: note: each undeclared identifier is reported only once for each function it appears in
bme68xmodule.c: In function ‘bme_subscribe_ai_classes’:
bme68xmodule.c:408:48: error: ‘BSEC_SAMPLE_RATE_HIGH_PERFORMANCE’ undeclared (first use in this function)
408 | requested_virtual_sensors[0].sample_rate = BSEC_SAMPLE_RATE_HIGH_PERFORMANCE;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bme68xmodule.c: In function ‘bme_bsec_process_data’:
bme68xmodule.c:820:15: warning: unused variable ‘data’ [-Wunused-variable]
820 | PyObject *data = PyDict_New();
| ^~~~
bme68xmodule.c:818:13: warning: unused variable ‘num_bsec_outputs’ [-Wunused-variable]
818 | uint8_t num_bsec_outputs = 0;
| ^~~~~~~~~~~~~~~~
bme68xmodule.c:817:19: warning: unused variable ‘bsec_outputs’ [-Wunused-variable]
817 | bsec_output_t bsec_outputs[BSEC_NUMBER_OUTPUTS];
| ^~~~~~~~~~~~
bme68xmodule.c:740:18: warning: variable ‘inputs’ set but not used [-Wunused-but-set-variable]
740 | bsec_input_t inputs[BSEC_MAX_PHYSICAL_SENSOR];
| ^~~~~~
bme68xmodule.c:821:1: warning: no return statement in function returning non-void [-Wreturn-type]
821 | }
| ^
bme68xmodule.c: In function ‘bme_get_digital_nose_data’:
bme68xmodule.c:829:20: warning: comparison of integer expressions of different signedness: ‘int64_t’ {aka ‘long long int’} and ‘uint64_t’ {aka ‘long long unsigned int’} [-Wsign-compare]
829 | if (time_stamp >= self->next_call)
| ^~
bme68xmodule.c:1069:42: error: ‘BSEC_OUTPUT_COMPENSATED_GAS’ undeclared (first use in this function)
1069 | case BSEC_OUTPUT_COMPENSATED_GAS:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
bme68xmodule.c: In function ‘bme_get_bsec_data’:
bme68xmodule.c:1120:20: warning: comparison of integer expressions of different signedness: ‘int64_t’ {aka ‘long long int’} and ‘uint64_t’ {aka ‘long long unsigned int’} [-Wsign-compare]
1120 | if (time_stamp >= self->next_call)
| ^~
bme68xmodule.c:1331:34: error: ‘BSEC_OUTPUT_COMPENSATED_GAS’ undeclared (first use in this function)
1331 | case BSEC_OUTPUT_COMPENSATED_GAS:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
bme68xmodule.c: In function ‘bme_enable_gas_estimates’:
bme68xmodule.c:1587:48: error: ‘BSEC_SAMPLE_RATE_HIGH_PERFORMANCE’ undeclared (first use in this function)
1587 | requested_virtual_sensors[0].sample_rate = BSEC_SAMPLE_RATE_HIGH_PERFORMANCE;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
At top level:
bme68xmodule.c:737:18: warning: ‘bme_bsec_process_data’ defined but not used [-Wunused-function]
737 | static PyObject *bme_bsec_process_data(BMEObject *self, bsec_bme_settings_t *sensor_settings, uint8_t i, int64_t time_stamp)
| ^~~~~~~~~~~~~~~~~~~~~
error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1
I guess it is ignoring the bsecConstants.py, because BSEC_SAMPLE_RATE_HIGH_PERFORMANCE is defined there, but I am not sure what the deal with BSEC_OUTPUT_COMPENSATED_GAS is.
My system:
$ uname -a
Linux raspberrypi 5.15.70-v7l+ #1590 SMP Tue Sep 27 15:58:00 BST 2022 armv7l GNU/Linux
$ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
Metadata
Metadata
Assignees
Labels
No labels