Generic Step Motor WebInterface - control a step motor using a Pololu A4983 driver from a webinterface (EXPERIMENTAL PROTOTYPE - just to be used as a proof-of-concept for a IoT talk, will not be updating this code so often)

Dependencies:   EthernetNetIf RPCInterface mbed HTTPServer

Revision:
0:8b3857d4ce02
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/index.html.cpp	Mon Apr 16 09:41:53 2012 +0000
@@ -0,0 +1,112 @@
+/*
+<html>
+<head>
+<script type="text/javascript">
+function sendrequest(request_uri)
+{
+  var xmlhttp;
+  if(window.XMLHttpRequest)
+  {// code for IE7+, Firefox, Chrome, Opera, Safari
+    xmlhttp=new XMLHttpRequest();
+  }
+  else
+  {// code for IE6, IE5
+    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
+  }
+  xmlhttp.onreadystatechange=function()
+  {
+    if (xmlhttp.readyState==4 && xmlhttp.status==200)
+    {
+      <!-- document.getElementById("myDiv").innerHTML=xmlhttp.responseText; -->
+    }
+  }
+  console.log(request_uri);
+  xmlhttp.open("GET",request_uri,true);
+  xmlhttp.send();
+}
+
+function adjustvalues1(){
+  var dataval = document.getElementById("timevalue1").value;
+  
+  document.getElementById("timevalue2").value = dataval*1000;
+  
+  document.getElementById("timevalue3").value = dataval*1000*1000;
+}
+
+function adjustvalues2(){
+  var dataval = document.getElementById("timevalue2").value;
+  
+  document.getElementById("timevalue1").value = dataval/1000;
+  
+  document.getElementById("timevalue3").value = dataval*1000;
+}
+
+function adjustvalues3(){
+  var dataval = document.getElementById("timevalue3").value;
+  
+  document.getElementById("timevalue1").value = dataval/1000/1000;
+  
+  document.getElementById("timevalue2").value = dataval/1000;
+}
+
+function demo(){
+  // set timer to 100ms
+  sendrequest('./rpc/delay/write%20'+(100/1000000));
+
+  // set direction 0
+  sendrequest('./rpc/direction/write%200');
+  
+  // 360 º
+  sendrequest('./rpc/nsteps/run%20'+(1*64*50));
+  
+  // set direction 1
+  sendrequest('./rpc/direction/write%201');
+
+  // set timer to 200ms
+  sendrequest('./rpc/delay/write%20'+(200/1000000));
+
+  // 360 º
+  sendrequest('./rpc/nsteps/run%20'+(1*64*50));
+}
+</script>
+</head>
+<body>
+
+<div id="myDiv"><h2>Step Motor HTTP REST (RPC) interface.</h2></div>
+<button type="button" onclick="sendrequest('./rpc/enable/write%201')">Start Autorun</button>
+<button type="button" onclick="sendrequest('./rpc/enable/write%200')">Stop Autorun</button>
+<!--<button type="button" onclick="sendrequest('./rpc/releasecmd')">Release Motor CMD</button>-->
+<br>
+<button type="button" onclick="sendrequest('./rpc/sleepmode/run%2001')">Sleep</button>
+<button type="button" onclick="sendrequest('./rpc/sleepmode/run%2000')">Wake up</button>
+<br>
+<button type="button" onclick="sendrequest('./rpc/stepmode/run%201')">MicroStep Mode</button>
+<button type="button" onclick="sendrequest('./rpc/stepmode/run%200')">FullStep Mode</button>
+<br>
+<button type="button" onclick="sendrequest('./rpc/direction/write%200')">Normal Direction</button>
+<button type="button" onclick="sendrequest('./rpc/direction/write%201')">Inverse Direction</button>
+<br>
+<input type="text" id="timevalue1" name="timevalue1" onKeyUp="adjustvalues1();" maxlength="10" size="10" value="0.001" />
+<button type="button" onclick="sendrequest('./rpc/delay/write%20'+timevalue.value)">Time value (Seconds)</button>
+<br>
+<input type="text" id="timevalue2" name="timevalue2" onKeyUp="adjustvalues2()" maxlength="10" size="10" value="1" />
+<button type="button" onclick="sendrequest('./rpc/delay/write%20'+(timevalue2.value/1000))">Time value (mili-Seconds)</button>
+<br>
+<input type="text" id="timevalue3" name="timevalue3" onKeyUp="adjustvalues3()" maxlength="10" size="10" value="1000" />
+<button type="button" onclick="sendrequest('./rpc/delay/write%20'+(timevalue3.value/1000000))">Time value (micro-Seconds)</button>
+<br>
+<br>
+<input type="text" id="nmicrosteps" name="nmicrosteps" maxlength="10" size="10" value="1" />
+<button type="button" onclick="sendrequest('./rpc/nsteps/run%20'+nmicrosteps.value)">Manual MicroSteps</button>
+<br>
+<input type="text" id="nsteps" name="nsteps" maxlength="10" size="10" value="1" />
+<button type="button" onclick="sendrequest('./rpc/nsteps/run%20'+(nsteps.value*16))">Manual Steps</button>
+<br>
+<input type="text" id="nsteps360" name="nsteps360" maxlength="10" size="10" value="1" />
+<button type="button" onclick="sendrequest('./rpc/nsteps/run%20'+(nsteps360.value*16*200))">Manual Step 360º</button>
+<br>
+<br>
+<!-- <button type="button" onclick="demo()">Demo</button> -->
+</body>
+</html>
+*/
\ No newline at end of file