This is a remote control tester, it uses a CNC, Ethernet Communication with a JAVAFX interface and a PLC in order to control some valves.

Dependencies:   EthernetInterface mbed-rtos mbed

Fork of CNC_CONTROLLER by Lahis Almeida

Committer:
kevencastro7
Date:
Fri Dec 15 19:40:41 2017 +0000
Revision:
2:835c883d81b0
Parent:
1:ef18c260ce02
This is a remote control tester, it uses a CNC, Ethernet Communication with  a JAVAFX interface and a PLC in order to control some valves.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
waspSalander 0:7cedfb720712 1 #include "Stepp.h"
waspSalander 0:7cedfb720712 2
waspSalander 0:7cedfb720712 3 Stepp::Stepp(PinName clk, PinName dir, PinName en) : _clk(clk), _dir(dir), _en(en) {
waspSalander 0:7cedfb720712 4 _clk = 0, _dir = 0, _en = 0;
waspSalander 0:7cedfb720712 5
waspSalander 0:7cedfb720712 6 debug = new Debug();
waspSalander 0:7cedfb720712 7 this->speed = 50;
waspSalander 0:7cedfb720712 8 this->acell = true;
waspSalander 0:7cedfb720712 9 //PinName pinOrigin;
waspSalander 0:7cedfb720712 10 }
waspSalander 0:7cedfb720712 11
waspSalander 0:7cedfb720712 12 int Stepp::step(int n_steps, bool direction) {
waspSalander 0:7cedfb720712 13
waspSalander 0:7cedfb720712 14 int accelspeed;
waspSalander 0:7cedfb720712 15 if(this->acell) accelspeed = START_STOP_SPEED;
waspSalander 0:7cedfb720712 16 else accelspeed = this->speed;
waspSalander 0:7cedfb720712 17
waspSalander 0:7cedfb720712 18 _en = 0; // habilita move
waspSalander 0:7cedfb720712 19 _dir = direction;
waspSalander 0:7cedfb720712 20
waspSalander 0:7cedfb720712 21 for(int i=0; (i< n_steps && EixoMonitoring::stopAll == false); i++){
waspSalander 0:7cedfb720712 22
waspSalander 0:7cedfb720712 23 if(this->acell){//linear acceleration
waspSalander 0:7cedfb720712 24 if(i < START_STOP_SPEED) if (--accelspeed == this->speed) accelspeed ++;
waspSalander 0:7cedfb720712 25 if(i > (n_steps-START_STOP_SPEED)) if(++accelspeed == START_STOP_SPEED) accelspeed--;
waspSalander 0:7cedfb720712 26 }
waspSalander 0:7cedfb720712 27
waspSalander 0:7cedfb720712 28 _clk = 1;
waspSalander 0:7cedfb720712 29 wait_us(1);
waspSalander 0:7cedfb720712 30 _clk = 0;
waspSalander 0:7cedfb720712 31 wait_us(1);
waspSalander 0:7cedfb720712 32 wait_us(accelspeed);
waspSalander 0:7cedfb720712 33 }
waspSalander 0:7cedfb720712 34 _en = 1;
waspSalander 0:7cedfb720712 35
waspSalander 0:7cedfb720712 36 return 1;
waspSalander 0:7cedfb720712 37 }
waspSalander 0:7cedfb720712 38
kevencastro7 2:835c883d81b0 39 bool Stepp::findLimits(int n_steps, bool direction, PCF8574* sensor,int port) {
waspSalander 0:7cedfb720712 40
waspSalander 0:7cedfb720712 41 int accelspeed = 0;
waspSalander 0:7cedfb720712 42 if(this->acell) accelspeed = START_STOP_SPEED;
waspSalander 0:7cedfb720712 43 else accelspeed = this->speed;
waspSalander 0:7cedfb720712 44
waspSalander 0:7cedfb720712 45 int i = 0;
waspSalander 0:7cedfb720712 46 _en = 0; // habilita move
waspSalander 0:7cedfb720712 47 _dir = direction;
waspSalander 0:7cedfb720712 48
kevencastro7 2:835c883d81b0 49 while(sensor->read(port) == 0 && EixoMonitoring::stopAll == false){ // n chegou na origem
waspSalander 1:ef18c260ce02 50
waspSalander 1:ef18c260ce02 51 if(this->acell){ //linear acceleration
waspSalander 1:ef18c260ce02 52 if(i < START_STOP_SPEED) if (--accelspeed == this->speed) accelspeed ++;
waspSalander 1:ef18c260ce02 53 if(i > (n_steps-START_STOP_SPEED)) if(++accelspeed == START_STOP_SPEED) accelspeed--;
waspSalander 1:ef18c260ce02 54 }
waspSalander 1:ef18c260ce02 55
waspSalander 1:ef18c260ce02 56 _clk = 1;
waspSalander 1:ef18c260ce02 57 wait_us(1);
waspSalander 1:ef18c260ce02 58 _clk = 0;
waspSalander 1:ef18c260ce02 59 wait_us(1);
waspSalander 1:ef18c260ce02 60 wait_us(accelspeed);
waspSalander 1:ef18c260ce02 61
waspSalander 1:ef18c260ce02 62 i++;
waspSalander 0:7cedfb720712 63 }
waspSalander 0:7cedfb720712 64 _en = 1;
waspSalander 0:7cedfb720712 65
waspSalander 0:7cedfb720712 66
kevencastro7 2:835c883d81b0 67 if(sensor->read(port) == 0){
waspSalander 1:ef18c260ce02 68 return 0;
waspSalander 1:ef18c260ce02 69 }
waspSalander 1:ef18c260ce02 70 else{
waspSalander 1:ef18c260ce02 71 return 1;
waspSalander 1:ef18c260ce02 72 }
waspSalander 0:7cedfb720712 73 }
waspSalander 0:7cedfb720712 74
waspSalander 0:7cedfb720712 75
waspSalander 0:7cedfb720712 76 float Stepp::version(void) { // version() returns the version number of the library
waspSalander 0:7cedfb720712 77 return VERSION;
waspSalander 0:7cedfb720712 78 }