redefinition void setup()

I have just started to use Arduino and I read the similar topics here but I couldn't get over the problem. It only gives "redifinion of 'void setup()'"error and says exit status 1. Please help...

And here is my code:

int S0 = 8;
int S1 = 9;
int S2 = 12;
int S3 = 11;
int taosOutPin = 10;
int LED = 13;

void setup() {
TCS3200setup();
Serial.begin(115200);
delay(100);
}

void loop() {
detectColor(taosOutPin);
Serial.print("\n\n\n");
delay(1000);
}

int detectColor(int taosOutPin){
float white = colorRead(taosOutPin,0,1);
float red = colorRead(taosOutPin,1,1);
float blue = colorRead(taosOutPin,2,1);
float green = colorRead(taosOutPin,3,1);

Serial.print("white ");
Serial.println(white);

Serial.print("red ");
Serial.println(red);

Serial.print("blue ");
Serial.println(blue);

Serial.print("green ");
Serial.println(green);

}
float colorRead(int taosOutPin, int color, boolean LEDstate){

taosMode(1);

int sensorDelay = 100;

if(color == 0){
digitalWrite(S3, LOW);
digitalWrite(S2, HIGH);
// Serial.print(" White");
}

else if(color == 1){
digitalWrite(S3, LOW);
digitalWrite(S2, LOW);
// Serial.print(" Red");
}

else if(color == 2){
digitalWrite(S3, HIGH);//blue
digitalWrite(S2, LOW);
// Serial.print(" Blue");
}

else if(color == 3){
digitalWrite(S3, HIGH);
digitalWrite(S2, HIGH);
// Serial.print(" Green");
}

float readPulse;

if(LEDstate == 0){
digitalWrite(LED, LOW);
}

if(LEDstate == 1){
digitalWrite(LED, HIGH);
}

delay(sensorDelay);

readPulse = pulseIn(taosOutPin, LOW, 80000);

if(readPulse < .1){
readPulse = 80000;
}

taosMode(0);

return readPulse;
}
void taosMode(int mode){

if(mode == 0){
digitalWrite(LED, LOW);
digitalWrite(S0, LOW);
digitalWrite(S1, LOW);
// Serial.println("LED off, both channels low");

}else if(mode == 1){
digitalWrite(S0, HIGH);
digitalWrite(S1, HIGH);
// Serial.println("Frequency Scaled at 100%");

}else if(mode == 2){
digitalWrite(S0, HIGH);
digitalWrite(S1, LOW);
//Serial.println("Frequency Scaled Down to 20%");

}else if(mode == 3){
digitalWrite(S0, LOW);
digitalWrite(S1, HIGH);
//Serial.println("Frequency Scaled Down to 2%");
}
return;
}

void TCS3200setup(){

pinMode(LED,OUTPUT);

pinMode(S2,OUTPUT);
pinMode(S3,OUTPUT);

pinMode(taosOutPin, INPUT);

pinMode(S0,OUTPUT);
pinMode(S1,OUTPUT);
return;
}

Please use code tags (</> button on the toolbar) when you post code or warning/error messages. The reason is that the forum software can interpret parts of your code as markup, leading to confusion, wasted time, and a reduced chance for you to get help with your problem. This will also make it easier to read your code and to copy it to the IDE or editor. Using code tags and other important information is explained in the How to use this forum post. Please read it.

Please always do a Tools > Auto Format on your code before posting it. This will make it easier for you to spot bugs and make it easier for us to read.

When you encounter an error you'll see a button on the right side of the orange bar "Copy error messages". Click that button. Paste the error in a message here using code tags.

Most likely the problem is you have multiple .ino files in your sketch folder, both of which define setup() but I can only guess without more information.