node-poweredup 9.0.0 → 10.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -12
- package/dist/browser/poweredup.js +6193 -3
- package/dist/browser/poweredup.js.map +7 -1
- package/dist/{node/color.d.ts → color.d.ts} +1 -0
- package/dist/color.d.ts.map +1 -0
- package/dist/color.js +15 -0
- package/dist/color.js.map +1 -0
- package/dist/{node/consts.d.ts → consts.d.ts} +57 -16
- package/dist/consts.d.ts.map +1 -0
- package/dist/{node/consts.js → consts.js} +115 -76
- package/dist/consts.js.map +1 -0
- package/dist/{node/devices → devices}/absolutemotor.d.ts +12 -13
- package/dist/devices/absolutemotor.d.ts.map +1 -0
- package/dist/devices/absolutemotor.js +108 -0
- package/dist/devices/absolutemotor.js.map +1 -0
- package/dist/devices/basicmotor.d.ts +38 -0
- package/dist/devices/basicmotor.d.ts.map +1 -0
- package/dist/devices/basicmotor.js +51 -0
- package/dist/devices/basicmotor.js.map +1 -0
- package/dist/{node/devices → devices}/colordistancesensor.d.ts +20 -25
- package/dist/devices/colordistancesensor.d.ts.map +1 -0
- package/dist/{node/devices → devices}/colordistancesensor.js +40 -79
- package/dist/devices/colordistancesensor.js.map +1 -0
- package/dist/{node/devices → devices}/currentsensor.d.ts +3 -3
- package/dist/devices/currentsensor.d.ts.map +1 -0
- package/dist/{node/devices → devices}/currentsensor.js +7 -34
- package/dist/devices/currentsensor.js.map +1 -0
- package/dist/{node/devices → devices}/device.d.ts +18 -11
- package/dist/devices/device.d.ts.map +1 -0
- package/dist/devices/device.js +350 -0
- package/dist/devices/device.js.map +1 -0
- package/dist/{node/devices → devices}/duplotrainbasecolorsensor.d.ts +3 -3
- package/dist/devices/duplotrainbasecolorsensor.d.ts.map +1 -0
- package/dist/{node/devices → devices}/duplotrainbasecolorsensor.js +9 -36
- package/dist/devices/duplotrainbasecolorsensor.js.map +1 -0
- package/dist/{node/devices → devices}/duplotrainbasemotor.d.ts +3 -2
- package/dist/devices/duplotrainbasemotor.d.ts.map +1 -0
- package/dist/devices/duplotrainbasemotor.js +12 -0
- package/dist/devices/duplotrainbasemotor.js.map +1 -0
- package/dist/devices/duplotrainbasespeaker.d.ts +27 -0
- package/dist/devices/duplotrainbasespeaker.d.ts.map +1 -0
- package/dist/devices/duplotrainbasespeaker.js +35 -0
- package/dist/devices/duplotrainbasespeaker.js.map +1 -0
- package/dist/{node/devices → devices}/duplotrainbasespeedometer.d.ts +3 -3
- package/dist/devices/duplotrainbasespeedometer.d.ts.map +1 -0
- package/dist/devices/duplotrainbasespeedometer.js +34 -0
- package/dist/devices/duplotrainbasespeedometer.js.map +1 -0
- package/dist/devices/hubled.d.ts +29 -0
- package/dist/devices/hubled.d.ts.map +1 -0
- package/dist/devices/hubled.js +58 -0
- package/dist/devices/hubled.js.map +1 -0
- package/dist/{node/devices → devices}/light.d.ts +10 -8
- package/dist/devices/light.d.ts.map +1 -0
- package/dist/devices/light.js +38 -0
- package/dist/devices/light.js.map +1 -0
- package/dist/{node/devices → devices}/marioaccelerometer.d.ts +3 -3
- package/dist/devices/marioaccelerometer.d.ts.map +1 -0
- package/dist/devices/marioaccelerometer.js +50 -0
- package/dist/devices/marioaccelerometer.js.map +1 -0
- package/dist/{node/devices → devices}/mariobarcodesensor.d.ts +3 -3
- package/dist/devices/mariobarcodesensor.d.ts.map +1 -0
- package/dist/{node/devices → devices}/mariobarcodesensor.js +7 -34
- package/dist/devices/mariobarcodesensor.js.map +1 -0
- package/dist/{node/devices → devices}/mariopantssensor.d.ts +3 -3
- package/dist/devices/mariopantssensor.d.ts.map +1 -0
- package/dist/devices/mariopantssensor.js +34 -0
- package/dist/devices/mariopantssensor.js.map +1 -0
- package/dist/{node/devices → devices}/mediumlinearmotor.d.ts +3 -2
- package/dist/devices/mediumlinearmotor.d.ts.map +1 -0
- package/dist/devices/mediumlinearmotor.js +12 -0
- package/dist/devices/mediumlinearmotor.js.map +1 -0
- package/dist/{node/devices → devices}/motionsensor.d.ts +3 -3
- package/dist/devices/motionsensor.d.ts.map +1 -0
- package/dist/devices/motionsensor.js +38 -0
- package/dist/devices/motionsensor.js.map +1 -0
- package/dist/{node/devices → devices}/movehubmediumlinearmotor.d.ts +3 -2
- package/dist/devices/movehubmediumlinearmotor.d.ts.map +1 -0
- package/dist/devices/movehubmediumlinearmotor.js +12 -0
- package/dist/devices/movehubmediumlinearmotor.js.map +1 -0
- package/dist/{node/devices → devices}/movehubtiltsensor.d.ts +3 -3
- package/dist/devices/movehubtiltsensor.d.ts.map +1 -0
- package/dist/devices/movehubtiltsensor.js +36 -0
- package/dist/devices/movehubtiltsensor.js.map +1 -0
- package/dist/devices/piezobuzzer.d.ts +18 -0
- package/dist/devices/piezobuzzer.d.ts.map +1 -0
- package/dist/devices/piezobuzzer.js +27 -0
- package/dist/devices/piezobuzzer.js.map +1 -0
- package/dist/{node/devices → devices}/remotecontrolbutton.d.ts +3 -3
- package/dist/devices/remotecontrolbutton.d.ts.map +1 -0
- package/dist/devices/remotecontrolbutton.js +40 -0
- package/dist/devices/remotecontrolbutton.js.map +1 -0
- package/dist/{node/devices → devices}/simplemediumlinearmotor.d.ts +3 -2
- package/dist/devices/simplemediumlinearmotor.d.ts.map +1 -0
- package/dist/devices/simplemediumlinearmotor.js +12 -0
- package/dist/devices/simplemediumlinearmotor.js.map +1 -0
- package/dist/{node/devices → devices}/tachomotor.d.ts +19 -19
- package/dist/devices/tachomotor.d.ts.map +1 -0
- package/dist/devices/tachomotor.js +155 -0
- package/dist/devices/tachomotor.js.map +1 -0
- package/dist/{node/devices → devices}/technic3x3colorlightmatrix.d.ts +6 -5
- package/dist/devices/technic3x3colorlightmatrix.d.ts.map +1 -0
- package/dist/devices/technic3x3colorlightmatrix.js +50 -0
- package/dist/devices/technic3x3colorlightmatrix.js.map +1 -0
- package/dist/{node/devices → devices}/techniccolorsensor.d.ts +12 -8
- package/dist/devices/techniccolorsensor.d.ts.map +1 -0
- package/dist/devices/techniccolorsensor.js +162 -0
- package/dist/devices/techniccolorsensor.js.map +1 -0
- package/dist/{node/devices → devices}/technicdistancesensor.d.ts +4 -5
- package/dist/devices/technicdistancesensor.d.ts.map +1 -0
- package/dist/{node/devices → devices}/technicdistancesensor.js +8 -36
- package/dist/devices/technicdistancesensor.js.map +1 -0
- package/dist/{node/devices → devices}/technicforcesensor.d.ts +3 -3
- package/dist/devices/technicforcesensor.d.ts.map +1 -0
- package/dist/{node/devices → devices}/technicforcesensor.js +7 -34
- package/dist/devices/technicforcesensor.js.map +1 -0
- package/dist/{node/devices → devices}/techniclargeangularmotor.d.ts +4 -3
- package/dist/devices/techniclargeangularmotor.d.ts.map +1 -0
- package/dist/devices/techniclargeangularmotor.js +12 -0
- package/dist/devices/techniclargeangularmotor.js.map +1 -0
- package/dist/{node/devices → devices}/techniclargelinearmotor.d.ts +3 -2
- package/dist/devices/techniclargelinearmotor.d.ts.map +1 -0
- package/dist/devices/techniclargelinearmotor.js +12 -0
- package/dist/devices/techniclargelinearmotor.js.map +1 -0
- package/dist/{node/devices → devices}/technicmediumangularmotor.d.ts +4 -3
- package/dist/devices/technicmediumangularmotor.d.ts.map +1 -0
- package/dist/devices/technicmediumangularmotor.js +12 -0
- package/dist/devices/technicmediumangularmotor.js.map +1 -0
- package/dist/{node/devices → devices}/technicmediumhubaccelerometersensor.d.ts +3 -3
- package/dist/devices/technicmediumhubaccelerometersensor.d.ts.map +1 -0
- package/dist/devices/technicmediumhubaccelerometersensor.js +38 -0
- package/dist/devices/technicmediumhubaccelerometersensor.js.map +1 -0
- package/dist/{node/devices → devices}/technicmediumhubgyrosensor.d.ts +3 -3
- package/dist/devices/technicmediumhubgyrosensor.d.ts.map +1 -0
- package/dist/devices/technicmediumhubgyrosensor.js +38 -0
- package/dist/devices/technicmediumhubgyrosensor.js.map +1 -0
- package/dist/devices/technicmediumhubtiltsensor.d.ts +39 -0
- package/dist/devices/technicmediumhubtiltsensor.d.ts.map +1 -0
- package/dist/devices/technicmediumhubtiltsensor.js +94 -0
- package/dist/devices/technicmediumhubtiltsensor.js.map +1 -0
- package/dist/{node/devices → devices}/technicsmallangularmotor.d.ts +4 -3
- package/dist/devices/technicsmallangularmotor.d.ts.map +1 -0
- package/dist/devices/technicsmallangularmotor.js +12 -0
- package/dist/devices/technicsmallangularmotor.js.map +1 -0
- package/dist/{node/devices → devices}/technicxlargelinearmotor.d.ts +3 -2
- package/dist/devices/technicxlargelinearmotor.d.ts.map +1 -0
- package/dist/devices/technicxlargelinearmotor.js +12 -0
- package/dist/devices/technicxlargelinearmotor.js.map +1 -0
- package/dist/{node/devices → devices}/tiltsensor.d.ts +7 -4
- package/dist/devices/tiltsensor.d.ts.map +1 -0
- package/dist/devices/tiltsensor.js +117 -0
- package/dist/devices/tiltsensor.js.map +1 -0
- package/dist/{node/devices → devices}/trainmotor.d.ts +3 -2
- package/dist/devices/trainmotor.d.ts.map +1 -0
- package/dist/devices/trainmotor.js +12 -0
- package/dist/devices/trainmotor.js.map +1 -0
- package/dist/{node/devices → devices}/voltagesensor.d.ts +3 -3
- package/dist/devices/voltagesensor.d.ts.map +1 -0
- package/dist/{node/devices → devices}/voltagesensor.js +7 -34
- package/dist/devices/voltagesensor.js.map +1 -0
- package/dist/{node/hubs → hubs}/basehub.d.ts +5 -14
- package/dist/hubs/basehub.d.ts.map +1 -0
- package/dist/{node/hubs → hubs}/basehub.js +91 -110
- package/dist/hubs/basehub.js.map +1 -0
- package/dist/{node/hubs → hubs}/duplotrainbase.d.ts +4 -4
- package/dist/hubs/duplotrainbase.d.ts.map +1 -0
- package/dist/hubs/duplotrainbase.js +35 -0
- package/dist/hubs/duplotrainbase.js.map +1 -0
- package/dist/{node/hubs → hubs}/hub.d.ts +4 -4
- package/dist/hubs/hub.d.ts.map +1 -0
- package/dist/hubs/hub.js +44 -0
- package/dist/hubs/hub.js.map +1 -0
- package/dist/{node/hubs → hubs}/lpf2hub.d.ts +3 -5
- package/dist/hubs/lpf2hub.d.ts.map +1 -0
- package/dist/{node/hubs → hubs}/lpf2hub.js +28 -47
- package/dist/hubs/lpf2hub.js.map +1 -0
- package/dist/{node/hubs → hubs}/mario.d.ts +4 -4
- package/dist/hubs/mario.d.ts.map +1 -0
- package/dist/hubs/mario.js +31 -0
- package/dist/hubs/mario.js.map +1 -0
- package/dist/{node/hubs → hubs}/movehub.d.ts +4 -4
- package/dist/hubs/movehub.d.ts.map +1 -0
- package/dist/hubs/movehub.js +46 -0
- package/dist/hubs/movehub.js.map +1 -0
- package/dist/{node/hubs → hubs}/remotecontrol.d.ts +4 -4
- package/dist/hubs/remotecontrol.d.ts.map +1 -0
- package/dist/hubs/remotecontrol.js +37 -0
- package/dist/hubs/remotecontrol.js.map +1 -0
- package/dist/{node/hubs → hubs}/technicmediumhub.d.ts +4 -4
- package/dist/hubs/technicmediumhub.d.ts.map +1 -0
- package/dist/hubs/technicmediumhub.js +42 -0
- package/dist/hubs/technicmediumhub.js.map +1 -0
- package/dist/{node/hubs → hubs}/technicsmallhub.d.ts +4 -4
- package/dist/hubs/technicsmallhub.d.ts.map +1 -0
- package/dist/hubs/technicsmallhub.js +41 -0
- package/dist/hubs/technicsmallhub.js.map +1 -0
- package/dist/{node/hubs → hubs}/wedo2smarthub.d.ts +4 -7
- package/dist/hubs/wedo2smarthub.d.ts.map +1 -0
- package/dist/{node/hubs → hubs}/wedo2smarthub.js +10 -39
- package/dist/hubs/wedo2smarthub.js.map +1 -0
- package/dist/index-browser.d.ts +2 -0
- package/dist/index-browser.d.ts.map +1 -0
- package/dist/index-browser.js +96 -0
- package/dist/index-browser.js.map +1 -0
- package/dist/index-node.d.ts +50 -0
- package/dist/index-node.d.ts.map +1 -0
- package/dist/{node/index-node.d.ts → index-node.js} +48 -46
- package/dist/index-node.js.map +1 -0
- package/dist/{node/interfaces.d.ts → interfaces.d.ts} +3 -4
- package/dist/interfaces.d.ts.map +1 -0
- package/dist/interfaces.js +2 -0
- package/dist/{node/interfaces.js.map → interfaces.js.map} +1 -1
- package/dist/{node/nobleabstraction.d.ts → nobleabstraction.d.ts} +3 -4
- package/dist/nobleabstraction.d.ts.map +1 -0
- package/dist/{node/nobleabstraction.js → nobleabstraction.js} +5 -9
- package/dist/nobleabstraction.js.map +1 -0
- package/dist/portoutputcommand.d.ts +13 -0
- package/dist/portoutputcommand.d.ts.map +1 -0
- package/dist/portoutputcommand.js +30 -0
- package/dist/portoutputcommand.js.map +1 -0
- package/dist/portoutputsleep.d.ts +6 -0
- package/dist/portoutputsleep.d.ts.map +1 -0
- package/dist/portoutputsleep.js +10 -0
- package/dist/portoutputsleep.js.map +1 -0
- package/dist/{node/poweredup-browser.d.ts → poweredup-browser.d.ts} +2 -8
- package/dist/poweredup-browser.d.ts.map +1 -0
- package/dist/{node/poweredup-browser.js → poweredup-browser.js} +23 -55
- package/dist/poweredup-browser.js.map +1 -0
- package/dist/{node/poweredup-node.d.ts → poweredup-node.d.ts} +3 -10
- package/dist/poweredup-node.d.ts.map +1 -0
- package/dist/{node/poweredup-node.js → poweredup-node.js} +32 -66
- package/dist/poweredup-node.js.map +1 -0
- package/dist/{node/utils.d.ts → utils.d.ts} +2 -4
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +84 -0
- package/dist/utils.js.map +1 -0
- package/dist/{node/webbleabstraction.d.ts → webbleabstraction.d.ts} +3 -4
- package/dist/webbleabstraction.d.ts.map +1 -0
- package/dist/{node/webbleabstraction.js → webbleabstraction.js} +3 -7
- package/dist/webbleabstraction.js.map +1 -0
- package/docs/.nojekyll +1 -0
- package/docs/assets/hierarchy.js +1 -0
- package/docs/assets/highlight.css +99 -0
- package/docs/assets/icons.js +18 -0
- package/docs/assets/icons.svg +1 -0
- package/docs/assets/main.js +60 -0
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1633 -0
- package/docs/classes/AbsoluteMotor.html +242 -0
- package/docs/classes/BaseHub.html +220 -0
- package/docs/classes/BasicMotor.html +201 -0
- package/docs/classes/Color.html +3 -0
- package/docs/classes/ColorDistanceSensor.html +214 -0
- package/docs/classes/CurrentSensor.html +185 -0
- package/docs/classes/Device.html +185 -0
- package/docs/classes/DuploTrainBase.html +233 -0
- package/docs/classes/DuploTrainBaseColorSensor.html +185 -0
- package/docs/classes/DuploTrainBaseMotor.html +201 -0
- package/docs/classes/DuploTrainBaseSpeaker.html +191 -0
- package/docs/classes/DuploTrainBaseSpeedometer.html +185 -0
- package/docs/classes/Hub.html +233 -0
- package/docs/classes/HubLED.html +191 -0
- package/docs/classes/Light.html +195 -0
- package/docs/classes/Mario.html +233 -0
- package/docs/classes/MediumLinearMotor.html +229 -0
- package/docs/classes/MotionSensor.html +185 -0
- package/docs/classes/MoveHub.html +233 -0
- package/docs/classes/MoveHubMediumLinearMotor.html +229 -0
- package/docs/classes/MoveHubTiltSensor.html +185 -0
- package/docs/classes/PiezoBuzzer.html +189 -0
- package/docs/classes/PoweredUP.html +180 -0
- package/docs/classes/RemoteControl.html +233 -0
- package/docs/classes/RemoteControlButton.html +185 -0
- package/docs/classes/SimpleMediumLinearMotor.html +201 -0
- package/docs/classes/TachoMotor.html +229 -0
- package/docs/classes/Technic3x3ColorLightMatrix.html +189 -0
- package/docs/classes/TechnicColorSensor.html +191 -0
- package/docs/classes/TechnicDistanceSensor.html +192 -0
- package/docs/classes/TechnicForceSensor.html +185 -0
- package/docs/classes/TechnicLargeAngularMotor.html +242 -0
- package/docs/classes/TechnicLargeLinearMotor.html +242 -0
- package/docs/classes/TechnicMediumAngularMotor.html +242 -0
- package/docs/classes/TechnicMediumHub.html +233 -0
- package/docs/classes/TechnicMediumHubAccelerometerSensor.html +185 -0
- package/docs/classes/TechnicMediumHubGyroSensor.html +185 -0
- package/docs/classes/TechnicMediumHubTiltSensor.html +197 -0
- package/docs/classes/TechnicSmallAngularMotor.html +242 -0
- package/docs/classes/TechnicXLargeLinearMotor.html +242 -0
- package/docs/classes/TiltSensor.html +185 -0
- package/docs/classes/TrainMotor.html +201 -0
- package/docs/classes/VoltageSensor.html +185 -0
- package/docs/classes/WeDo2SmartHub.html +229 -0
- package/docs/enums/ActionType.html +22 -0
- package/docs/enums/AlertOperation.html +10 -0
- package/docs/enums/AlertPayload.html +6 -0
- package/docs/enums/AlertType.html +10 -0
- package/docs/enums/BLECharacteristic.html +15 -0
- package/docs/enums/BLEManufacturerData.html +8 -0
- package/docs/enums/BLEService.html +7 -0
- package/docs/enums/BrakingStyle.html +7 -0
- package/docs/enums/ButtonState.html +11 -0
- package/docs/enums/Consts.Color.html +25 -0
- package/docs/enums/DeviceType.html +79 -0
- package/docs/enums/DuploTrainBaseSound.html +11 -0
- package/docs/enums/ErrorCode.html +18 -0
- package/docs/enums/Event.html +8 -0
- package/docs/enums/HWNetWorkCommandType.html +28 -0
- package/docs/enums/HWNetworkFamily.html +20 -0
- package/docs/enums/HWNetworkSubFamily.html +16 -0
- package/docs/enums/HubPropertyOperation.html +14 -0
- package/docs/enums/HubPropertyPayload.html +32 -0
- package/docs/enums/HubPropertyReference.html +32 -0
- package/docs/enums/HubType.html +19 -0
- package/docs/enums/IOTypeID.html +30 -0
- package/docs/enums/MarioColor.html +17 -0
- package/docs/enums/MarioPantsType.html +13 -0
- package/docs/enums/MessageType.html +48 -0
- package/docs/enums/ModeInformationType.html +22 -0
- package/docs/enums/PortInputFormatSetupSubCommand.html +14 -0
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +18 -120
- package/docs/modules/Consts.html +1 -0
- package/docs/modules.html +1 -0
- package/docs/variables/ColorNames.html +1 -0
- package/docs/variables/DeviceTypeNames.html +1 -0
- package/docs/variables/HubTypeNames.html +1 -0
- package/docs/variables/isWebBluetooth.html +1 -0
- package/package.json +19 -25
- package/src/color.ts +1 -1
- package/src/consts.ts +60 -16
- package/src/devices/absolutemotor.ts +28 -38
- package/src/devices/basicmotor.ts +20 -30
- package/src/devices/colordistancesensor.ts +31 -43
- package/src/devices/currentsensor.ts +3 -3
- package/src/devices/device.ts +200 -22
- package/src/devices/duplotrainbasecolorsensor.ts +4 -4
- package/src/devices/duplotrainbasemotor.ts +3 -3
- package/src/devices/duplotrainbasespeaker.ts +8 -13
- package/src/devices/duplotrainbasespeedometer.ts +3 -3
- package/src/devices/hubled.ts +25 -27
- package/src/devices/light.ts +15 -24
- package/src/devices/marioaccelerometer.ts +3 -3
- package/src/devices/mariobarcodesensor.ts +3 -3
- package/src/devices/mariopantssensor.ts +3 -3
- package/src/devices/mediumlinearmotor.ts +3 -3
- package/src/devices/motionsensor.ts +3 -3
- package/src/devices/movehubmediumlinearmotor.ts +3 -3
- package/src/devices/movehubtiltsensor.ts +3 -3
- package/src/devices/piezobuzzer.ts +6 -7
- package/src/devices/remotecontrolbutton.ts +3 -3
- package/src/devices/simplemediumlinearmotor.ts +3 -3
- package/src/devices/tachomotor.ts +52 -64
- package/src/devices/technic3x3colorlightmatrix.ts +24 -28
- package/src/devices/techniccolorsensor.ts +106 -15
- package/src/devices/technicdistancesensor.ts +4 -5
- package/src/devices/technicforcesensor.ts +3 -3
- package/src/devices/techniclargeangularmotor.ts +3 -3
- package/src/devices/techniclargelinearmotor.ts +3 -3
- package/src/devices/technicmediumangularmotor.ts +3 -3
- package/src/devices/technicmediumhubaccelerometersensor.ts +3 -3
- package/src/devices/technicmediumhubgyrosensor.ts +3 -3
- package/src/devices/technicmediumhubtiltsensor.ts +15 -27
- package/src/devices/technicsmallangularmotor.ts +3 -3
- package/src/devices/technicxlargelinearmotor.ts +3 -3
- package/src/devices/tiltsensor.ts +88 -8
- package/src/devices/trainmotor.ts +3 -3
- package/src/devices/voltagesensor.ts +3 -3
- package/src/hubs/basehub.ts +60 -51
- package/src/hubs/duplotrainbase.ts +5 -5
- package/src/hubs/hub.ts +5 -5
- package/src/hubs/lpf2hub.ts +16 -12
- package/src/hubs/mario.ts +5 -5
- package/src/hubs/movehub.ts +5 -5
- package/src/hubs/remotecontrol.ts +5 -5
- package/src/hubs/technicmediumhub.ts +5 -5
- package/src/hubs/technicsmallhub.ts +5 -5
- package/src/hubs/wedo2smarthub.ts +7 -9
- package/src/index-browser.ts +46 -46
- package/src/index-node.ts +47 -46
- package/src/interfaces.ts +2 -2
- package/src/nobleabstraction.ts +10 -10
- package/src/portoutputcommand.ts +37 -0
- package/src/portoutputsleep.ts +11 -0
- package/src/poweredup-browser.ts +15 -19
- package/src/poweredup-node.ts +15 -22
- package/src/utils.ts +15 -20
- package/src/webbleabstraction.ts +3 -3
- package/tsconfig.tsbuildinfo +1 -0
- package/typedoc.json +14 -0
- package/webpack.config.cjs +35 -0
- package/.jsdoc.json +0 -40
- package/abandonware-noble.d.ts +0 -129
- package/dist/browser/poweredup.js.LICENSE.txt +0 -8
- package/dist/node/color.js +0 -42
- package/dist/node/color.js.map +0 -1
- package/dist/node/consts.js.map +0 -1
- package/dist/node/devices/absolutemotor.js +0 -145
- package/dist/node/devices/absolutemotor.js.map +0 -1
- package/dist/node/devices/basicmotor.d.ts +0 -40
- package/dist/node/devices/basicmotor.js +0 -88
- package/dist/node/devices/basicmotor.js.map +0 -1
- package/dist/node/devices/colordistancesensor.js.map +0 -1
- package/dist/node/devices/currentsensor.js.map +0 -1
- package/dist/node/devices/device.js +0 -189
- package/dist/node/devices/device.js.map +0 -1
- package/dist/node/devices/duplotrainbasecolorsensor.js.map +0 -1
- package/dist/node/devices/duplotrainbasemotor.js +0 -39
- package/dist/node/devices/duplotrainbasemotor.js.map +0 -1
- package/dist/node/devices/duplotrainbasespeaker.d.ts +0 -28
- package/dist/node/devices/duplotrainbasespeaker.js +0 -67
- package/dist/node/devices/duplotrainbasespeaker.js.map +0 -1
- package/dist/node/devices/duplotrainbasespeedometer.js +0 -61
- package/dist/node/devices/duplotrainbasespeedometer.js.map +0 -1
- package/dist/node/devices/hubled.d.ts +0 -29
- package/dist/node/devices/hubled.js +0 -87
- package/dist/node/devices/hubled.js.map +0 -1
- package/dist/node/devices/light.js +0 -73
- package/dist/node/devices/light.js.map +0 -1
- package/dist/node/devices/marioaccelerometer.js +0 -77
- package/dist/node/devices/marioaccelerometer.js.map +0 -1
- package/dist/node/devices/mariobarcodesensor.js.map +0 -1
- package/dist/node/devices/mariopantssensor.js +0 -61
- package/dist/node/devices/mariopantssensor.js.map +0 -1
- package/dist/node/devices/mediumlinearmotor.js +0 -39
- package/dist/node/devices/mediumlinearmotor.js.map +0 -1
- package/dist/node/devices/motionsensor.js +0 -65
- package/dist/node/devices/motionsensor.js.map +0 -1
- package/dist/node/devices/movehubmediumlinearmotor.js +0 -39
- package/dist/node/devices/movehubmediumlinearmotor.js.map +0 -1
- package/dist/node/devices/movehubtiltsensor.js +0 -63
- package/dist/node/devices/movehubtiltsensor.js.map +0 -1
- package/dist/node/devices/piezobuzzer.d.ts +0 -17
- package/dist/node/devices/piezobuzzer.js +0 -55
- package/dist/node/devices/piezobuzzer.js.map +0 -1
- package/dist/node/devices/remotecontrolbutton.js +0 -67
- package/dist/node/devices/remotecontrolbutton.js.map +0 -1
- package/dist/node/devices/simplemediumlinearmotor.js +0 -39
- package/dist/node/devices/simplemediumlinearmotor.js.map +0 -1
- package/dist/node/devices/tachomotor.js +0 -194
- package/dist/node/devices/tachomotor.js.map +0 -1
- package/dist/node/devices/technic3x3colorlightmatrix.js +0 -81
- package/dist/node/devices/technic3x3colorlightmatrix.js.map +0 -1
- package/dist/node/devices/techniccolorsensor.js +0 -99
- package/dist/node/devices/techniccolorsensor.js.map +0 -1
- package/dist/node/devices/technicdistancesensor.js.map +0 -1
- package/dist/node/devices/technicforcesensor.js.map +0 -1
- package/dist/node/devices/techniclargeangularmotor.js +0 -39
- package/dist/node/devices/techniclargeangularmotor.js.map +0 -1
- package/dist/node/devices/techniclargelinearmotor.js +0 -39
- package/dist/node/devices/techniclargelinearmotor.js.map +0 -1
- package/dist/node/devices/technicmediumangularmotor.js +0 -39
- package/dist/node/devices/technicmediumangularmotor.js.map +0 -1
- package/dist/node/devices/technicmediumhubaccelerometersensor.js +0 -65
- package/dist/node/devices/technicmediumhubaccelerometersensor.js.map +0 -1
- package/dist/node/devices/technicmediumhubgyrosensor.js +0 -65
- package/dist/node/devices/technicmediumhubgyrosensor.js.map +0 -1
- package/dist/node/devices/technicmediumhubtiltsensor.d.ts +0 -41
- package/dist/node/devices/technicmediumhubtiltsensor.js +0 -133
- package/dist/node/devices/technicmediumhubtiltsensor.js.map +0 -1
- package/dist/node/devices/technicsmallangularmotor.js +0 -39
- package/dist/node/devices/technicsmallangularmotor.js.map +0 -1
- package/dist/node/devices/technicxlargelinearmotor.js +0 -39
- package/dist/node/devices/technicxlargelinearmotor.js.map +0 -1
- package/dist/node/devices/tiltsensor.js +0 -63
- package/dist/node/devices/tiltsensor.js.map +0 -1
- package/dist/node/devices/trainmotor.js +0 -39
- package/dist/node/devices/trainmotor.js.map +0 -1
- package/dist/node/devices/voltagesensor.js.map +0 -1
- package/dist/node/hubs/basehub.js.map +0 -1
- package/dist/node/hubs/duplotrainbase.js +0 -62
- package/dist/node/hubs/duplotrainbase.js.map +0 -1
- package/dist/node/hubs/hub.js +0 -71
- package/dist/node/hubs/hub.js.map +0 -1
- package/dist/node/hubs/lpf2hub.js.map +0 -1
- package/dist/node/hubs/mario.js +0 -58
- package/dist/node/hubs/mario.js.map +0 -1
- package/dist/node/hubs/movehub.js +0 -73
- package/dist/node/hubs/movehub.js.map +0 -1
- package/dist/node/hubs/remotecontrol.js +0 -64
- package/dist/node/hubs/remotecontrol.js.map +0 -1
- package/dist/node/hubs/technicmediumhub.js +0 -69
- package/dist/node/hubs/technicmediumhub.js.map +0 -1
- package/dist/node/hubs/technicsmallhub.js +0 -68
- package/dist/node/hubs/technicsmallhub.js.map +0 -1
- package/dist/node/hubs/wedo2smarthub.js.map +0 -1
- package/dist/node/index-browser.d.ts +0 -1
- package/dist/node/index-browser.js +0 -121
- package/dist/node/index-browser.js.map +0 -1
- package/dist/node/index-node.js +0 -120
- package/dist/node/index-node.js.map +0 -1
- package/dist/node/interfaces.js +0 -3
- package/dist/node/nobleabstraction.js.map +0 -1
- package/dist/node/poweredup-browser.js.map +0 -1
- package/dist/node/poweredup-node.js.map +0 -1
- package/dist/node/utils.js +0 -102
- package/dist/node/utils.js.map +0 -1
- package/dist/node/webbleabstraction.js.map +0 -1
- package/docs/AbsoluteMotor.html +0 -2008
- package/docs/BaseHub.html +0 -1391
- package/docs/BasicMotor.html +0 -1459
- package/docs/ColorDistanceSensor.html +0 -3025
- package/docs/CurrentSensor.html +0 -1022
- package/docs/Device.html +0 -841
- package/docs/DuploTrainBase.html +0 -2092
- package/docs/DuploTrainBaseColorSensor.html +0 -1509
- package/docs/DuploTrainBaseMotor.html +0 -1479
- package/docs/DuploTrainBaseSpeaker.html +0 -1193
- package/docs/DuploTraniBaseSpeedometer.html +0 -871
- package/docs/Hub.html +0 -7451
- package/docs/HubLED.html +0 -1239
- package/docs/LPF2Hub.html +0 -2066
- package/docs/Light.html +0 -1239
- package/docs/Mario.html +0 -2092
- package/docs/MarioAccelerometer.html +0 -1215
- package/docs/MarioBarcodeSensor.html +0 -1215
- package/docs/MarioPantsSensor.html +0 -1022
- package/docs/MediumLinearMotor.html +0 -1357
- package/docs/MotionSensor.html +0 -1022
- package/docs/MoveHub.html +0 -2092
- package/docs/MoveHubMediumLinearMotor.html +0 -1357
- package/docs/MoveHubTiltSensor.html +0 -1045
- package/docs/PiezoBuzzer.html +0 -1057
- package/docs/PoweredUP.html +0 -4371
- package/docs/RemoteControl.html +0 -2092
- package/docs/RemoteControlButton.html +0 -1022
- package/docs/SimpleMediumLinearMotor.html +0 -871
- package/docs/TachoMotor.html +0 -2620
- package/docs/Technic3x3ColorLightMatrix.html +0 -1037
- package/docs/TechnicColorSensor.html +0 -1525
- package/docs/TechnicDistanceSensor.html +0 -1401
- package/docs/TechnicForceSensor.html +0 -1316
- package/docs/TechnicLargeAngularMotor.html +0 -2028
- package/docs/TechnicLargeLinearMotor.html +0 -2028
- package/docs/TechnicMediumAngularMotor.html +0 -2028
- package/docs/TechnicMediumHub.html +0 -2092
- package/docs/TechnicMediumHubAccelerometerSensor.html +0 -1068
- package/docs/TechnicMediumHubGyroSensor.html +0 -1068
- package/docs/TechnicMediumHubTiltSensor.html +0 -1696
- package/docs/TechnicSmallAngularMotor.html +0 -2028
- package/docs/TechnicXLargeLinearMotor.html +0 -2028
- package/docs/TiltSensor.html +0 -1045
- package/docs/TrainMotor.html +0 -1479
- package/docs/VoltageSensor.html +0 -1022
- package/docs/WeDo2SmartHub.html +0 -1887
- package/docs/consts.js.html +0 -728
- package/docs/devices_absolutemotor.js.html +0 -195
- package/docs/devices_basicmotor.js.html +0 -138
- package/docs/devices_colordistancesensor.js.html +0 -361
- package/docs/devices_currentsensor.js.html +0 -132
- package/docs/devices_device.js.html +0 -239
- package/docs/devices_duplotrainbasecolorsensor.js.html +0 -154
- package/docs/devices_duplotrainbasemotor.js.html +0 -89
- package/docs/devices_duplotrainbasespeaker.js.html +0 -117
- package/docs/devices_duplotrainbasespeedometer.js.html +0 -111
- package/docs/devices_hubled.js.html +0 -137
- package/docs/devices_light.js.html +0 -123
- package/docs/devices_marioaccelerometer.js.html +0 -127
- package/docs/devices_mariobarcodesensor.js.html +0 -135
- package/docs/devices_mariopantssensor.js.html +0 -111
- package/docs/devices_mediumlinearmotor.js.html +0 -89
- package/docs/devices_motionsensor.js.html +0 -115
- package/docs/devices_movehubmediumlinearmotor.js.html +0 -89
- package/docs/devices_movehubtiltsensor.js.html +0 -113
- package/docs/devices_piezobuzzer.js.html +0 -105
- package/docs/devices_remotecontrolbutton.js.html +0 -117
- package/docs/devices_simplemediumlinearmotor.js.html +0 -89
- package/docs/devices_tachomotor.js.html +0 -244
- package/docs/devices_technic3x3colorlightmatrix.js.html +0 -131
- package/docs/devices_techniccolorsensor.js.html +0 -149
- package/docs/devices_technicdistancesensor.js.html +0 -135
- package/docs/devices_technicforcesensor.js.html +0 -135
- package/docs/devices_techniclargeangularmotor.js.html +0 -89
- package/docs/devices_techniclargelinearmotor.js.html +0 -89
- package/docs/devices_technicmediumangularmotor.js.html +0 -89
- package/docs/devices_technicmediumhubaccelerometersensor.js.html +0 -115
- package/docs/devices_technicmediumhubgyrosensor.js.html +0 -115
- package/docs/devices_technicmediumhubtiltsensor.js.html +0 -183
- package/docs/devices_technicsmallangularmotor.js.html +0 -89
- package/docs/devices_technicxlargelinearmotor.js.html +0 -89
- package/docs/devices_tiltsensor.js.html +0 -113
- package/docs/devices_trainmotor.js.html +0 -89
- package/docs/devices_voltagesensor.js.html +0 -136
- package/docs/fonts/OpenSans-Bold-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Bold-webfont.svg +0 -1830
- package/docs/fonts/OpenSans-Bold-webfont.woff +0 -0
- package/docs/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
- package/docs/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
- package/docs/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
- package/docs/fonts/OpenSans-Italic-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Italic-webfont.svg +0 -1830
- package/docs/fonts/OpenSans-Italic-webfont.woff +0 -0
- package/docs/fonts/OpenSans-Light-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Light-webfont.svg +0 -1831
- package/docs/fonts/OpenSans-Light-webfont.woff +0 -0
- package/docs/fonts/OpenSans-LightItalic-webfont.eot +0 -0
- package/docs/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
- package/docs/fonts/OpenSans-LightItalic-webfont.woff +0 -0
- package/docs/fonts/OpenSans-Regular-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Regular-webfont.svg +0 -1831
- package/docs/fonts/OpenSans-Regular-webfont.woff +0 -0
- package/docs/fonts/OpenSans-Semibold-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Semibold-webfont.svg +0 -1830
- package/docs/fonts/OpenSans-Semibold-webfont.ttf +0 -0
- package/docs/fonts/OpenSans-Semibold-webfont.woff +0 -0
- package/docs/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
- package/docs/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -1830
- package/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
- package/docs/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
- package/docs/global.html +0 -3996
- package/docs/hubs_basehub.js.html +0 -469
- package/docs/hubs_duplotrainbase.js.html +0 -112
- package/docs/hubs_hub.js.html +0 -121
- package/docs/hubs_lpf2hub.js.html +0 -391
- package/docs/hubs_mario.js.html +0 -108
- package/docs/hubs_movehub.js.html +0 -123
- package/docs/hubs_remotecontrol.js.html +0 -114
- package/docs/hubs_technicmediumhub.js.html +0 -119
- package/docs/hubs_technicsmallhub.js.html +0 -118
- package/docs/hubs_wedo2smarthub.js.html +0 -265
- package/docs/icons/home.svg +0 -4
- package/docs/icons/search.svg +0 -4
- package/docs/poweredup-browser.js.html +0 -292
- package/docs/poweredup-node.js.html +0 -250
- package/docs/scripts/linenumber.js +0 -25
- package/docs/scripts/pagelocation.js +0 -89
- package/docs/scripts/prettify/Apache-License-2.0.txt +0 -202
- package/docs/scripts/prettify/lang-css.js +0 -2
- package/docs/scripts/prettify/prettify.js +0 -28
- package/docs/styles/collapse.css +0 -27
- package/docs/styles/jsdoc-default.css +0 -358
- package/docs/styles/prettify-jsdoc.css +0 -111
- package/docs/styles/prettify-tomorrow.css +0 -132
- package/noble-mac.d.ts +0 -3
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { TachoMotor } from "./tachomotor.js";
|
|
2
|
+
import * as Consts from "../consts.js";
|
|
3
|
+
import { mapSpeed, normalizeAngle } from "../utils.js";
|
|
4
|
+
/**
|
|
5
|
+
* @class AbsoluteMotor
|
|
6
|
+
* @extends TachoMotor
|
|
7
|
+
*/
|
|
8
|
+
export class AbsoluteMotor extends TachoMotor {
|
|
9
|
+
constructor(hub, portId, modeMap = {}, type = Consts.DeviceType.UNKNOWN) {
|
|
10
|
+
super(hub, portId, Object.assign({}, modeMap, ModeMap), type);
|
|
11
|
+
}
|
|
12
|
+
receive(message) {
|
|
13
|
+
const mode = this._mode;
|
|
14
|
+
switch (mode) {
|
|
15
|
+
case Mode.ABSOLUTE:
|
|
16
|
+
const angle = normalizeAngle(message.readInt16LE(this.isWeDo2SmartHub ? 2 : 4));
|
|
17
|
+
/**
|
|
18
|
+
* Emits when a the motors absolute position is changed.
|
|
19
|
+
* @event AbsoluteMotor#absolute
|
|
20
|
+
* @type {object}
|
|
21
|
+
* @param {number} absolute
|
|
22
|
+
*/
|
|
23
|
+
this.notify("absolute", { angle });
|
|
24
|
+
break;
|
|
25
|
+
default:
|
|
26
|
+
super.receive(message);
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Rotate a motor by a given angle.
|
|
32
|
+
* @param {number} angle Absolute position the motor should go to (degrees from 0).
|
|
33
|
+
* @param {number} [speed=100] For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100.
|
|
34
|
+
* @param {boolean} [interrupt=false] If true, previous commands are discarded.
|
|
35
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of command (i.e. once the motor is finished).
|
|
36
|
+
*/
|
|
37
|
+
gotoAngle(angle, speed = 100, interrupt = false) {
|
|
38
|
+
if (!this.isVirtualPort && angle instanceof Array) {
|
|
39
|
+
throw new Error("Only virtual ports can accept multiple positions");
|
|
40
|
+
}
|
|
41
|
+
if (this.isWeDo2SmartHub) {
|
|
42
|
+
throw new Error("Absolute positioning is not available on the WeDo 2.0 Smart Hub");
|
|
43
|
+
}
|
|
44
|
+
if (speed === undefined || speed === null) {
|
|
45
|
+
speed = 100;
|
|
46
|
+
}
|
|
47
|
+
let message;
|
|
48
|
+
if (angle instanceof Array) {
|
|
49
|
+
message = Buffer.from([0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, mapSpeed(speed), this._maxPower, this._brakeStyle, this.useProfile()]);
|
|
50
|
+
message.writeInt32LE(normalizeAngle(angle[0]), 1);
|
|
51
|
+
message.writeInt32LE(normalizeAngle(angle[1]), 5);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
message = Buffer.from([0x0d, 0x00, 0x00, 0x00, 0x00, mapSpeed(speed), this._maxPower, this._brakeStyle, this.useProfile()]);
|
|
55
|
+
message.writeInt32LE(normalizeAngle(angle), 1);
|
|
56
|
+
}
|
|
57
|
+
return this.sendPortOutputCommand(message, interrupt);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Rotate motor to real zero position.
|
|
61
|
+
*
|
|
62
|
+
* Real zero is marked on Technic angular motors (SPIKE Prime). It is also available on Technic linear motors (Control+) but is unmarked.
|
|
63
|
+
* @param {number} [speed=100] Speed between 1 - 100. Note that this will always take the shortest path to zero.
|
|
64
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of command (i.e. once the motor is finished).
|
|
65
|
+
*/
|
|
66
|
+
gotoRealZero(speed = 100) {
|
|
67
|
+
return new Promise((resolve) => {
|
|
68
|
+
const oldMode = this.mode;
|
|
69
|
+
let calibrated = false;
|
|
70
|
+
this.on("absolute", async ({ angle }) => {
|
|
71
|
+
if (!calibrated) {
|
|
72
|
+
calibrated = true;
|
|
73
|
+
if (angle < 0) {
|
|
74
|
+
angle = Math.abs(angle);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
speed = -speed;
|
|
78
|
+
}
|
|
79
|
+
await this.rotateByDegrees(angle, speed);
|
|
80
|
+
if (oldMode) {
|
|
81
|
+
this.subscribe(oldMode);
|
|
82
|
+
}
|
|
83
|
+
return resolve(Consts.CommandFeedback.FEEDBACK_DISABLED);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
this.requestUpdate();
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Reset zero to current position
|
|
91
|
+
* @param {boolean} [interrupt=false] If true, previous commands are discarded.
|
|
92
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of command (i.e. once the motor is finished).
|
|
93
|
+
*/
|
|
94
|
+
resetZero(interrupt = false) {
|
|
95
|
+
const data = Buffer.from([0x51, 0x02, 0x00, 0x00, 0x00, 0x00]);
|
|
96
|
+
return this.sendPortOutputCommand(data, interrupt);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
export var Mode;
|
|
100
|
+
(function (Mode) {
|
|
101
|
+
Mode[Mode["ROTATION"] = 2] = "ROTATION";
|
|
102
|
+
Mode[Mode["ABSOLUTE"] = 3] = "ABSOLUTE";
|
|
103
|
+
})(Mode || (Mode = {}));
|
|
104
|
+
export const ModeMap = {
|
|
105
|
+
"rotate": Mode.ROTATION,
|
|
106
|
+
"absolute": Mode.ABSOLUTE
|
|
107
|
+
};
|
|
108
|
+
//# sourceMappingURL=absolutemotor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"absolutemotor.js","sourceRoot":"","sources":["../../src/devices/absolutemotor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Device } from "./device.js";
|
|
2
|
+
import { IDeviceInterface } from "../interfaces.js";
|
|
3
|
+
import * as Consts from "../consts.js";
|
|
4
|
+
/**
|
|
5
|
+
* @class BasicMotor
|
|
6
|
+
* @extends Device
|
|
7
|
+
*/
|
|
8
|
+
export declare class BasicMotor extends Device {
|
|
9
|
+
constructor(hub: IDeviceInterface, portId: number, modeMap: {
|
|
10
|
+
[event: string]: number;
|
|
11
|
+
}, type?: Consts.DeviceType);
|
|
12
|
+
/**
|
|
13
|
+
* Set the motor power.
|
|
14
|
+
* @param {number} power For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
|
|
15
|
+
* @param {boolean} [interrupt=false] If true, previous commands are discarded.
|
|
16
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of command.
|
|
17
|
+
*/
|
|
18
|
+
setPower(power: number, interrupt?: boolean): Promise<Consts.CommandFeedback> | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Ramp the motor power.
|
|
21
|
+
* @param {number} fromPower For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
|
|
22
|
+
* @param {number} toPower For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
|
|
23
|
+
* @param {number} time How long the ramp should last (in milliseconds).
|
|
24
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of command.
|
|
25
|
+
*/
|
|
26
|
+
rampPower(fromPower: number, toPower: number, time: number): Promise<Consts.CommandFeedback> | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Stop the motor. Previous commands that have not completed are discarded.
|
|
29
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of command.
|
|
30
|
+
*/
|
|
31
|
+
stop(): Promise<Consts.CommandFeedback> | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Brake the motor. Previous commands that have not completed are discarded.
|
|
34
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of command.
|
|
35
|
+
*/
|
|
36
|
+
brake(): Promise<Consts.CommandFeedback> | undefined;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=basicmotor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basicmotor.d.ts","sourceRoot":"","sources":["../../src/devices/basicmotor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAIvC;;;GAGG;AACH,qBAAa,UAAW,SAAQ,MAAM;gBAGrB,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;QAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,EAAE,IAAI,GAAE,MAAM,CAAC,UAAsC;IAK3I;;;;;OAKG;IACI,QAAQ,CAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,OAAe;IAK1D;;;;;;OAMG;IACI,SAAS,CAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAUlE;;;OAGG;IACI,IAAI;IAKX;;;OAGG;IACI,KAAK;CAKf"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Device } from "./device.js";
|
|
2
|
+
import * as Consts from "../consts.js";
|
|
3
|
+
import { calculateRamp, mapSpeed } from "../utils.js";
|
|
4
|
+
/**
|
|
5
|
+
* @class BasicMotor
|
|
6
|
+
* @extends Device
|
|
7
|
+
*/
|
|
8
|
+
export class BasicMotor extends Device {
|
|
9
|
+
constructor(hub, portId, modeMap, type = Consts.DeviceType.UNKNOWN) {
|
|
10
|
+
super(hub, portId, modeMap, type);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Set the motor power.
|
|
14
|
+
* @param {number} power For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
|
|
15
|
+
* @param {boolean} [interrupt=false] If true, previous commands are discarded.
|
|
16
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of command.
|
|
17
|
+
*/
|
|
18
|
+
setPower(power, interrupt = false) {
|
|
19
|
+
return this.writeDirect(0x00, Buffer.from([mapSpeed(power)]), interrupt);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Ramp the motor power.
|
|
23
|
+
* @param {number} fromPower For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
|
|
24
|
+
* @param {number} toPower For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
|
|
25
|
+
* @param {number} time How long the ramp should last (in milliseconds).
|
|
26
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of command.
|
|
27
|
+
*/
|
|
28
|
+
rampPower(fromPower, toPower, time) {
|
|
29
|
+
const powerValues = calculateRamp(fromPower, toPower, time);
|
|
30
|
+
powerValues.forEach(value => {
|
|
31
|
+
this.setPower(value);
|
|
32
|
+
this.addPortOutputSleep(Math.round(time / powerValues.length));
|
|
33
|
+
});
|
|
34
|
+
return this.setPower(toPower);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Stop the motor. Previous commands that have not completed are discarded.
|
|
38
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of command.
|
|
39
|
+
*/
|
|
40
|
+
stop() {
|
|
41
|
+
return this.setPower(0, true);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Brake the motor. Previous commands that have not completed are discarded.
|
|
45
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of command.
|
|
46
|
+
*/
|
|
47
|
+
brake() {
|
|
48
|
+
return this.setPower(Consts.BrakingStyle.BRAKE, true);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=basicmotor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basicmotor.js","sourceRoot":"","sources":["../../src/devices/basicmotor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtD;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,MAAM;IAGlC,YAAa,GAAqB,EAAE,MAAc,EAAE,OAAkC,EAAE,OAA0B,MAAM,CAAC,UAAU,CAAC,OAAO;QACvI,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAGD;;;;;OAKG;IACI,QAAQ,CAAE,KAAa,EAAE,YAAqB,KAAK;QACtD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7E,CAAC;IAGD;;;;;;OAMG;IACI,SAAS,CAAE,SAAiB,EAAE,OAAe,EAAE,IAAY;QAC9D,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5D,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAGD;;;OAGG;IACI,IAAI;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAGD;;;OAGG;IACI,KAAK;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;CAGJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import { Device } from "./device.js";
|
|
2
|
+
import { IDeviceInterface } from "../interfaces.js";
|
|
3
|
+
import * as Consts from "../consts.js";
|
|
4
4
|
/**
|
|
5
5
|
* @class ColorDistanceSensor
|
|
6
6
|
* @extends Device
|
|
@@ -12,52 +12,46 @@ export declare class ColorDistanceSensor extends Device {
|
|
|
12
12
|
* Switches the IR receiver into extended channel mode. After setting this, use channels 5-8 instead of 1-4 for this receiver.
|
|
13
13
|
*
|
|
14
14
|
* NOTE: Calling this with channel 5-8 with switch off extended channel mode for this receiver.
|
|
15
|
-
* @method ColorDistanceSensor#setPFExtendedChannel
|
|
16
15
|
* @param {number} channel Channel number, between 1-8
|
|
17
|
-
* @returns {Promise} Resolved upon
|
|
16
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of the command.
|
|
18
17
|
*/
|
|
19
|
-
setPFExtendedChannel(channel: number): Promise<
|
|
18
|
+
setPFExtendedChannel(channel: number): Promise<Consts.CommandFeedback> | undefined;
|
|
20
19
|
/**
|
|
21
20
|
* Set the power of a Power Functions motor via IR
|
|
22
|
-
* @method ColorDistanceSensor#setPFPower
|
|
23
21
|
* @param {number} channel Channel number, between 1-4
|
|
24
22
|
* @param {string} output Outport port, "RED" (A) or "BLUE" (B)
|
|
25
23
|
* @param {number} power -7 (full reverse) to 7 (full forward). 0 is stop. 8 is brake.
|
|
26
|
-
* @returns {Promise} Resolved upon
|
|
24
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of the command.
|
|
27
25
|
*/
|
|
28
|
-
setPFPower(channel: number, output: Output, power: number): Promise<
|
|
26
|
+
setPFPower(channel: number, output: Output, power: number): Promise<Consts.CommandFeedback> | undefined;
|
|
29
27
|
/**
|
|
30
28
|
* Start Power Functions motors running via IR
|
|
31
29
|
*
|
|
32
30
|
* NOTE: This command is designed for bang-bang style operation. To keep the motors running, the sensor needs to be within range of the IR receiver constantly.
|
|
33
|
-
* @
|
|
34
|
-
* @param {
|
|
35
|
-
* @param {
|
|
36
|
-
* @
|
|
37
|
-
* @returns {Promise} Resolved upon successful issuance of the command.
|
|
31
|
+
* @param {number} channel Channel number, between 1-4
|
|
32
|
+
* @param {number} powerBlue -7 (full reverse) to 7 (full forward). 0 is stop. 8 is brake.
|
|
33
|
+
* @param {number} powerRed -7 (full reverse) to 7 (full forward). 0 is stop. 8 is brake.
|
|
34
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of the command.
|
|
38
35
|
*/
|
|
39
|
-
startPFMotors(channel: number, powerBlue: number, powerRed: number): Promise<
|
|
36
|
+
startPFMotors(channel: number, powerBlue: number, powerRed: number): Promise<Consts.CommandFeedback> | undefined;
|
|
40
37
|
/**
|
|
41
38
|
* Send a raw Power Functions IR command
|
|
42
|
-
* @method ColorDistanceSensor#sendPFIRMessage
|
|
43
39
|
* @param {Buffer} message 2 byte payload making up a Power Functions protocol command. NOTE: Only specify nibbles 1-3, nibble 4 should be zeroed.
|
|
44
|
-
* @returns {Promise} Resolved upon
|
|
40
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of the command.
|
|
45
41
|
*/
|
|
46
|
-
sendPFIRMessage(message: Buffer): Promise<
|
|
42
|
+
sendPFIRMessage(message: Buffer): Promise<Consts.CommandFeedback> | undefined;
|
|
47
43
|
/**
|
|
48
44
|
* Set the color of the LED on the sensor via a color value.
|
|
49
|
-
* @method ColorDistanceSensor#setColor
|
|
50
45
|
* @param {Color} color
|
|
51
|
-
* @returns {Promise} Resolved upon
|
|
46
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of the command.
|
|
52
47
|
*/
|
|
53
|
-
setColor(color: number | boolean): Promise<
|
|
48
|
+
setColor(color: number | boolean): Promise<Consts.CommandFeedback> | undefined;
|
|
54
49
|
/**
|
|
55
50
|
* Set the distance count value.
|
|
56
|
-
* @
|
|
57
|
-
* @
|
|
58
|
-
* @returns {Promise} Resolved upon successful issuance of the command.
|
|
51
|
+
* @param {number} count distance count between 0 and 2^32
|
|
52
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of the command.
|
|
59
53
|
*/
|
|
60
|
-
setDistanceCount(count: number): Promise<
|
|
54
|
+
setDistanceCount(count: number): Promise<Consts.CommandFeedback> | undefined;
|
|
61
55
|
private _pfPowerToPWM;
|
|
62
56
|
}
|
|
63
57
|
export declare enum Mode {
|
|
@@ -78,3 +72,4 @@ export declare enum Output {
|
|
|
78
72
|
RED = "RED",
|
|
79
73
|
BLUE = "BLUE"
|
|
80
74
|
}
|
|
75
|
+
//# sourceMappingURL=colordistancesensor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colordistancesensor.d.ts","sourceRoot":"","sources":["../../src/devices/colordistancesensor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAGvC;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,MAAM;gBAE9B,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM;IAI3C,OAAO,CAAE,OAAO,EAAE,MAAM;IA0I/B;;;;;;OAMG;IACI,oBAAoB,CAAE,OAAO,EAAE,MAAM;IAc5C;;;;;;OAMG;IACI,UAAU,CAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAcjE;;;;;;;;OAQG;IACI,aAAa,CAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAc1E;;;;OAIG;IACI,eAAe,CAAE,OAAO,EAAE,MAAM;IAavC;;;;OAIG;IACI,QAAQ,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAYxC;;;;OAIG;IACI,gBAAgB,CAAE,KAAK,EAAE,MAAM;IAWtC,OAAO,CAAC,aAAa;CAIxB;AAED,oBAAY,IAAI;IACZ,KAAK,IAAO;IACZ,QAAQ,IAAO;IACf,cAAc,IAAO;IACrB,OAAO,IAAO;IACd,OAAO,IAAO;IACd,GAAG,IAAO;IACV,KAAK,IAAO;IACZ,KAAK,IAAO;IACZ,kBAAkB,IAAO;CAC5B;AAED,eAAO,MAAM,OAAO,EAAE;IAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAQ7C,CAAC;AAEF,oBAAY,MAAM;IACd,GAAG,QAAQ;IACX,IAAI,SAAS;CAChB"}
|
|
@@ -1,46 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.Output = exports.ModeMap = exports.Mode = exports.ColorDistanceSensor = void 0;
|
|
27
|
-
const device_1 = require("./device");
|
|
28
|
-
const Consts = __importStar(require("../consts"));
|
|
29
|
-
const utils_1 = require("../utils");
|
|
1
|
+
import { Device } from "./device.js";
|
|
2
|
+
import * as Consts from "../consts.js";
|
|
3
|
+
import { parseColor } from "../utils.js";
|
|
30
4
|
/**
|
|
31
5
|
* @class ColorDistanceSensor
|
|
32
6
|
* @extends Device
|
|
33
7
|
*/
|
|
34
|
-
class ColorDistanceSensor extends
|
|
8
|
+
export class ColorDistanceSensor extends Device {
|
|
35
9
|
constructor(hub, portId) {
|
|
36
|
-
super(hub, portId,
|
|
10
|
+
super(hub, portId, ModeMap, Consts.DeviceType.COLOR_DISTANCE_SENSOR);
|
|
37
11
|
}
|
|
38
12
|
receive(message) {
|
|
39
13
|
const mode = this._mode;
|
|
40
14
|
switch (mode) {
|
|
41
15
|
case Mode.COLOR:
|
|
42
16
|
if (message[this.isWeDo2SmartHub ? 2 : 4] <= 10) {
|
|
43
|
-
const color =
|
|
17
|
+
const color = parseColor(message[this.isWeDo2SmartHub ? 2 : 4]);
|
|
44
18
|
/**
|
|
45
19
|
* Emits when a color sensor is activated.
|
|
46
20
|
* @event ColorDistanceSensor#color
|
|
@@ -160,9 +134,8 @@ class ColorDistanceSensor extends device_1.Device {
|
|
|
160
134
|
* Switches the IR receiver into extended channel mode. After setting this, use channels 5-8 instead of 1-4 for this receiver.
|
|
161
135
|
*
|
|
162
136
|
* NOTE: Calling this with channel 5-8 with switch off extended channel mode for this receiver.
|
|
163
|
-
* @method ColorDistanceSensor#setPFExtendedChannel
|
|
164
137
|
* @param {number} channel Channel number, between 1-8
|
|
165
|
-
* @returns {Promise} Resolved upon
|
|
138
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of the command.
|
|
166
139
|
*/
|
|
167
140
|
setPFExtendedChannel(channel) {
|
|
168
141
|
let address = 0;
|
|
@@ -178,11 +151,10 @@ class ColorDistanceSensor extends device_1.Device {
|
|
|
178
151
|
}
|
|
179
152
|
/**
|
|
180
153
|
* Set the power of a Power Functions motor via IR
|
|
181
|
-
* @method ColorDistanceSensor#setPFPower
|
|
182
154
|
* @param {number} channel Channel number, between 1-4
|
|
183
155
|
* @param {string} output Outport port, "RED" (A) or "BLUE" (B)
|
|
184
156
|
* @param {number} power -7 (full reverse) to 7 (full forward). 0 is stop. 8 is brake.
|
|
185
|
-
* @returns {Promise} Resolved upon
|
|
157
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of the command.
|
|
186
158
|
*/
|
|
187
159
|
setPFPower(channel, output, power) {
|
|
188
160
|
let address = 0;
|
|
@@ -200,11 +172,10 @@ class ColorDistanceSensor extends device_1.Device {
|
|
|
200
172
|
* Start Power Functions motors running via IR
|
|
201
173
|
*
|
|
202
174
|
* NOTE: This command is designed for bang-bang style operation. To keep the motors running, the sensor needs to be within range of the IR receiver constantly.
|
|
203
|
-
* @
|
|
204
|
-
* @param {
|
|
205
|
-
* @param {
|
|
206
|
-
* @
|
|
207
|
-
* @returns {Promise} Resolved upon successful issuance of the command.
|
|
175
|
+
* @param {number} channel Channel number, between 1-4
|
|
176
|
+
* @param {number} powerBlue -7 (full reverse) to 7 (full forward). 0 is stop. 8 is brake.
|
|
177
|
+
* @param {number} powerRed -7 (full reverse) to 7 (full forward). 0 is stop. 8 is brake.
|
|
178
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of the command.
|
|
208
179
|
*/
|
|
209
180
|
startPFMotors(channel, powerBlue, powerRed) {
|
|
210
181
|
let address = 0;
|
|
@@ -220,9 +191,8 @@ class ColorDistanceSensor extends device_1.Device {
|
|
|
220
191
|
}
|
|
221
192
|
/**
|
|
222
193
|
* Send a raw Power Functions IR command
|
|
223
|
-
* @method ColorDistanceSensor#sendPFIRMessage
|
|
224
194
|
* @param {Buffer} message 2 byte payload making up a Power Functions protocol command. NOTE: Only specify nibbles 1-3, nibble 4 should be zeroed.
|
|
225
|
-
* @returns {Promise} Resolved upon
|
|
195
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of the command.
|
|
226
196
|
*/
|
|
227
197
|
sendPFIRMessage(message) {
|
|
228
198
|
if (this.isWeDo2SmartHub) {
|
|
@@ -238,51 +208,42 @@ class ColorDistanceSensor extends device_1.Device {
|
|
|
238
208
|
}
|
|
239
209
|
/**
|
|
240
210
|
* Set the color of the LED on the sensor via a color value.
|
|
241
|
-
* @method ColorDistanceSensor#setColor
|
|
242
211
|
* @param {Color} color
|
|
243
|
-
* @returns {Promise} Resolved upon
|
|
212
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of the command.
|
|
244
213
|
*/
|
|
245
214
|
setColor(color) {
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
}
|
|
257
|
-
return resolve();
|
|
258
|
-
});
|
|
215
|
+
if (color === false) {
|
|
216
|
+
color = 0;
|
|
217
|
+
}
|
|
218
|
+
if (this.isWeDo2SmartHub) {
|
|
219
|
+
throw new Error("Setting LED color is not available on the WeDo 2.0 Smart Hub");
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
this.subscribe(Mode.LED);
|
|
223
|
+
return this.writeDirect(0x05, Buffer.from([color]));
|
|
224
|
+
}
|
|
259
225
|
}
|
|
260
226
|
/**
|
|
261
227
|
* Set the distance count value.
|
|
262
|
-
* @
|
|
263
|
-
* @
|
|
264
|
-
* @returns {Promise} Resolved upon successful issuance of the command.
|
|
228
|
+
* @param {number} count distance count between 0 and 2^32
|
|
229
|
+
* @returns {Promise<CommandFeedback>} Resolved upon completion of the command.
|
|
265
230
|
*/
|
|
266
231
|
setDistanceCount(count) {
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
}
|
|
277
|
-
return resolve();
|
|
278
|
-
});
|
|
232
|
+
if (this.isWeDo2SmartHub) {
|
|
233
|
+
throw new Error("Setting distance count is not available on the WeDo 2.0 Smart Hub");
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
const payload = Buffer.alloc(4);
|
|
237
|
+
payload.writeUInt32LE(count % 2 ** 32);
|
|
238
|
+
// no need to subscribe, can be set in different mode
|
|
239
|
+
return this.writeDirect(0x02, payload);
|
|
240
|
+
}
|
|
279
241
|
}
|
|
280
242
|
_pfPowerToPWM(power) {
|
|
281
243
|
return power & 15;
|
|
282
244
|
}
|
|
283
245
|
}
|
|
284
|
-
|
|
285
|
-
var Mode;
|
|
246
|
+
export var Mode;
|
|
286
247
|
(function (Mode) {
|
|
287
248
|
Mode[Mode["COLOR"] = 0] = "COLOR";
|
|
288
249
|
Mode[Mode["DISTANCE"] = 1] = "DISTANCE";
|
|
@@ -293,8 +254,8 @@ var Mode;
|
|
|
293
254
|
Mode[Mode["RGB_I"] = 6] = "RGB_I";
|
|
294
255
|
Mode[Mode["PF_IR"] = 7] = "PF_IR";
|
|
295
256
|
Mode[Mode["COLOR_AND_DISTANCE"] = 8] = "COLOR_AND_DISTANCE";
|
|
296
|
-
})(Mode || (
|
|
297
|
-
|
|
257
|
+
})(Mode || (Mode = {}));
|
|
258
|
+
export const ModeMap = {
|
|
298
259
|
"color": Mode.COLOR,
|
|
299
260
|
"distance": Mode.DISTANCE,
|
|
300
261
|
"distanceCount": Mode.DISTANCE_COUNT,
|
|
@@ -303,9 +264,9 @@ exports.ModeMap = {
|
|
|
303
264
|
"rgbIntensity": Mode.RGB_I,
|
|
304
265
|
"colorAndDistance": Mode.COLOR_AND_DISTANCE
|
|
305
266
|
};
|
|
306
|
-
var Output;
|
|
267
|
+
export var Output;
|
|
307
268
|
(function (Output) {
|
|
308
269
|
Output["RED"] = "RED";
|
|
309
270
|
Output["BLUE"] = "BLUE";
|
|
310
|
-
})(Output || (
|
|
271
|
+
})(Output || (Output = {}));
|
|
311
272
|
//# sourceMappingURL=colordistancesensor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colordistancesensor.js","sourceRoot":"","sources":["../../src/devices/colordistancesensor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import { IDeviceInterface } from "../interfaces";
|
|
1
|
+
import { Device } from "./device.js";
|
|
2
|
+
import { IDeviceInterface } from "../interfaces.js";
|
|
4
3
|
/**
|
|
5
4
|
* @class CurrentSensor
|
|
6
5
|
* @extends Device
|
|
@@ -15,3 +14,4 @@ export declare enum Mode {
|
|
|
15
14
|
export declare const ModeMap: {
|
|
16
15
|
[event: string]: number;
|
|
17
16
|
};
|
|
17
|
+
//# sourceMappingURL=currentsensor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currentsensor.d.ts","sourceRoot":"","sources":["../../src/devices/currentsensor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpD;;;GAGG;AACH,qBAAa,aAAc,SAAQ,MAAM;gBAExB,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM;IAI3C,OAAO,CAAE,OAAO,EAAE,MAAM;CA8BlC;AAED,oBAAY,IAAI;IACZ,OAAO,IAAO;CACjB;AAED,eAAO,MAAM,OAAO,EAAE;IAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAE7C,CAAC"}
|
|
@@ -1,38 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.ModeMap = exports.Mode = exports.CurrentSensor = void 0;
|
|
27
|
-
const device_1 = require("./device");
|
|
28
|
-
const Consts = __importStar(require("../consts"));
|
|
1
|
+
import { Device } from "./device.js";
|
|
2
|
+
import * as Consts from "../consts.js";
|
|
29
3
|
/**
|
|
30
4
|
* @class CurrentSensor
|
|
31
5
|
* @extends Device
|
|
32
6
|
*/
|
|
33
|
-
class CurrentSensor extends
|
|
7
|
+
export class CurrentSensor extends Device {
|
|
34
8
|
constructor(hub, portId) {
|
|
35
|
-
super(hub, portId,
|
|
9
|
+
super(hub, portId, ModeMap, Consts.DeviceType.CURRENT_SENSOR);
|
|
36
10
|
}
|
|
37
11
|
receive(message) {
|
|
38
12
|
const mode = this.mode;
|
|
@@ -64,12 +38,11 @@ class CurrentSensor extends device_1.Device {
|
|
|
64
38
|
}
|
|
65
39
|
}
|
|
66
40
|
}
|
|
67
|
-
|
|
68
|
-
var Mode;
|
|
41
|
+
export var Mode;
|
|
69
42
|
(function (Mode) {
|
|
70
43
|
Mode[Mode["CURRENT"] = 0] = "CURRENT";
|
|
71
|
-
})(Mode || (
|
|
72
|
-
|
|
44
|
+
})(Mode || (Mode = {}));
|
|
45
|
+
export const ModeMap = {
|
|
73
46
|
"current": Mode.CURRENT
|
|
74
47
|
};
|
|
75
48
|
const MaxCurrentValue = {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currentsensor.js","sourceRoot":"","sources":["../../src/devices/currentsensor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,MAAM;IAErC,YAAa,GAAqB,EAAE,MAAc;QAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAClE,CAAC;IAEM,OAAO,CAAE,OAAe;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,IAAI,CAAC,OAAO;gBACb,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,MAAM,OAAO,GAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;oBAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACJ,IAAI,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACrD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;wBAChC,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC9D,CAAC;oBACD,IAAI,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;wBAC9B,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC1D,CAAC;oBACD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,eAAe,GAAG,aAAa,CAAC;oBAC1E;;;;;uBAKG;oBACH,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBACxC,CAAC;gBACD,MAAM;QACd,CAAC;IACL,CAAC;CAEJ;AAED,MAAM,CAAN,IAAY,IAEX;AAFD,WAAY,IAAI;IACZ,qCAAc,CAAA;AAClB,CAAC,EAFW,IAAI,KAAJ,IAAI,QAEf;AAED,MAAM,CAAC,MAAM,OAAO,GAA8B;IAC9C,SAAS,EAAE,IAAI,CAAC,OAAO;CAC1B,CAAC;AAEF,MAAM,eAAe,GAAgC;IACjD,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI;IAC9B,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,IAAI;CAC5C,CAAC;AAEF,MAAM,aAAa,GAAgC;IAC/C,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI;CACjC,CAAC"}
|