2 #include <accel_sensor.h>
5 #include <gyro_sensor.h>
8 #include <proxi_sensor.h>
11 #include <light_sensor.h>
14 #include <geo_sensor.h>
16 #ifdef ENABLE_AUTO_ROTATION
17 #include <auto_rotation_sensor.h>
19 #ifdef ENABLE_PRESSURE
20 #include <pressure_sensor.h>
22 #ifdef ENABLE_TEMPERATURE
23 #include <temperature_sensor.h>
25 #ifdef ENABLE_ULTRAVIOLET
26 #include <ultraviolet_sensor.h>
28 #ifdef ENABLE_BIO_LED_RED
29 #include <bio_led_red_sensor.h>
31 #ifdef ENABLE_ORIENTATION
32 #include <orientation_sensor.h>
34 #ifdef ENABLE_GEOMAGNETIC_RV
35 #include <geomagnetic_rv_sensor.h>
37 #ifdef ENABLE_GAMING_RV
38 #include <gaming_rv_sensor.h>
41 #include <tilt_sensor.h>
43 #ifdef ENABLE_UNCAL_GYRO
44 #include <uncal_gyro_sensor.h>
47 #include <gravity_sensor.h>
49 #ifdef ENABLE_LINEAR_ACCEL
50 #include <linear_accel_sensor.h>
53 #include <rv_sensor.h>
56 #include <rv_raw_sensor.h>
59 #include <sf_common.h>
61 extern "C" sensor_module* create(void)
63 sensor_module *module = new(std::nothrow) sensor_module;
64 retvm_if(!module, NULL, "Failed to allocate memory");
67 accel_sensor *accel_sensor_ptr = NULL;
69 accel_sensor_ptr = new(std::nothrow) accel_sensor;
71 ERR("Failed to create accel_sensor module, err: %d, cause: %s", err, strerror(err));
73 if (accel_sensor_ptr != NULL) {
74 module->sensors.push_back(accel_sensor_ptr);
78 #ifdef ENABLE_AUTO_ROTATION
79 auto_rotation_sensor *auto_rotation_sensor_ptr = NULL;
81 auto_rotation_sensor_ptr = new(std::nothrow) auto_rotation_sensor;
83 ERR("Failed to create auto_rotation_sensor module, err: %d, cause: %s", err, strerror(err));
85 if (auto_rotation_sensor_ptr != NULL)
86 module->sensors.push_back(auto_rotation_sensor_ptr);
90 gyro_sensor *gyro_sensor_ptr = NULL;
92 gyro_sensor_ptr = new(std::nothrow) gyro_sensor;
94 ERR("Failed to create gyro_sensor module, err: %d, cause: %s", err, strerror(err));
96 if (gyro_sensor_ptr != NULL)
97 module->sensors.push_back(gyro_sensor_ptr);
101 proxi_sensor *proxi_sensor_ptr = NULL;
103 proxi_sensor_ptr = new(std::nothrow) proxi_sensor;
105 ERR("Failed to create proxi_sensor module, err: %d, cause: %s", err, strerror(err));
107 if (proxi_sensor_ptr != NULL)
108 module->sensors.push_back(proxi_sensor_ptr);
112 light_sensor *light_sensor_ptr = NULL;
114 light_sensor_ptr = new(std::nothrow) light_sensor;
116 ERR("Failed to create light_sensor module, err: %d, cause: %s", err, strerror(err));
118 if (light_sensor_ptr != NULL)
119 module->sensors.push_back(light_sensor_ptr);
123 geo_sensor *geo_sensor_ptr = NULL;
125 geo_sensor_ptr = new(std::nothrow) geo_sensor;
127 ERR("Failed to create geo_sensor module, err: %d, cause: %s", err, strerror(err));
129 if (geo_sensor_ptr != NULL)
130 module->sensors.push_back(geo_sensor_ptr);
133 #ifdef ENABLE_PRESSURE
134 pressure_sensor *pressure_sensor_ptr = NULL;
136 pressure_sensor_ptr = new(std::nothrow) pressure_sensor;
138 ERR("Failed to create pressure_sensor module, err: %d, cause: %s", err, strerror(err));
140 if (pressure_sensor_ptr != NULL)
141 module->sensors.push_back(pressure_sensor_ptr);
144 #ifdef ENABLE_TEMPERATURE
145 temperature_sensor *temperature_sensor_ptr = NULL;
147 temperature_sensor_ptr = new(std::nothrow) temperature_sensor;
149 ERR("Failed to create temperature_sensor module, err: %d, cause: %s", err, strerror(err));
151 if (temperature_sensor_ptr != NULL)
152 module->sensors.push_back(temperature_sensor_ptr);
155 #ifdef ENABLE_ULTRAVIOLET
156 ultraviolet_sensor *ultraviolet_sensor_ptr = NULL;
158 ultraviolet_sensor_ptr = new(std::nothrow) ultraviolet_sensor;
160 ERR("Failed to create ultraviolet_sensor module, err: %d, cause: %s", err, strerror(err));
162 if (ultraviolet_sensor_ptr != NULL)
163 module->sensors.push_back(ultraviolet_sensor_ptr);
166 #ifdef DENABLE_SENSOR_FUSION
167 fusion_sensor *fusion_sensor_ptr = NULL;
169 fusion_sensor_ptr = new(std::nothrow) fusion_sensor;
171 ERR("Failed to create fusion_sensor module, err: %d, cause: %s", err, strerror(err));
173 if (fusion_sensor_ptr != NULL)
174 module->sensors.push_back(fusion_sensor_ptr);
177 #ifdef ENABLE_ORIENTATION
178 orientation_sensor *orientation_sensor_ptr = NULL;
180 orientation_sensor_ptr = new(std::nothrow) orientation_sensor;
182 ERR("Failed to create orientation_sensor module, err: %d, cause: %s", err, strerror(err));
184 if (orientation_sensor_ptr != NULL)
185 module->sensors.push_back(orientation_sensor_ptr);
188 #ifdef ENABLE_GRAVITY
189 gravity_sensor *gravity_sensor_ptr = NULL;
191 gravity_sensor_ptr = new(std::nothrow) gravity_sensor;
193 ERR("Failed to create gravity_sensor module, err: %d, cause: %s", err, strerror(err));
195 if (gravity_sensor_ptr != NULL)
196 module->sensors.push_back(gravity_sensor_ptr);
199 #ifdef ENABLE_LINEAR_ACCEL
200 linear_accel_sensor *linear_accel_sensor_ptr = NULL;
202 linear_accel_sensor_ptr = new(std::nothrow) linear_accel_sensor;
204 ERR("Failed to create linear_accel_sensor module, err: %d, cause: %s", err, strerror(err));
206 if (linear_accel_sensor_ptr != NULL)
207 module->sensors.push_back(linear_accel_sensor_ptr);
210 #ifdef ENABLE_GEOMAGNETIC_RV
211 geomagnetic_rv_sensor *geomagnetic_rv_sensor_ptr = NULL;
213 geomagnetic_rv_sensor_ptr = new(std::nothrow) geomagnetic_rv_sensor;
215 ERR("Failed to create geomagnetic_rv_sensor module, err: %d, cause: %s", err, strerror(err));
217 if (geomagnetic_rv_sensor_ptr != NULL)
218 module->sensors.push_back(geomagnetic_rv_sensor_ptr);
221 #ifdef ENABLE_GAMING_RV
222 gaming_rv_sensor *gaming_rv_sensor_ptr = NULL;
224 gaming_rv_sensor_ptr = new(std::nothrow) gaming_rv_sensor;
226 ERR("Failed to create gaming_rv_sensor module, err: %d, cause: %s", err, strerror(err));
228 if (gaming_rv_sensor_ptr != NULL)
229 module->sensors.push_back(gaming_rv_sensor_ptr);
233 rv_sensor *rv_sensor_ptr = NULL;
235 rv_sensor_ptr = new(std::nothrow) rv_sensor;
237 ERR("Failed to create rv_sensor module, err: %d, cause: %s", err, strerror(err));
239 if (rv_sensor_ptr != NULL)
240 module->sensors.push_back(rv_sensor_ptr);
244 tilt_sensor *tilt_sensor_ptr = NULL;
246 tilt_sensor_ptr = new(std::nothrow) tilt_sensor;
248 ERR("Failed to create tilt_sensor module, err: %d, cause: %s", err, strerror(err));
250 if (tilt_sensor_ptr != NULL)
251 module->sensors.push_back(tilt_sensor_ptr);
254 #ifdef ENABLE_UNCAL_GYRO
255 uncal_gyro_sensor *uncal_gyro_sensor_ptr = NULL;
257 uncal_gyro_sensor_ptr = new(std::nothrow) uncal_gyro_sensor;
259 ERR("Failed to create uncal_gyro_sensor module, err: %d, cause: %s", err, strerror(err));
261 if (uncal_gyro_sensor_ptr != NULL)
262 module->sensors.push_back(uncal_gyro_sensor_ptr);
265 #ifdef ENABLE_BIO_LED_RED
266 bio_led_red_sensor *bio_led_red_sensor_ptr = NULL;
268 bio_led_red_sensor_ptr = new(std::nothrow) bio_led_red_sensor;
270 ERR("Failed to create bio_led_red_sensor module, err: %d, cause: %s", err, strerror(err));
272 if (bio_led_red_sensor_ptr != NULL)
273 module->sensors.push_back(bio_led_red_sensor_ptr);
277 rv_raw_sensor *rv_raw_sensor_ptr = NULL;
279 rv_raw_sensor_ptr = new(std::nothrow) rv_raw_sensor;
281 ERR("Failed to create rv_raw_sensor module, err: %d, cause: %s", err, strerror(err));
283 if (rv_raw_sensor_ptr != NULL)
284 module->sensors.push_back(rv_raw_sensor_ptr);