var xPWMBasisSinWaveValue = 0.0;\r
var xPWMOutAmp = 3.3/2;\r
var xPWMOutOffset =0.0;\r
-var nPWMMode = 2; //1:SineWave; 2:TriangleWave; 3:SquareWave\r
+var nPWMMode = 1; //1:SineWave; 2:TriangleWave; 3:SquareWave\r
\r
const deviceID = K4.deviceID;\r
\r
-const nAnalogMeasureInterval = 30; //ms\r
+const nAnalogMeasureInterval = 50; //ms\r
const nDataUploadInterval=30000; //ms\r
const nGetCommandInterval=1000; //ms\r
const nDisplayInterval=1000; //ms\r
-const nPWMInterval=20; //ms\r
+const nPWMInterval=40; //ms\r
const xPWMOutMaxVoltage = 3.3; //V\r
const xPWMOffsetVoltage = xPWMOutMaxVoltage/2; //V\r
const nAccumAD1=4;\r
//Pins.repeat("/analogSensor2/read", 3, value => Analog2ValueChanged(value));\r
//Pins.share("ws", {zeroconf: true, name: "analog-temperature"});\r
application.invoke(new Message("/AnalogMeasureTimer"));\r
+ application.invoke(new Message("/PWMTimer"));\r
// Pins.invoke("/pwmSensor/write", 0.5); // you should only pass in one number for an LED\r
}else{\r
\r
application.invoke(new Message("/GetCommandTimer"));\r
application.invoke(new Message("/DisplayTimer"));\r
\r
- application.invoke(new Message("/PWMTimer"));\r
+ \r
//--sub routine -- \r
\r
function TemperatureValueChanged(value){\r
if(nPWMMode ==1 ){\r
//Sinewave\r
voltage = value*xPWMOutAmp + xPWMOutOffset;\r
- log("Founction Voltage:"+voltage);\r
+ // log("Founction Voltage:"+voltage);\r
}\r
+ \r
if(nPWMMode ==3 || nPWMMode == 2){\r
//SquareWave Generate ; duty 50% only\r
let sqvoltage\r
\r
\r
let pwmVoltage = voltage + xPWMOffsetVoltage;\r
- log("PWM Voltage:"+pwmVoltage);\r
+ //log("PWM Voltage:"+pwmVoltage);\r
let xPwmValue = pwmVoltage/3.3;\r
- log("PWM Value:"+xPwmValue);\r
- //Pins.invoke("/pwmSensor/write", xPwmValue); \r
+ //log("PWM Value:"+xPwmValue);\r
+ Pins.invoke("/pwmSensor/write", xPwmValue); \r
}\r
\r
\r
Handler.bind("/PWMTimer", {\r
onInvoke: function(handler, message){\r
xPWMBasisSinWaveValue = Math.sin(nPWMCount/nPeriodPWMCount*Math.PI*2);\r
- log(nPWMCount +" : "+ xPWMBasisSinWaveValue)\r
+// log(nPWMCount +" : "+ xPWMBasisSinWaveValue)\r
nPWMCount = nPWMCount +1;\r
PWMOut(xPWMBasisSinWaveValue);\r
\r
- if (nPWMCount == nPeriodPWMCount) {\r
+ if (nPWMCount >= nPeriodPWMCount) {\r
//Reset Counter\r
nPWMCount = 0;\r
trianglevoltage = 0.0; \r
}\r
- handler.invoke( new Message("/delayPWM?duration=" +nPWMInterval ));\r
- log("TimerPWM\n");\r
+ handler.invoke( new Message("/delayPWM?duration=" +(nPWMInterval-8) ));\r
+ log("TimerPWM " + nPWMCount + "\n");\r
+\r
},\r
onComplete: function(handler, message){\r
+\r
}\r
});\r
\r