int main(void) { pinIO(); serialSetupUSB(); timerSetup(); motorSetup(); encSetup(); //infinete loop in which we count while(1) { //currentVelocity = velocityGet(); moveForward(16); delay(10); moveBackward(16); } //remain here forever, never end the main function. return 0; //we should never really return }
void stepperControl(stepper *stepper){ motorSetup(); while(1){ if (stepper->period != 0.0){ // Do math with the rate to scail it and set dir //printf("period = %f",*period); if (stepper->period > 0){ digitalWrite(motor1Dir, HIGH); digitalWrite(motor2Dir, LOW); stepper->count--; } else { digitalWrite(motor1Dir, LOW); digitalWrite(motor2Dir, HIGH); stepper->count++; } // Do the step digitalWrite(motor1Step, HIGH); digitalWrite(motor2Step, LOW); wait(&stepper->period); digitalWrite(motor1Step, LOW); digitalWrite(motor2Step, HIGH); wait(&stepper->period); } else { delay(5); } } }
int main(void) { /* Init board */ BoardInit(); /* Init GPIO */ InitGPIO(); /* Init UART */ MAP_PRCMPeripheralClkEnable(PRCM_UARTA0, PRCM_RUN_MODE_CLK); InitTerm(); /* Init I2C */ I2C_IF_Open(I2C_MASTER_MODE_FST); /* Init the internet! */ // http://azug.minpet.unibas.ch/~lukas/bricol/ti_simplelink/resources/swru368.pdf SECTION 10 dhcpParams.lease_time = 1000; dhcpParams.ipv4_addr_start = 0xc0a80102; dhcpParams.ipv4_addr_last = 0xc0a801fe; sl_Start(NULL,NULL,NULL); MAP_UtilsDelay(8000000); // config IP etc ipV4.ipV4 = 0xc0a80101; ipV4.ipV4Mask = 0xFFFFFF00; ipV4.ipV4Gateway = 0xc0a80101; ipV4.ipV4DnsServer = 0xc0a80101; sl_NetCfgSet(SL_IPV4_AP_P2P_GO_STATIC_ENABLE, 1 ,sizeof(SlNetCfgIpV4Args_t), (unsigned char*) &ipV4); sl_WlanSetMode(ROLE_AP); // config SSID sl_WlanSet(SL_WLAN_CFG_AP_ID,WLAN_AP_OPT_SSID, strlen(myssid), (unsigned char*) myssid); sl_Stop(100); sl_Start(NULL,NULL,NULL); // start DHCP server sl_NetAppStop(SL_NET_APP_DHCP_SERVER_ID); sl_NetAppSet(SL_NET_APP_DHCP_SERVER_ID, NETAPP_SET_DHCP_SRV_BASIC_OPT, outLen,(unsigned char*) &dhcpParams); sl_NetAppStart(SL_NET_APP_DHCP_SERVER_ID); //Stop Internal HTTP Serve long lRetVal = -1; lRetVal = sl_NetAppStop(SL_NET_APP_HTTP_SERVER_ID); ASSERT_ON_ERROR( lRetVal); //Start Internal HTTP Server lRetVal = sl_NetAppStart(SL_NET_APP_HTTP_SERVER_ID); ASSERT_ON_ERROR( lRetVal); /* Finished init the internet! */ setRLED(); /* Wait for operator */ while(!readDIP1()); clearRLED(); /* Init IMU (alongside timers and interrupt */ imu_setup(); /* Init odometers */ odometer_setup(); set_controller_parameters(kp, ki, kd); set__odo_controller_parameters(kp_odo, ki_odo, kd_odo); /* Init motors (alongside motor GPIO, timers and interrupt */ motorSetup(); controller_setup(); odometer_controller_setup(); // MUST be the last init called! while(1) { _SlNonOsMainLoopTask(); } }
int main(void) { pinIO(); serialSetupUSB(); serialSetupP2P(); timerSetup(); //pwmSetup(); setupA2D(); motorSetup(); encSetup(); int motor1; //int motor1speed = 200; int motor2speed = 200; char targetVelocity1 = 0; char currentVelocity; float pop; char error = 0; //infinete loop in which we count while(1) { //currentVelocity = velocityGet(); motor1 = motorSet(39); motor1 = 200; //targetVelocity1 = 30; //error = targetVelocity1 - currentVelocity; //int test /* if (currentVelocity > targetVelocity1) { if(motor1speed > 0) { motor1speed -=2; } else { motor1speed = 0; } } else if (currentVelocity < targetVelocity1) { if(motor1speed < 798) { motor1speed +=2; } else { motor1speed = 798; } //motor1speed = 798*(float)(1-(float)(currentVelocity / targetVelocity1)); }*/ motor1Forward(motor1); motor2Forward(motor2speed); } //remain here forever, never end the main function. return 0; //we should never really return }