Skip to content

Commit

Permalink
Merge pull request #492 from blazini36/patch-1
Browse files Browse the repository at this point in the history
Create Spindle_monitor.comp
  • Loading branch information
SebKuzminsky committed Aug 27, 2018
2 parents 35a9819 + 46e48d0 commit 41d1f24
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions Spindle_monitor.comp
@@ -0,0 +1,47 @@
component spindle_monitor "spindle at-speed and underspeed detection";
pin in bit spindle-is-on;
pin in float spindle-command;
pin in float spindle-feedback;

pin out bit spindle-at-speed;
pin out bit spindle-underspeed;

param rw unsigned level "state machine state";
param rw float threshold;

function _;
license "gpl v2 or higher";

;;

#include <rtapi_math.h>

FUNCTION(_) {

switch (level){
case 0: // idle
spindle_at_speed = 0;
spindle_underspeed = 0;
if (spindle_is_on) level = 1;
break;
case 1: // waiting for spindle-at-speed
if ( ! spindle_is_on ) {
level = 0;
return; }
if (fabs(spindle_command - spindle_feedback) < threshold) {
level = 2;
spindle_at_speed = 1;
return; }
break;
case 2: // monitoring speed
if ( ! spindle_is_on ) {
level = 0;
return; }
if ((spindle_command - spindle_feedback) > threshold) {
spindle_underspeed = 1; }
break;
default:
// not sure how we got here, but fix the situation
level = 0;
}
}

0 comments on commit 41d1f24

Please sign in to comment.