ESenseDevice class
A DeviceDescriptor
for an eSense device used in a StudyProtocol
.
From the eSense User Documentation:
Both the left and right earbud have a microphone onboard. The microphone can be used to record audio samples as well as input source for phone or VoIP calls.
There is no need for special configuration to use the microphone on the earbud. Once the earbud is paired (Bluetooth Classic interface), the host device will recognize the earbud as a new input source. The audio recorded is mono, only from the earbud paired with the host device. The same happens for calls, only the speaker and microphone on the earbud paired with the host will be used during an active call.
Either the right or left earbud (but not both) can be paired with a host device. If the left earbud is paired, the same host device can also connect to the BLE interface of the earbud to collect IMU data at the same time as audio is recorded from its microphone. The earbuds are limited devices and the achievable data rate of the sensors (microphone and IMU) might be affected by the number of operations performed. For example, if the IMU and the microphone are enabled on the same earbud while the user is also listening to music, it might not be possible to achieve the desired data rate and the music might be interrupted. In this situation it would be better to use the right earbud to record only sound samples and the left earbud to record only IMU data.
- Inheritance
-
- Object
- Serializable
- DeviceConfiguration<
DeviceRegistration> - ESenseDevice
- Annotations
-
- @JsonSerializable(fieldRename: FieldRename.none, includeIfNull: false)
Constructors
- ESenseDevice({String roleName = ESenseDevice.DEFAULT_ROLENAME, bool? isOptional = true, String? deviceName, int samplingRate = 10})
-
ESenseDevice.fromJson(Map<
String, dynamic> json) -
factory
Properties
- $type ↔ String?
-
The runtime class name (type) of this object.
Used for deserialization from JSON objects.
getter/setter pairinherited
- dataTypeSamplingSchemes → DataTypeSamplingSchemeMap?
-
Sampling schemes for all the sensors available on this device.
no setterinherited
-
defaultSamplingConfiguration
↔ Map<
String, SamplingConfiguration> ? -
Sampling configurations which override the default configurations for
data types available on this device.
getter/setter pairinherited
- deviceName ↔ String?
-
The name of the eSense device.
Used for connecting to the eSense hardware device over BTLE.
eSense devices are typically named
eSense-xxxx
.getter/setter pair - fromJsonFunction → Function
-
The function which can convert a JSON string to an object of this type.
no setteroverride
- hashCode → int
-
The hash code for this object.
no setterinherited
- isOptional ↔ bool?
-
Determines whether device registration for this device is optional prior to
starting a study, i.e., whether the study can run without this device or not.
getter/setter pairinherited
- jsonType → String
-
Return the
__type
to be used for JSON serialization of this class. Default is runtimeType. Only specify this if you need another type.no setterinherited - roleName ↔ String
-
A name which describes how the device participates within the study protocol;
it's 'role'. For example, 'Parent's phone' or 'Child phone'.
getter/setter pairinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- samplingRate ↔ int
-
The sampling rate in Hz of getting sensor data from the device.
getter/setter pair
-
supportedDataTypes
→ Set<
String> ? -
The set of data types which can be collected on this device.
no setterinherited
- type → String
-
The device type identifier
no setterinherited
Methods
-
createRegistration(
{String? deviceId, String? deviceDisplayName}) → DeviceRegistration -
Create a
DeviceRegistration
which can be used to configure this device for deployment.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toJson(
) → Map< String, dynamic> -
Return a JSON encoding of this object.
override
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Constants
- DEFAULT_ROLENAME → const String
- The default role name for an eSense device.
- DEVICE_TYPE → const String
- The type of an eSense device.