sensorium
Version:
makeblock mainboards protocol api
329 lines (290 loc) • 39.9 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>Source: electronic/smart_servo.js | Sensorium API</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
<link type="text/css" rel="stylesheet" href="styles/prettify-jsdoc.css">
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/tui-doc.css">
<link type="text/css" rel="stylesheet" href="../statics/topbar.css">
<style type="text/css">
body{font-size: 16px;}
.lnb h3{color: #91cada;}
.main section article dl h4 {
font-size: 16px;
}
.main section article h3.subsection-title {
padding:35px 0 3px 5px;
}
.main section article dl h4 .signature {
font-size: 16px;
}
.main section article dl h4 .type-signature {
font-size: 16px;
}
.main section article dl dd h5{
font-size: 14px;
}
.dt{margin: 10px 0 20px;}
</style>
</head>
<body>
<header class="topbar">
<ul class="topnav pull-right clearfix">
<li><a href="../">Get Started</a></li>
<li><a href="../code/">Code</a></li>
<li><a href="./">API</a></li>
<li><a href="../changelog.html">ChangeLog</a></li>
</ul>
</header>
<nav class="lnb" id="lnb">
<!-- <div class="logo" style="width: 154px; height: 24px">
<a href="http://makeblock.com/" rel="noopener noreferrer" target="_blank">
<img src="../statics/makeblocklogo.png" width="100%" height="100%">
</a>
</div> 取消logo -->
<div class="title">
<h2><a href="index.html" class="link">Sensorium API</a></h2>
<span class="version">v0.3.7</span>
</div>
<div class="search-container" id="search-container">
<input type="text" placeholder="Search">
<ul></ul>
</div>
<div class="lnb-api hidden"><h3>Classes</h3><ul><li><a href="AnalogGPIO.html">AnalogGPIO</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="AnalogGPIO_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="AnalogGPIO.html#.SUPPORT">SUPPORT</a></li><li><a href="AnalogGPIO.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="AnalogGPIO.html#getData">getData</a></li></ul></div></li><li><a href="BaseEncoderMotor.html">BaseEncoderMotor</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="BaseEncoderMotor_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="BaseEncoderMotor.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="BaseEncoderMotor.html#offsetAngle">offsetAngle</a></li><li><a href="BaseEncoderMotor.html#run">run</a></li><li><a href="BaseEncoderMotor.html#setReverse">setReverse</a></li><li><a href="BaseEncoderMotor.html#setStop">setStop</a></li><li><a href="BaseEncoderMotor.html#speed">speed</a></li></ul></div></li><li><a href="BaseGyro.html">BaseGyro</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="BaseGyro_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="BaseGyro.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="BaseGyro.html#axis">axis</a></li><li><a href="BaseGyro.html#getData">getData</a></li></ul></div></li><li><a href="BaseLedMatrix.html">BaseLedMatrix</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="BaseLedMatrix_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="BaseLedMatrix.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="BaseLedMatrix.html#clear">clear</a></li><li><a href="BaseLedMatrix.html#run">run</a></li></ul></div></li><li><a href="BaseLight.html">BaseLight</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="BaseLight_sub"><div class="member-type">Methods</div><ul class="inner"><li><a href="BaseLight.html#getData">getData</a></li></ul></div></li><li><a href="BaseMotor.html">BaseMotor</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="BaseMotor_sub"><div class="member-type">Methods</div><ul class="inner"><li><a href="BaseMotor.html#run">run</a></li><li><a href="BaseMotor.html#setStop">setStop</a></li><li><a href="BaseMotor.html#speed">speed</a></li></ul></div></li><li><a href="BaseRgbLed.html">BaseRgbLed</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="BaseRgbLed_sub"><div class="member-type">Methods</div><ul class="inner"><li><a href="BaseRgbLed.html#b">b</a></li><li><a href="BaseRgbLed.html#blue">blue</a></li><li><a href="BaseRgbLed.html#g">g</a></li><li><a href="BaseRgbLed.html#green">green</a></li><li><a href="BaseRgbLed.html#position">position</a></li><li><a href="BaseRgbLed.html#r">r</a></li><li><a href="BaseRgbLed.html#red">red</a></li><li><a href="BaseRgbLed.html#rgb">rgb</a></li><li><a href="BaseRgbLed.html#run">run</a></li><li><a href="BaseRgbLed.html#turnOff">turnOff</a></li><li><a href="BaseRgbLed.html#turnOffAll">turnOffAll</a></li><li><a href="BaseRgbLed.html#turnOn">turnOn</a></li><li><a href="BaseRgbLed.html#turnOnAll">turnOnAll</a></li><li><a href="BaseRgbLed.html#white">white</a></li></ul></div></li><li><a href="BaseSound.html">BaseSound</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="BaseSound_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="BaseSound.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="BaseSound.html#getData">getData</a></li></ul></div></li><li><a href="Buzzer.html">Buzzer</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Buzzer_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Buzzer.html#.SUPPORT">SUPPORT</a></li><li><a href="Buzzer.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Buzzer.html#beat">beat</a></li><li><a href="Buzzer.html#hz">hz</a></li><li><a href="Buzzer.html#run">run</a></li><li><a href="Buzzer.html#tone">tone</a></li></ul></div></li><li><a href="Compass.html">Compass</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Compass_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Compass.html#.SUPPORT">SUPPORT</a></li><li><a href="Compass.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Compass.html#getData">getData</a></li></ul></div></li><li><a href="DcMotor.html">DcMotor</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="DcMotor_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="DcMotor.html#.SUPPORT">SUPPORT</a></li><li><a href="DcMotor.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="DcMotor.html#run">run</a></li><li><a href="DcMotor.html#setReverse">setReverse</a></li><li><a href="DcMotor.html#setStop">setStop</a></li><li><a href="DcMotor.html#speed">speed</a></li></ul></div></li><li><a href="DigGPIO.html">DigGPIO</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="DigGPIO_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="DigGPIO.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="DigGPIO.html#getData">getData</a></li></ul></div></li><li><a href="DoubleGPIO.html">DoubleGPIO</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="DoubleGPIO_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="DoubleGPIO.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="DoubleGPIO.html#getData">getData</a></li></ul></div></li><li><a href="EncoderMotor.html">EncoderMotor</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="EncoderMotor_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="EncoderMotor.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="EncoderMotor.html#offsetAngle">offsetAngle</a></li><li><a href="EncoderMotor.html#run">run</a></li><li><a href="EncoderMotor.html#setReverse">setReverse</a></li><li><a href="EncoderMotor.html#setStop">setStop</a></li><li><a href="EncoderMotor.html#speed">speed</a></li></ul></div></li><li><a href="EncoderMotorOnBoard.html">EncoderMotorOnBoard</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="EncoderMotorOnBoard_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="EncoderMotorOnBoard.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="EncoderMotorOnBoard.html#offsetAngle">offsetAngle</a></li><li><a href="EncoderMotorOnBoard.html#readAngle">readAngle</a></li><li><a href="EncoderMotorOnBoard.html#readSpeed">readSpeed</a></li><li><a href="EncoderMotorOnBoard.html#run">run</a></li><li><a href="EncoderMotorOnBoard.html#setReverse">setReverse</a></li><li><a href="EncoderMotorOnBoard.html#setStop">setStop</a></li><li><a href="EncoderMotorOnBoard.html#speed">speed</a></li></ul></div></li><li><a href="EncoderMotorOnBoardPID.html">EncoderMotorOnBoardPID</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="EncoderMotorOnBoardPID_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="EncoderMotorOnBoardPID.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="EncoderMotorOnBoardPID.html#setZeroPoint">setZeroPoint</a></li></ul></div></li><li><a href="Flame.html">Flame</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Flame_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Flame.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Flame.html#getData">getData</a></li></ul></div></li><li><a href="FourKeys.html">FourKeys</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="FourKeys_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="FourKeys.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="FourKeys.html#getData">getData</a></li><li><a href="FourKeys.html#key">key</a></li></ul></div></li><li><a href="FourLeds.html">FourLeds</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="FourLeds_sub"><div class="member-type">Methods</div><ul class="inner"><li><a href="FourLeds.html#b">b</a></li><li><a href="FourLeds.html#blue">blue</a></li><li><a href="FourLeds.html#g">g</a></li><li><a href="FourLeds.html#green">green</a></li><li><a href="FourLeds.html#position">position</a></li><li><a href="FourLeds.html#r">r</a></li><li><a href="FourLeds.html#red">red</a></li><li><a href="FourLeds.html#rgb">rgb</a></li><li><a href="FourLeds.html#run">run</a></li><li><a href="FourLeds.html#turnOff">turnOff</a></li><li><a href="FourLeds.html#turnOffAll">turnOffAll</a></li><li><a href="FourLeds.html#turnOn">turnOn</a></li><li><a href="FourLeds.html#turnOnAll">turnOnAll</a></li><li><a href="FourLeds.html#white">white</a></li></ul></div></li><li><a href="Gas.html">Gas</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Gas_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Gas.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Gas.html#getData">getData</a></li></ul></div></li><li><a href="GPIOContinue.html">GPIOContinue</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="GPIOContinue_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="GPIOContinue.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="GPIOContinue.html#getData">getData</a></li></ul></div></li><li><a href="Gyro.html">Gyro</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Gyro_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Gyro.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Gyro.html#axis">axis</a></li><li><a href="Gyro.html#getData">getData</a></li></ul></div></li><li><a href="GyroOnBoard.html">GyroOnBoard</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="GyroOnBoard_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="GyroOnBoard.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="GyroOnBoard.html#axis">axis</a></li><li><a href="GyroOnBoard.html#getData">getData</a></li></ul></div></li><li><a href="Humiture.html">Humiture</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Humiture_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Humiture.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Humiture.html#getData">getData</a></li><li><a href="Humiture.html#readHumidity">readHumidity</a></li><li><a href="Humiture.html#readTemperature">readTemperature</a></li></ul></div></li><li><a href="Infrared.html">Infrared</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Infrared_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Infrared.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Infrared.html#getData">getData</a></li></ul></div></li><li><a href="InfraredOnBoard.html">InfraredOnBoard</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="InfraredOnBoard_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="InfraredOnBoard.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="InfraredOnBoard.html#getData">getData</a></li></ul></div></li><li><a href="Joystick.html">Joystick</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Joystick_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Joystick.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Joystick.html#getData">getData</a></li></ul></div></li><li><a href="LedMatrix.html">LedMatrix</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="LedMatrix_sub"></div></li><li><a href="LedMatrixChar.html">LedMatrixChar</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="LedMatrixChar_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="LedMatrixChar.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="LedMatrixChar.html#char">char</a></li><li><a href="LedMatrixChar.html#clear">clear</a></li><li><a href="LedMatrixChar.html#content">content</a></li><li><a href="LedMatrixChar.html#run">run</a></li><li><a href="LedMatrixChar.html#x">x</a></li><li><a href="LedMatrixChar.html#y">y</a></li></ul></div></li><li><a href="LedMatrixEmotion.html">LedMatrixEmotion</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="LedMatrixEmotion_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="LedMatrixEmotion.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="LedMatrixEmotion.html#clear">clear</a></li><li><a href="LedMatrixEmotion.html#content">content</a></li><li><a href="LedMatrixEmotion.html#emotion">emotion</a></li><li><a href="LedMatrixEmotion.html#run">run</a></li><li><a href="LedMatrixEmotion.html#x">x</a></li><li><a href="LedMatrixEmotion.html#y">y</a></li></ul></div></li><li><a href="LedMatrixNumber.html">LedMatrixNumber</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="LedMatrixNumber_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="LedMatrixNumber.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="LedMatrixNumber.html#clear">clear</a></li><li><a href="LedMatrixNumber.html#content">content</a></li><li><a href="LedMatrixNumber.html#number">number</a></li><li><a href="LedMatrixNumber.html#run">run</a></li></ul></div></li><li><a href="LedMatrixTime.html">LedMatrixTime</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="LedMatrixTime_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="LedMatrixTime.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="LedMatrixTime.html#clear">clear</a></li><li><a href="LedMatrixTime.html#content">content</a></li><li><a href="LedMatrixTime.html#hour">hour</a></li><li><a href="LedMatrixTime.html#minute">minute</a></li><li><a href="LedMatrixTime.html#run">run</a></li><li><a href="LedMatrixTime.html#separator">separator</a></li></ul></div></li><li><a href="Light.html">Light</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Light_sub"><div class="member-type">Methods</div><ul class="inner"><li><a href="Light.html#getData">getData</a></li></ul></div></li><li><a href="LightOnBoard.html">LightOnBoard</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="LightOnBoard_sub"><div class="member-type">Methods</div><ul class="inner"><li><a href="LightOnBoard.html#getData">getData</a></li></ul></div></li><li><a href="LimitSwitch.html">LimitSwitch</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="LimitSwitch_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="LimitSwitch.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="LimitSwitch.html#getData">getData</a></li></ul></div></li><li><a href="LineFollower.html">LineFollower</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="LineFollower_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="LineFollower.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="LineFollower.html#getData">getData</a></li></ul></div></li><li><a href="Pirmotion.html">Pirmotion</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Pirmotion_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Pirmotion.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Pirmotion.html#getData">getData</a></li></ul></div></li><li><a href="Potentionmeter.html">Potentionmeter</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Potentionmeter_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Potentionmeter.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Potentionmeter.html#getData">getData</a></li></ul></div></li><li><a href="Reset.html">Reset</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Reset_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Reset.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Reset.html#reset">reset</a></li></ul></div></li><li><a href="RgbLed.html">RgbLed</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="RgbLed_sub"><div class="member-type">Methods</div><ul class="inner"><li><a href="RgbLed.html#b">b</a></li><li><a href="RgbLed.html#blue">blue</a></li><li><a href="RgbLed.html#g">g</a></li><li><a href="RgbLed.html#green">green</a></li><li><a href="RgbLed.html#position">position</a></li><li><a href="RgbLed.html#r">r</a></li><li><a href="RgbLed.html#red">red</a></li><li><a href="RgbLed.html#rgb">rgb</a></li><li><a href="RgbLed.html#run">run</a></li><li><a href="RgbLed.html#turnOff">turnOff</a></li><li><a href="RgbLed.html#turnOffAll">turnOffAll</a></li><li><a href="RgbLed.html#turnOn">turnOn</a></li><li><a href="RgbLed.html#turnOnAll">turnOnAll</a></li><li><a href="RgbLed.html#white">white</a></li></ul></div></li><li><a href="RgbLedOnBoard.html">RgbLedOnBoard</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="RgbLedOnBoard_sub"><div class="member-type">Methods</div><ul class="inner"><li><a href="RgbLedOnBoard.html#b">b</a></li><li><a href="RgbLedOnBoard.html#blue">blue</a></li><li><a href="RgbLedOnBoard.html#g">g</a></li><li><a href="RgbLedOnBoard.html#green">green</a></li><li><a href="RgbLedOnBoard.html#position">position</a></li><li><a href="RgbLedOnBoard.html#r">r</a></li><li><a href="RgbLedOnBoard.html#red">red</a></li><li><a href="RgbLedOnBoard.html#rgb">rgb</a></li><li><a href="RgbLedOnBoard.html#run">run</a></li><li><a href="RgbLedOnBoard.html#turnOff">turnOff</a></li><li><a href="RgbLedOnBoard.html#turnOffAll">turnOffAll</a></li><li><a href="RgbLedOnBoard.html#turnOn">turnOn</a></li><li><a href="RgbLedOnBoard.html#turnOnAll">turnOnAll</a></li><li><a href="RgbLedOnBoard.html#white">white</a></li></ul></div></li><li><a href="Runtime.html">Runtime</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Runtime_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Runtime.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Runtime.html#getData">getData</a></li></ul></div></li><li><a href="ServoMotor.html">ServoMotor</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="ServoMotor_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="ServoMotor.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="ServoMotor.html#angle">angle</a></li><li><a href="ServoMotor.html#run">run</a></li><li><a href="ServoMotor.html#setToEnd">setToEnd</a></li><li><a href="ServoMotor.html#setToStart">setToStart</a></li></ul></div></li><li><a href="SevenSegment.html">SevenSegment</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="SevenSegment_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="SevenSegment.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="SevenSegment.html#number">number</a></li><li><a href="SevenSegment.html#run">run</a></li></ul></div></li><li><a href="Shutter.html">Shutter</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Shutter_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Shutter.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Shutter.html#action">action</a></li><li><a href="Shutter.html#run">run</a></li></ul></div></li><li><a href="SmartServo.html">SmartServo</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="SmartServo_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="SmartServo.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="SmartServo.html#absoluteAngle">absoluteAngle</a></li><li><a href="SmartServo.html#backToStart">backToStart</a></li><li><a href="SmartServo.html#getData">getData</a></li><li><a href="SmartServo.html#handshake">handshake</a></li><li><a href="SmartServo.html#ledColor">ledColor</a></li><li><a href="SmartServo.html#lock">lock</a></li><li><a href="SmartServo.html#readAngle">readAngle</a></li><li><a href="SmartServo.html#readCurrent">readCurrent</a></li><li><a href="SmartServo.html#readSpeed">readSpeed</a></li><li><a href="SmartServo.html#readTemperature">readTemperature</a></li><li><a href="SmartServo.html#readVoltage">readVoltage</a></li><li><a href="SmartServo.html#relativeAngle">relativeAngle</a></li><li><a href="SmartServo.html#run">run</a></li><li><a href="SmartServo.html#setAsDCMotorSpeed">setAsDCMotorSpeed</a></li><li><a href="SmartServo.html#setZeroPoint">setZeroPoint</a></li><li><a href="SmartServo.html#speed">speed</a></li><li><a href="SmartServo.html#unclock">unclock</a></li></ul></div></li><li><a href="Sound.html">Sound</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Sound_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Sound.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Sound.html#getData">getData</a></li></ul></div></li><li><a href="SoundOnBoard.html">SoundOnBoard</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="SoundOnBoard_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="SoundOnBoard.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="SoundOnBoard.html#getData">getData</a></li></ul></div></li><li><a href="StepperMotor.html">StepperMotor</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="StepperMotor_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="StepperMotor.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="StepperMotor.html#direction">direction</a></li><li><a href="StepperMotor.html#distance">distance</a></li><li><a href="StepperMotor.html#reverse">reverse</a></li><li><a href="StepperMotor.html#run">run</a></li><li><a href="StepperMotor.html#setStop">setStop</a></li><li><a href="StepperMotor.html#speed">speed</a></li></ul></div></li><li><a href="Temperature.html">Temperature</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Temperature_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Temperature.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Temperature.html#getData">getData</a></li></ul></div></li><li><a href="TemperatureOnBoard.html">TemperatureOnBoard</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="TemperatureOnBoard_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="TemperatureOnBoard.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="TemperatureOnBoard.html#getData">getData</a></li></ul></div></li><li><a href="Touch.html">Touch</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Touch_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Touch.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Touch.html#getData">getData</a></li></ul></div></li><li><a href="Transport.html">Transport</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Transport_sub"></div></li><li><a href="Ultrasonic.html">Ultrasonic</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Ultrasonic_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Ultrasonic.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Ultrasonic.html#getData">getData</a></li></ul></div></li><li><a href="VirtualJoystick.html">VirtualJoystick</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="VirtualJoystick_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="VirtualJoystick.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="VirtualJoystick.html#leftSpeed">leftSpeed</a></li><li><a href="VirtualJoystick.html#rightSpeed">rightSpeed</a></li><li><a href="VirtualJoystick.html#run">run</a></li><li><a href="VirtualJoystick.html#setStop">setStop</a></li><li><a href="VirtualJoystick.html#speed">speed</a></li></ul></div></li><li><a href="VirtualJoystickForBalance.html">VirtualJoystickForBalance</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="VirtualJoystickForBalance_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="VirtualJoystickForBalance.html#protocol">protocol</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="VirtualJoystickForBalance.html#run">run</a></li><li><a href="VirtualJoystickForBalance.html#setReverse">setReverse</a></li><li><a href="VirtualJoystickForBalance.html#setStop">setStop</a></li><li><a href="VirtualJoystickForBalance.html#speed">speed</a></li><li><a href="VirtualJoystickForBalance.html#turnRange">turnRange</a></li></ul></div></li></ul></div><div class="lnb-api hidden"><h3>Namespaces</h3><ul><li><a href="Sensorium.html">Sensorium</a><button type="button" class="hidden toggle-subnav btn btn-link"> <span class="glyphicon glyphicon-plus"></span></button><div class="hidden" id="Sensorium_sub"><div class="member-type">Members</div><ul class="inner"><li><a href="Sensorium.html#SUPPORT">SUPPORT</a></li></ul><div class="member-type">Methods</div><ul class="inner"><li><a href="Sensorium.html#create">create</a></li><li><a href="Sensorium.html#doReceived">doReceived</a></li><li><a href="Sensorium.html#read">read</a></li><li><a href="Sensorium.html#readFirmwareInfo">readFirmwareInfo</a></li><li><a href="Sensorium.html#send">send</a></li><li><a href="Sensorium.html#setSender">setSender</a></li></ul></div></li></ul></div>
</nav>
<div id="resizer"></div>
<div class="main" id="main">
<section>
<article>
<pre class="prettyprint source linenums"><code>import { validateNumber } from '../core/validate';
import {
composer,
fiterWithBinaryStr,
hexToRgb,
limitValue
} from '../core/utils';
import Electronic from './electronic';
import protocolAssembler from '../protocol/cmd';
import Control from '../core/control';
import { SUPPORTLIST } from '../settings';
/**
* SmartServo sensor module
* @extends Electronic
*/
class SmartServo extends Electronic {
constructor(index) {
super();
this.args = {
index: index,
subCmd: null,
speed: 0,
angle: null
}
this.extraCmd = null;
}
/**
* getter of protocol
*/
get protocol() {
if (this.args.subCmd < 4 || this.args.subCmd === 7 || this.args.subCmd === 8) {
let baseCmd = [this.args.index, this.args.subCmd];
if (Array.isArray(this.extraCmd)) {
baseCmd.push(this.extraCmd);
} else {
baseCmd.push(this.extraCmd !== null ? [this.extraCmd] : []);
}
this.extraCmd = null;
return composer(protocolAssembler.setSmartServo, baseCmd);
} else if (this.args.subCmd === 4) {
return composer(protocolAssembler.setSmartServoForAbsoluteAngle, [this.args.index, this.args.subCmd, this.args.angle, this.args.speed]);
} else if (this.args.subCmd === 5) {
return composer(protocolAssembler.setSmartServoForRelativeAngle, [this.args.index, this.args.subCmd, this.args.angle, this.args.speed]);
} else if (this.args.subCmd === 6) {
return composer(protocolAssembler.setSmartServoForDcMotor, [this.args.index, this.args.subCmd, this.args.speed]);
} else {
return composer(protocolAssembler.readSmartServoParam, [this.args.index, this.args.subCmd]);
}
}
/**
* 锁定
* @return {[type]} [description]
*/
lock(){
this.isReadMode = false;
this.extraCmd = 0x00;
this.args.subCmd = 0x01;
return this;
}
/**
* 解锁
* @return {[type]} [description]
*/
unclock(){
this.isReadMode = false;
this.extraCmd = 0x01;
this.args.subCmd = 0x01;
return this;
}
/**
* set led color of the smart servo
* @param {String|Array} hex_rgb #ff0064 or [255, 00, 100]
*/
ledColor(hex_rgb = [255, 0, 0]){
this.extraCmd = Array.isArray(hex_rgb) ? hex_rgb : hexToRgb(hex_rgb);
this.args.subCmd = 0x02;
return this;
}
/**
* handshake
*/
handshake(){
this.args.subCmd = 0x03;
return this;
}
/**
* Set speed for smart servo
* @param {Number} speed the speed
*/
speed(speed){
this.args.speed = validateNumber(speed);
return this;
}
/**
* Move to the absolute angle
* @param {Number} angle the absolute angle
*/
absoluteAngle(angle){
this.args.subCmd = 0x04;
this.args.angle = validateNumber(-angle, 0);
return this;
}
/**
* Move to the relative angle
* @param {Number} angle the relative angle
*/
relativeAngle(angle){
this.args.subCmd = 0x05;
this.args.angle = validateNumber(-angle, 0);
return this;
}
/**
* set speed of smart servo as a DC motor
* @param {Number} speed (optional) speed of the smart servo
*/
setAsDCMotorSpeed(speed){
speed = validateNumber(speed, this.args.speed);
//限制速度 -255~255
this.args.speed = limitValue(-speed);
this.args.subCmd = 0x06;
return this;
}
/**
* 设置零点
*/
setZeroPoint(){
this.args.subCmd = 0x07;
return this;
}
/**
* 回到起点
* @return {[type]} [description]
*/
backToStart(){
this.args.subCmd = 0x08;
return this;
}
/**
* 读速度
*/
readSpeed(){
this.args.subCmd = 0x09;
return this;
}
/**
* 读温度
*/
readTemperature(){
this.args.subCmd = 0x0a;
return this;
}
/**
* 读电流
*/
readCurrent(){
this.args.subCmd = 0x0b;
return this;
}
/**
* 读电压
*/
readVoltage(){
this.args.subCmd = 0x0c;
return this;
}
/**
* 读角度
*/
readAngle(){
this.args.subCmd = 0x0d;
return this;
}
/**
* run of write API such as speed, runAsDcMotor, setZeroPoint and so on
* @example
* mcore.SmartServo(1)
* .speed()
* .run()
* @return {Instance} @this
*/
run () {
Control.write(this.protocol);
return this;
}
/**
* Get data of read API such as readSpeed, readVoltage, readAngle and so on
* @example
* mcore.SmartServo(1)
* .readSpeed()
* .getData()
* .then((val) => {
* console.log(val)
* });
* @return {Promise}
*/
async getData () {
return await Control.read(this.protocol);
}
static get SUPPORT(){
return fiterWithBinaryStr(SUPPORTLIST, '0100');
}
}
export default SmartServo;
</code></pre>
</article>
</section>
</div>
<footer>
<!-- <img class="logo" src="../statics/makeblocklogo.png" style="width: 154px; height: 24px"> 取消logo-->
<div class="footer-text">Makeblock Team</div>
</footer>
<script>prettyPrint();</script>
<script src="scripts/jquery.min.js"></script>
<script src="scripts/tui-doc.js"></script>
<script src="scripts/linenumber.js"></script>
<script>
var id = '_sub'.replace(/"/g, '_');
var selectedApi = document.getElementById(id); // do not use jquery selector
var $selectedApi = $(selectedApi);
$selectedApi.removeClass('hidden');
$selectedApi.parent().find('.glyphicon').removeClass('glyphicon-plus').addClass('glyphicon-minus');
showLnbApi();
</script>
</body>
</html>