WIP
This commit is contained in:
@@ -151,8 +151,7 @@ ecmcGrbl::ecmcGrbl(char* configStr,
|
||||
delay_ms(100);
|
||||
printf(".");
|
||||
}
|
||||
delay_ms(100);
|
||||
testGrbl();
|
||||
delay_ms(100);
|
||||
}
|
||||
|
||||
ecmcGrbl::~ecmcGrbl() {
|
||||
@@ -235,20 +234,19 @@ void ecmcGrbl::doWriteWorker() {
|
||||
printf("%s:%s:%d\n",__FILE__,__FUNCTION__,__LINE__);
|
||||
for(;;) {
|
||||
if(grblCommandBuffer_.size()>0 && getEcmcEpicsIOCState()==16 && autoEnableExecuted_) {
|
||||
printf("%s:%s:%d: Command in buffer!!!\n",__FILE__,__FUNCTION__,__LINE__);
|
||||
//printf("%s:%s:%d: Command in buffer!!!\n",__FILE__,__FUNCTION__,__LINE__);
|
||||
epicsMutexLock(grblCommandBufferMutex_);
|
||||
std::string command = grblCommandBuffer_.front() + '\n';
|
||||
std::string command = grblCommandBuffer_.front();
|
||||
grblCommandBuffer_.pop();
|
||||
epicsMutexUnlock(grblCommandBufferMutex_);
|
||||
printf("%s:%s:%d: Command length %d!!!\n",__FILE__,__FUNCTION__,__LINE__,strlen(command.c_str()));
|
||||
printf("%s:%s:%d: Available bytes %d!!!\n",__FILE__,__FUNCTION__,__LINE__,serial_get_rx_buffer_available());
|
||||
// wait for grbl
|
||||
ecmc_write_command_serial(strdup(command.c_str()));
|
||||
while(serial_get_rx_buffer_available()<=strlen(command.c_str())) {
|
||||
//printf("%s:%s:%d: Command length %d!!!\n",__FILE__,__FUNCTION__,__LINE__,strlen(command.c_str()));
|
||||
//printf("%s:%s:%d: Available bytes %d!!!\n",__FILE__,__FUNCTION__,__LINE__,serial_get_rx_buffer_available());
|
||||
// wait for grbl
|
||||
while(serial_get_rx_buffer_available() <= strlen(command.c_str())+1) {
|
||||
delay_ms(2);
|
||||
}
|
||||
printf("%s:%s:%d: Writing!!\n",__FILE__,__FUNCTION__,__LINE__);
|
||||
|
||||
ecmc_write_command_serial(strdup(command.c_str()));
|
||||
//printf("%s:%s:%d: Writing!!\n",__FILE__,__FUNCTION__,__LINE__);
|
||||
}
|
||||
else {
|
||||
delay_ms(5);
|
||||
@@ -330,6 +328,7 @@ void ecmcGrbl::doMainWorker() {
|
||||
if(destructs_) {
|
||||
return;
|
||||
}
|
||||
printf("********************after protocol_main_loop()********************************\n");
|
||||
delay_ms(1);
|
||||
}
|
||||
}
|
||||
@@ -464,33 +463,8 @@ std::string ecmcGrbl::to_string(int value) {
|
||||
|
||||
void ecmcGrbl::addCommand(std::string command) {
|
||||
printf("%s:%s:%d:\n",__FILE__,__FUNCTION__,__LINE__);
|
||||
epicsMutexLock(grblCommandBufferMutex_);
|
||||
epicsMutexLock(grblCommandBufferMutex_);
|
||||
grblCommandBuffer_.push(command.c_str());
|
||||
epicsMutexUnlock(grblCommandBufferMutex_);
|
||||
printf("%s:%s:%d: Buffer size %d\n",__FILE__,__FUNCTION__,__LINE__,grblCommandBuffer_.size());
|
||||
}
|
||||
|
||||
void ecmcGrbl::testGrbl() {
|
||||
|
||||
// test some commands
|
||||
//printf("Test command:$\n");
|
||||
//ecmc_write_command_serial("$\n");
|
||||
//sleep(1);
|
||||
//printf("Test command:G0X10Y100\n");
|
||||
//ecmc_write_command_serial("G0X10Y100\n");
|
||||
//sleep(1);
|
||||
//printf("Test command:$G\n");
|
||||
//ecmc_write_command_serial("$G\n");
|
||||
//sleep(1);
|
||||
//printf("Test command:G4P4\n");
|
||||
//ecmc_write_command_serial("G4P4\n");
|
||||
//printf("Test command:G1X20Y200F20\n");
|
||||
//ecmc_write_command_serial("G1X20Y200F20\n");
|
||||
//printf("Test command:G4P4\n");
|
||||
//ecmc_write_command_serial("G4P4\n");
|
||||
//printf("Test command:G2X40Y220R20\n");
|
||||
//ecmc_write_command_serial("G2X40Y220R20\n");
|
||||
//printf("Test command:$\n");
|
||||
//ecmc_write_command_serial("$\n");
|
||||
|
||||
}
|
||||
@@ -47,7 +47,6 @@ class ecmcGrbl : public asynPortDriver {
|
||||
void addCommand(std::string command);
|
||||
|
||||
private:
|
||||
void testGrbl();
|
||||
void parseConfigStr(char *configStr);
|
||||
void autoEnableAtStart();
|
||||
bool getEcmcAxisEnabled(int axis_id);
|
||||
|
||||
@@ -79,7 +79,7 @@ void protocol_main_loop()
|
||||
delay_ms(1);
|
||||
while((c = serial_read()) != SERIAL_NO_DATA) {
|
||||
if ((c == '\n') || (c == '\r')) { // End of line reached
|
||||
//printf("NEW_CHAR\n");
|
||||
|
||||
protocol_execute_realtime(); // Runtime command check point.
|
||||
if (sys.abort) { return; } // Bail to calling function upon system abort
|
||||
|
||||
@@ -109,7 +109,7 @@ void protocol_main_loop()
|
||||
// Reset tracking data for next line.
|
||||
line_flags = 0;
|
||||
char_counter = 0;
|
||||
|
||||
delay_us(100);
|
||||
} else {
|
||||
|
||||
if (line_flags) {
|
||||
|
||||
@@ -212,11 +212,12 @@ void ecmc_add_char_to_buffer(char data)
|
||||
|
||||
// write direct to serial buffer
|
||||
void ecmc_write_command_serial(char* line) {
|
||||
printf("Adding %s to buffer %s\n",line,serial_rx_buffer);
|
||||
|
||||
for(int i=0; i<strlen(line);i++) {
|
||||
ecmc_add_char_to_buffer(line[i]);
|
||||
ecmc_add_char_to_buffer(line[i]);
|
||||
}
|
||||
ecmc_add_char_to_buffer('\n');
|
||||
printf("Added: %s",line);
|
||||
printf("to buffer: %s\n",serial_rx_buffer);
|
||||
free(line);
|
||||
}
|
||||
|
||||
|
||||
2460
iocsh/log.log
2460
iocsh/log.log
File diff suppressed because it is too large
Load Diff
@@ -67,123 +67,123 @@ epicsEnvUnset(ECMC_PLUGIN_CONFIG)
|
||||
ecmcGrblAddCommand("G1X20Y20F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G2X0Y0R20");
|
||||
ecmcGrblAddCommand("G0X10Y10");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X10Y0F360");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X50Y50F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X0Y0F360");
|
||||
ecmcGrblAddCommand("G1X20Y20F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G2X0Y0R20");
|
||||
ecmcGrblAddCommand("G0X10Y10");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X10Y0F360");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X50Y50F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X0Y0F360");
|
||||
ecmcGrblAddCommand("G1X20Y20F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G2X0Y0R20");
|
||||
ecmcGrblAddCommand("G0X10Y10");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X10Y0F360");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X50Y50F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X0Y0F360");
|
||||
ecmcGrblAddCommand("G1X20Y20F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G2X0Y0R20");
|
||||
ecmcGrblAddCommand("G0X10Y10");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X10Y0F360");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X50Y50F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X0Y0F360");
|
||||
ecmcGrblAddCommand("G1X20Y20F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G2X0Y0R20");
|
||||
ecmcGrblAddCommand("G0X10Y10");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X10Y0F360");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X50Y50F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X0Y0F360");
|
||||
ecmcGrblAddCommand("G1X20Y20F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G2X0Y0R20");
|
||||
ecmcGrblAddCommand("G0X10Y10");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X10Y0F360");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X50Y50F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X0Y0F360");
|
||||
ecmcGrblAddCommand("G1X20Y20F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G2X0Y0R20");
|
||||
ecmcGrblAddCommand("G0X10Y10");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X10Y0F360");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X50Y50F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X0Y0F360");
|
||||
ecmcGrblAddCommand("G1X20Y20F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G2X0Y0R20");
|
||||
ecmcGrblAddCommand("G0X10Y10");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X10Y0F360");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X50Y50F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X0Y0F360");
|
||||
ecmcGrblAddCommand("G1X20Y20F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G2X0Y0R20");
|
||||
ecmcGrblAddCommand("G0X10Y10");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X10Y0F360");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X50Y50F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X0Y0F360");
|
||||
ecmcGrblAddCommand("G1X20Y20F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G2X0Y0R20");
|
||||
ecmcGrblAddCommand("G0X10Y10");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X10Y0F360");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X50Y50F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X0Y0F360");
|
||||
ecmcGrblAddCommand("G1X20Y20F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G2X0Y0R20");
|
||||
ecmcGrblAddCommand("G0X10Y10");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X10Y0F360");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X50Y50F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X0Y0F360");
|
||||
ecmcGrblAddCommand("G1X20Y20F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G2X0Y0R20");
|
||||
ecmcGrblAddCommand("G0X10Y10");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X10Y0F360");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X50Y50F180");
|
||||
ecmcGrblAddCommand("G4P1");
|
||||
ecmcGrblAddCommand("G1X0Y0F360");
|
||||
//ecmcGrblAddCommand("G0X10Y10");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X10Y0F360");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X50Y50F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X0Y0F360");
|
||||
//ecmcGrblAddCommand("G1X20Y20F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G2X0Y0R20");
|
||||
//ecmcGrblAddCommand("G0X10Y10");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X10Y0F360");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X50Y50F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X0Y0F360");
|
||||
//ecmcGrblAddCommand("G1X20Y20F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G2X0Y0R20");
|
||||
//ecmcGrblAddCommand("G0X10Y10");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X10Y0F360");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X50Y50F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X0Y0F360");
|
||||
//ecmcGrblAddCommand("G1X20Y20F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G2X0Y0R20");
|
||||
//ecmcGrblAddCommand("G0X10Y10");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X10Y0F360");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X50Y50F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X0Y0F360");
|
||||
//ecmcGrblAddCommand("G1X20Y20F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G2X0Y0R20");
|
||||
//ecmcGrblAddCommand("G0X10Y10");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X10Y0F360");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X50Y50F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X0Y0F360");
|
||||
//ecmcGrblAddCommand("G1X20Y20F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G2X0Y0R20");
|
||||
//ecmcGrblAddCommand("G0X10Y10");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X10Y0F360");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X50Y50F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X0Y0F360");
|
||||
//ecmcGrblAddCommand("G1X20Y20F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G2X0Y0R20");
|
||||
//ecmcGrblAddCommand("G0X10Y10");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X10Y0F360");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X50Y50F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X0Y0F360");
|
||||
//ecmcGrblAddCommand("G1X20Y20F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G2X0Y0R20");
|
||||
//ecmcGrblAddCommand("G0X10Y10");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X10Y0F360");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X50Y50F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X0Y0F360");
|
||||
//ecmcGrblAddCommand("G1X20Y20F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G2X0Y0R20");
|
||||
//ecmcGrblAddCommand("G0X10Y10");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X10Y0F360");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X50Y50F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X0Y0F360");
|
||||
//ecmcGrblAddCommand("G1X20Y20F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G2X0Y0R20");
|
||||
//ecmcGrblAddCommand("G0X10Y10");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X10Y0F360");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X50Y50F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X0Y0F360");
|
||||
//ecmcGrblAddCommand("G1X20Y20F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G2X0Y0R20");
|
||||
//ecmcGrblAddCommand("G0X10Y10");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X10Y0F360");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X50Y50F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X0Y0F360");
|
||||
//ecmcGrblAddCommand("G1X20Y20F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G2X0Y0R20");
|
||||
//ecmcGrblAddCommand("G0X10Y10");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X10Y0F360");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X50Y50F180");
|
||||
//ecmcGrblAddCommand("G4P1");
|
||||
//ecmcGrblAddCommand("G1X0Y0F360");
|
||||
|
||||
##############################################################################
|
||||
## PLC 0
|
||||
|
||||
Reference in New Issue
Block a user