Example #1
0
MAIN void main(void) {
    Init();

    // Enable odometry
    LED_CONFIGURE_ODOMETRY();
    // Configure auto measurment mode
    SensorInit();
    SensorConfigAutomode(am_odo);
    // Setup encoder control
    EncoderInit();
    EncoderMovementReset();
    // Initialize 1kHz tick timer
    Timer0Init();
    Timer0IntEnable();

    // Set drive direction
    MotorDir(FWD, FWD);

    for (;;) {
        // Circle with approx. 10cm diameter
        ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
            EncoderMovementSetSpeed(INNER_SPEED, OUTER_SPEED(100));
        }
        msleep(5000);

        // Circle with approx. 25cm diameter
        ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
            EncoderMovementSetSpeed(INNER_SPEED, OUTER_SPEED(250));
        }
        msleep(3000);

        // Tightening spiral
        for (uint8_t i = 250; i >= 80; i -= 10) {
            ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
                EncoderMovementSetSpeed(INNER_SPEED, OUTER_SPEED(i));
            }
            msleep(500);
        }

        // Straight line
        ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
            EncoderMovementSetSpeed(125, 125);
        }
        msleep(3000);
    }
}
Example #2
0
/********************************************************************************************************
Function Name: main
Description  : 
Inputs       : None
Outputs      : None
Notes        : 
Revision     : 
********************************************************************************************************/
int main(void)
{
    SystemInit();  //ϵͳʱÖÓ³õʼ»¯ 
    InputIOInit(); //Êý×ÖÊäÈë³õʼ»¯
 		OutputIOInit();//Êý×ÖÊä³ö³õʼ»¯
	 	SensorInit();  //Ä£ÄâÊäÈë³õʼ»¯
	
 		ZLG7290Init(); //¼üÅ̳õʼ»¯
	
 		MotorInit();	 //µç»ú³õʼ»¯
	
 		ServoInit();   //¶æ»ú³õʼ»¯
	
		EncoderInit(); //±àÂëÆ÷³õʼ»¯
 		/*
 		V_PIDInit();   //µç»ú±Õ»·Êä³ö
	  */
    SystemStart();
	
		//UsartInit();	 //´®¿Ú³õʼ»¯
}