
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
Stepp.cpp@2:835c883d81b0, 2017-12-15 (annotated)
- 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?
User | Revision | Line number | New 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 | } |