46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
namespace input {
|
|
|
|
//% fixedInstances
|
|
export class TouchSensor extends internal.AnalogSensor {
|
|
button: Button;
|
|
|
|
constructor(port: number) {
|
|
super(port)
|
|
this.button = new Button()
|
|
}
|
|
|
|
_query() {
|
|
return this._readPin6() > 2500 ? 1 : 0
|
|
}
|
|
|
|
_update(prev: number, curr: number) {
|
|
this.button.update(curr > 0)
|
|
}
|
|
|
|
_deviceType() {
|
|
return DAL.DEVICE_TYPE_TOUCH
|
|
}
|
|
}
|
|
|
|
//% whenUsed
|
|
export const touchSensorImpl1: TouchSensor = new TouchSensor(1)
|
|
//% whenUsed
|
|
export const touchSensorImpl2: TouchSensor = new TouchSensor(2)
|
|
//% whenUsed
|
|
export const touchSensorImpl3: TouchSensor = new TouchSensor(3)
|
|
//% whenUsed
|
|
export const touchSensorImpl4: TouchSensor = new TouchSensor(4)
|
|
|
|
//% whenUsed block="touch sensor 1" weight=95 fixedInstance
|
|
export const touchSensor1: Button = touchSensorImpl1.button
|
|
|
|
//% whenUsed block="touch sensor 2" weight=95 fixedInstance
|
|
export const touchSensor2: Button = touchSensorImpl2.button
|
|
|
|
//% whenUsed block="touch sensor 3" weight=95 fixedInstance
|
|
export const touchSensor3: Button = touchSensorImpl3.button
|
|
|
|
//% whenUsed block="touch sensor 4" weight=95 fixedInstance
|
|
export const touchSensor4: Button = touchSensorImpl4.button
|
|
}
|