int main(int argc, char **argv) { Motor_init(); Sensor_init(); Button_init(); Compass_init(); turnCount = 0; while(1) { int front = (Sensor_getDistance(Sensor_FRONT_LEFT) + Sensor_getDistance(Sensor_FRONT_RIGHT)) / 2; while(front > 20) { if(Compass_inRange(startDir, 15, 180)) Motor_steerLeft(0.9); else if(Compass_inRange(startDir, 180, 45)) Motor_steerRight(0.9); else Motor_forward(); } hugObstacle(); } Motor_cleanUp(); Sensor_cleanUp(); Button_cleanUp(); }
int8_t initSensors(){ int8_t err1 = Accelerometer_init(); int8_t err2 = Compass_init(); int8_t err3 = Gyroscope_init(); err3 = getGyroCalibrationOffset(); if (err1) { return err1; } if (err2) { return err2; } if (err3) { return err3; } return NO_ERR; //dont know how to return multiple errors }