test program
Dependencies: LSM9DS1_Library2 MotorV2 SRF05 Tracker2 mbed nRF24L01P
Fork of DUMP_TRUCK_SPR2017 by
DumpTruck.cpp
- Committer:
- Josahty
- Date:
- 2016-11-01
- Revision:
- 0:6942f0e2198c
- Child:
- 1:90b640c90506
File content as of revision 0:6942f0e2198c:
#include "DumpTruck.h" #include "stdlib.h" Serial pc(USBTX, USBRX); DumpTruck::DumpTruck(int truckId) : truckNumber(truckId) { truckNumber = truckId; } PwmOut DrivePin(p24); DigitalOut DirPin(p30); int i; void Calibrate(){} void DumpTruck::drive() { // get desired distance and speed distance = 0; // placeholder // speed = 0.5; // distance = setTruckDistance(); speed = setTruckSpeed(); // terminal confirmation of distance and speed pc.printf("Truck will drive a distance of %f at a speed of %f\r\n",distance,speed); // insert while loop here which relates to distance travelled while(1) { // if the speed is greater than zero, go forward at specified speed if (speed >= 0) { DirPin = 1; DrivePin = speed; } // else, go backwards at specified speed else { DirPin = 0; DrivePin = -1 * speed; } } // stop motors // stop(); // calibrate motors Calibrate(); // i = 0; } //float DumpTruck::setTruckDistance(){ // // terminal prompt for distance // pc.printf("Please enter the truck distance:"); // // sets return value to given value // float input = pc.getc(); // // returns value // return input; // } // float DumpTruck::setTruckSpeed(){ float div = 10; // terminal prompt for speed pc.printf("Please enter the truck speed: \n"); // sets return value to given value float input = pc.getc(); while ((input<48)&&(input>57)){ pc.printf("Fix your input sir: \r\n"); float input = pc.getc(); } input = input - 48; input = input * (1/div); // returns value return input;} void DumpTruck::stop(){ pc.printf("Truck will now stop."); //stop motors DrivePin = 0; } //void DumpTruck::RotateTo() { // pc.printf("Desired Angle: "); // DesiredPivotAngle = pc.getc(); // float CurrentPivotAngle = getPivotAngle(); // Difference = DesiredPivotAngle-CurrentPivotAngle; // if (Difference > limit) // { // PivotSpeed = setPivotSpeed(); // pc.printf("Rotating to %s /n", DesiredPivotAngle); // //Drive Motors // } // else // {stop()} // //} // //void DumpTruck::BedDown() { // SwitchState = bool GetBedUpperSwitch(); // if SwitchState // {return 0;} // else // // while(SwitchState == 0) // { // //driveMotor // } // calibrate(); // } //void DumpTruck::LowerBed() { // SwitchState = bool GetLowerUpperSwitch(); // if SwitchState // {return 0;} // else // // while(SwitchState == 0) // { // //driveMotor // } // calibrate(); // } //} //void DumpTruck::raiseTo(int angle) { // pc.printf("Desired Angle: "); // DesiredBedAngle = pc.getc(); // float CurrentBedAngle = getBedAngle(); // Difference = DesiredBedAngle-CurrentBedAngle; // if (Difference > limit) // { // BedSpeed = setBedSpeed(); // pc.printf("Rotating to %s /n", DesiredBedAngle); // //Drive Motors // } // else // {stop()} //} // //float DumpTruck::getPivotAngle(){ // float input = AnalogIn(x); // return input // } //float DumpTruck::setPivotSpeed(){ // pc.printf("Please enter the Pivot speed /n"); // float input = pc.getc(); // return input; // } // //float DumpTruck::setBedSpeed(){ // pc.printf("Please enter the Bed speed /n"); // float input = pc.getc(); // return input; // } //float DumpTruck::getBedAngle(){ // float input = AnalogIn(x); // data from potentiometer // return input; // } //