WEAR
caution
WEAR sensor CHANGE event is temporarily unavailable, expected to be fixed in the next OTA release
Creating Sensors
const wear = hmSensor.createSensor(hmSensor.id.WEAR)
console.log(wear.current)
WEAR instance
wear: object
Properties | Description | Type |
---|---|---|
current | Current wear status, see table below | number |
Current value | Description |
---|---|
0 | Not worn |
1 | Wearing |
2 | In motion |
3 | Not sure |
Registering sensor instance callback events.
wear.addEventListener(event, callback: Callback)
The events of CHANGE
The value of event
hmSensor.event.CHANGE
Callback
() => void
Full Example
class TextByLine {
constructor(params) {
const { text = '', y = undefined, line = 0 } = params
this.text = text
this.y = y
this.line = line
this.y_computed = Number.isInteger(this.y) ? this.y : px(this.line * 60 + 120)
}
render() {
return hmUI.createWidget(hmUI.widget.TEXT, {
x: px(0),
y: this.y_computed,
w: px(480),
h: px(46),
color: 0xffffff,
text_size: px(20),
align_h: hmUI.align.CENTER_H,
align_v: hmUI.align.CENTER_V,
text_style: hmUI.text_style.NONE,
text: this.text
})
}
}
Page({
build() {
const wear = hmSensor.createSensor(hmSensor.id.WEAR)
const currentText = new TextByLine({
text: `current:${wear.current}`,
line: 0
}).render()
const changeEventText = new TextByLine({
text: `EVENT-CHANGE:${wear.current}`,
line: 1
}).render()
const changeCallback = () => {
const current = wear.current
changeEventText.setProperty(hmUI.prop.MORE, {
text: `EVENT-CHANGE: ${current}`
})
}
const wearChangeListener = () => {
wear.addEventListener(hmSensor.event.CHANGE, changeCallback)
}
hmUI.createWidget(hmUI.widget.BUTTON, {
x: px(80),
y: px(300),
w: px(300),
h: px(60),
radius: px(12),
normal_color: 0xfc6950,
press_color: 0xfeb4a8,
text: 'REGISTER_CHANGE',
click_func: wearChangeListener
})
}
})