Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F62964421
MetaWear.java
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Thu, May 16, 19:57
Size
3 KB
Mime Type
text/x-java
Expires
Sat, May 18, 19:57 (2 d)
Engine
blob
Format
Raw Data
Handle
17713536
Attached To
R9555 Android app for multimodal data acquisition from wearables
MetaWear.java
View Options
package
ch.epfl.esl.elevatedmonitor.Devices.MetaMotionR
;
import
android.content.Context
;
import
com.mbientlab.metawear.MetaWearBoard
;
import
com.mbientlab.metawear.module.SensorFusionBosch
;
import
com.mbientlab.metawear.module.Settings
;
import
com.mbientlab.metawear.module.Temperature
;
import
com.mbientlab.metawear.module.Temperature.SensorType
;
import
com.mbientlab.metawear.module.Timer
;
import
java.util.ArrayList
;
import
ch.epfl.esl.elevatedmonitor.Devices.MetaMotionR.Sensors.SensorFusion
;
import
ch.epfl.esl.elevatedmonitor.Interfaces.InterfaceDevice
;
import
ch.epfl.esl.elevatedmonitor.SuperClasses.Device
;
public
class
MetaWear
extends
Device
implements
InterfaceDevice
{
private
static
final
String
MANAGER_NAME
=
"ch.epfl.esl.elevatedmonitor.Devices.MetaMotionR.MetaMotionManager"
;
public
static
final
int
SENSOR_FUSION
=
0
;
public
static
final
int
TEMPERATURE
=
1
;
private
com
.
mbientlab
.
metawear
.
module
.
SensorFusionBosch
sensorFusionBosch
;
private
Temperature
.
Sensor
tempSensor
;
private
Settings
settings
=
null
;
static
final
String
NAME
=
"MetaWear"
;
public
static
Integer
i
=
0
;
private
Timer
timer
;
private
boolean
init
=
false
;
MetaWear
(
Context
context
,
String
name
,
String
id
,
MetaWearBoard
board
)
{
super
(
context
);
setSensors
();
setName
(
name
);
setId
(
id
);
initSensors
(
board
);
}
MetaWear
(
Context
context
,
String
name
,
String
id
)
{
super
(
context
);
setSensors
();
setName
(
name
);
setId
(
id
);
}
public
MetaWear
(
Context
context
)
{
super
(
context
);
setSensors
();
setName
(
"MetaWear "
+
i
.
toString
());
setId
(
"N.D."
);
i
++;
i
=
i
%
3
;
}
private
void
initSensors
(
MetaWearBoard
board
){
// Get a reference to the sensors
sensorFusionBosch
=
board
.
getModule
(
SensorFusionBosch
.
class
);
Temperature
temperature
=
board
.
getModule
(
Temperature
.
class
);
timer
=
board
.
getModule
(
Timer
.
class
);
settings
=
board
.
getModule
(
Settings
.
class
);
// Configure the sensors
sensorFusionBosch
.
configure
()
.
mode
(
SensorFusionBosch
.
Mode
.
NDOF
)
// Can choose between NDoF that calculates absolute orientation from accelerometer, gyro, and magnetometer
// Or IMUPlus that calculates relative orientation in space from accelerometer and gyro data
.
accRange
(
SensorFusionBosch
.
AccRange
.
AR_2G
)
.
gyroRange
(
SensorFusionBosch
.
GyroRange
.
GR_250DPS
)
.
commit
();
tempSensor
=
temperature
.
findSensors
(
SensorType
.
PRESET_THERMISTOR
)[
0
];
init
=
true
;
}
Temperature
.
Sensor
getTemperatureSensor
(){
if
(
init
)
return
tempSensor
;
else
return
null
;
}
Timer
getTimer
(){
if
(
init
)
return
timer
;
else
return
null
;
}
SensorFusionBosch
getSensorFusion
(){
if
(
init
)
return
sensorFusionBosch
;
else
return
null
;
}
Settings
getSettings
(){
return
settings
;
}
@Override
public
void
setSensors
()
{
//--- Set different sensors
if
(
sensorArrayList
==
null
)
{
sensorArrayList
=
new
ArrayList
<>();
}
sensorArrayList
.
add
(
new
SensorFusion
(
deviceContext
));
sensorArrayList
.
add
(
new
ch
.
epfl
.
esl
.
elevatedmonitor
.
Devices
.
MetaMotionR
.
Sensors
.
Temperature
(
deviceContext
));
}
@Override
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
@Override
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
@Override
public
void
setManagerName
()
{
this
.
managerName
=
MANAGER_NAME
;
}
}
Event Timeline
Log In to Comment