Ejemplo n.º 1
0
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
}
Ejemplo n.º 2
0
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);
        }
    }
}
Ejemplo n.º 3
0
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();
	}
}
Ejemplo n.º 4
0
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
}