1 #define ACCEL strcmp("@ACCEL@", "ON")
2 #define AUTO_ROTATION strcmp("@AUTO_ROTATION@", "ON")
3 #define GYRO strcmp("@GYRO@", "ON")
4 #define PROXI strcmp("@PROXI@", "ON")
5 #define LIGHT strcmp("@LIGHT@", "ON")
6 #define GEO strcmp("@GEO@", "ON")
7 #define PRESSURE strcmp("@PRESSURE@", "ON")
8 #define TEMPERATURE strcmp("@TEMPERATURE@", "ON")
9 #define ULTRAVIOLET strcmp("@ULTRAVIOLET@", "ON")
10 #define ORIENTATION strcmp("@ORIENTATION@", "ON")
11 #define GRAVITY strcmp("@GRAVITY@", "ON")
12 #define LINEAR_ACCEL strcmp("@LINEAR_ACCEL@", "ON")
13 #define GEOMAGNETIC_RV strcmp("@GEOMAGNETIC_RV@", "ON")
14 #define GAMING_RV strcmp("@GAMING_RV@", "ON")
15 #define RV strcmp("@RV@", "ON")
16 #define TILT strcmp("@TILT@", "ON")
17 #define UNCAL_GYRO strcmp("@UNCAL_GYRO@", "ON")
18 #define BIO_LED_RED strcmp("@BIO_LED_RED@", "ON")
19 #define RV_RAW strcmp("@RV_RAW@", "ON")
22 #include <accel_sensor.h>
25 #include <gyro_sensor.h>
28 #include <proxi_sensor.h>
31 #include <light_sensor.h>
34 #include <geo_sensor.h>
36 #if $AUTO_ROTATION == 1
37 #include <auto_rotation_sensor.h>
40 #include <pressure_sensor.h>
43 #include <temperature_sensor.h>
46 #include <humidity_sensor.h>
49 #include <ultraviolet_sensor.h>
52 #include <bio_led_red_sensor.h>
55 #include <orientation_sensor.h>
57 #if $GEOMAGNETIC_RV == 1
58 #include <geomagnetic_rv_sensor.h>
61 #include <gaming_rv_sensor.h>
64 #include <tilt_sensor.h>
67 #include <uncal_gyro_sensor.h>
70 #include <gravity_sensor.h>
72 #if $LINEAR_ACCEL == 1
73 #include <linear_accel_sensor.h>
76 #include <rv_sensor.h>
79 #include <rv_raw_sensor.h>
82 #include <sf_common.h>
84 extern "C" sensor_module* create(void)
86 sensor_module *module = new(std::nothrow) sensor_module;
87 retvm_if(!module, NULL, "Failed to allocate memory");
90 accel_sensor *accel_sensor = NULL;
92 accel_sensor = new(std::nothrow) accel_sensor;
94 ERR("Failed to create accel_sensor module, err: %d, cause: %s", err, strerror(err));
97 module->sensors.push_back(accel_sensor);
99 #if $AUTO_ROTATION == 1
100 auto_rotation_sensor *auto_rotation_sensor = NULL;
102 auto_rotation_sensor = new(std::nothrow) auto_rotation_sensor;
104 ERR("Failed to create auto_rotation_sensor module, err: %d, cause: %s", err, strerror(err));
106 if (!auto_rotation_sensor)
107 module->sensors.push_back(auto_rotation_sensor);
110 gyro_sensor *gyro_sensor = NULL;
112 gyro_sensor = new(std::nothrow) gyro_sensor;
114 ERR("Failed to create gyro_sensor module, err: %d, cause: %s", err, strerror(err));
117 module->sensors.push_back(gyro_sensor);
120 proxi_sensor *proxi_sensor = NULL;
122 proxi_sensor = new(std::nothrow) proxi_sensor;
124 ERR("Failed to create proxi_sensor module, err: %d, cause: %s", err, strerror(err));
127 module->sensors.push_back(proxi_sensor);
130 light_sensor *light_sensor = NULL;
132 light_sensor = new(std::nothrow) light_sensor;
134 ERR("Failed to create light_sensor module, err: %d, cause: %s", err, strerror(err));
137 module->sensors.push_back(light_sensor);
140 geo_sensor *geo_sensor = NULL;
142 geo_sensor = new(std::nothrow) geo_sensor;
144 ERR("Failed to create geo_sensor module, err: %d, cause: %s", err, strerror(err));
147 module->sensors.push_back(geo_sensor);
150 pressure_sensor *pressure_sensor = NULL;
152 pressure_sensor = new(std::nothrow) pressure_sensor;
154 ERR("Failed to create pressure_sensor module, err: %d, cause: %s", err, strerror(err));
156 if (!pressure_sensor)
157 module->sensors.push_back(pressure_sensor);
159 #if $TEMPERATURE == 1
161 temperature_sensor *temperature_sensor = NULL;
163 temperature_sensor = new(std::nothrow) temperature_sensor;
165 ERR("Failed to create temperature_sensor module, err: %d, cause: %s", err, strerror(err));
167 if (!temperature_sensor)
168 module->sensors.push_back(temperature_sensor);
171 #if $ULTRAVIOLET == 1
172 ultraviolet_sensor *ultraviolet_sensor = NULL;
174 ultraviolet_sensor = new(std::nothrow) ultraviolet_sensor;
176 ERR("Failed to create ultraviolet_sensor module, err: %d, cause: %s", err, strerror(err));
178 if (!ultraviolet_sensor)
179 module->sensors.push_back(ultraviolet_sensor);
181 #if $ORIENTATION == 1
182 orientation_sensor *orientation_sensor = NULL;
184 orientation_sensor = new(std::nothrow) orientation_sensor;
186 ERR("Failed to create orientation_sensor module, err: %d, cause: %s", err, strerror(err));
188 if (!orientation_sensor)
189 module->sensors.push_back(orientation_sensor);
192 gravity_sensor *gravity_sensor = NULL;
194 gravity_sensor = new(std::nothrow) gravity_sensor;
196 ERR("Failed to create gravity_sensor module, err: %d, cause: %s", err, strerror(err));
199 module->sensors.push_back(gravity_sensor);
201 #if $LINEAR_ACCEL == 1
202 linear_accel_sensor *linear_accel_sensor = NULL;
204 linear_accel_sensor = new(std::nothrow) linear_accel_sensor;
206 ERR("Failed to create linear_accel_sensor module, err: %d, cause: %s", err, strerror(err));
208 if (!linear_accel_sensor)
209 module->sensors.push_back(linear_accel_sensor);
211 #if $GEOMAGNETIC_RV == 1
212 geomagnetic_rv_sensor *geomagnetic_rv_sensor = NULL;
214 geomagnetic_rv_sensor = new(std::nothrow) geomagnetic_rv_sensor;
216 ERR("Failed to create geomagnetic_rv_sensor module, err: %d, cause: %s", err, strerror(err));
218 if (!geomagnetic_rv_sensor)
219 module->sensors.push_back(geomagnetic_rv_sensor);
222 gaming_rv_sensor *gaming_rv_sensor = NULL;
224 gaming_rv_sensor = 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)
229 module->sensors.push_back(gaming_rv_sensor);
232 rv_sensor *rv_sensor = NULL;
234 rv_sensor = new(std::nothrow) rv_sensor;
236 ERR("Failed to create rv_sensor module, err: %d, cause: %s", err, strerror(err));
239 module->sensors.push_back(rv_sensor);
242 tilt_sensor *tilt_sensor = NULL;
244 tilt_sensor = new(std::nothrow) tilt_sensor;
246 ERR("Failed to create tilt_sensor module, err: %d, cause: %s", err, strerror(err));
249 module->sensors.push_back(tilt_sensor);
252 uncal_gyro_sensor *uncal_gyro_sensor = NULL;
254 uncal_gyro_sensor = new(std::nothrow) uncal_gyro_sensor;
256 ERR("Failed to create uncal_gyro_sensor module, err: %d, cause: %s", err, strerror(err));
258 if (!uncal_gyro_sensor)
259 module->sensors.push_back(uncal_gyro_sensor);
261 #if $BIO_LED_RED == 1
262 bio_led_red_sensor *bio_led_red_sensor = NULL;
264 bio_led_red_sensor = new(std::nothrow) bio_led_red_sensor;
266 ERR("Failed to create bio_led_red_sensor module, err: %d, cause: %s", err, strerror(err));
268 if (!bio_led_red_sensor)
269 module->sensors.push_back(bio_led_red_sensor);
272 rv_raw_sensor *rv_raw_sensor = NULL;
274 rv_raw_sensor = new(std::nothrow) rv_raw_sensor;
276 ERR("Failed to create rv_raw_sensor module, err: %d, cause: %s", err, strerror(err));
279 module->sensors.push_back(rv_raw_sensor);