Modifying the Simple-Stepper program to remove getchar

C, C++, and Visual C++
Post Reply
bluwavguy
Phidgetsian
Posts: 5
Joined: Thu Feb 09, 2017 1:10 pm
Contact:

Modifying the Simple-Stepper program to remove getchar

Post by bluwavguy »

All.

I'm running the simple-stepper.c program and have modifed it to set the current, accel, veloc and can control the motor...using the 1067 controller and a raspberryPi3.

Now. I am missing some understanding of the useage of the getchar() function as when I start modifying the code to go one direction for a set amount of steps and then to reverse the same amount of steps I can only perform this operation as shown below. If I am correct in my recall, as I've been messing with this code for hours...if I remove any of the 3 getchar() functions the routine does not function as desired. I'm working towards runnnig the stepper without user input. Tried creating while loops, delays, and not sure what i need to code as I don't understand the intimacies of C vs needed delay times between the function calls...or??

Any help will be greatly appreciated. Thank you, Brian

This is just part of code where steps1-4 were located to where the stepper is disengaged.

//keep displaying stepper event data until user input is read

printf("Press any key to continue as we are about to start\n");
getchar();

CPhidgetStepper_setCurrentPosition(stepper, 0, 0);
printf("Current Position within If loop: %lld\n", curr_pos);
CPhidgetStepper_setEngaged(stepper, 0, 1);
CPhidgetStepper_setTargetPosition(stepper, 0,34000);

getchar();

printf("Current Position within If loop: %lld\n", curr_pos);
CPhidgetStepper_setCurrentPosition(stepper, 0, 0);
CPhidgetStepper_setTargetPosition(stepper, 0, -34000);

getchar();

// printf("Press any key to end the stepper function\n");
// getchar();
CPhidgetStepper_setEngaged(stepper, 0, 0);
CPhidgetStepper_setCurrentPosition(stepper, 0, 0);
LucasP
Phidgetly
Posts: 22
Joined: Fri Oct 07, 2016 4:47 pm
Contact:

Re: Modifying the Simple-Stepper program to remove getchar

Post by LucasP »

This function is what you are looking for:

Code: Select all

CPhidgetStepper_getStopped
Note: this function only lets you know if commands are being sent to the motor. The 1067 has no way of knowing if the shaft is actually moving or not.
Post Reply

Who is online

Users browsing this forum: No registered users and 20 guests