Beispiel #1
0
void Sensor::initSensors() {
	sensGPIO.begin(1);
	
	//Address pins
	sensGPIO.pinMode(FRPIN, OUTPUT);
	sensGPIO.pinMode(LTRPIN, OUTPUT);
	sensGPIO.pinMode(LTLPIN, OUTPUT);
	sensGPIO.pinMode(FLPIN, OUTPUT);
	sensGPIO.pinMode(MRPIN, OUTPUT);
	sensGPIO.pinMode(MLPIN, OUTPUT);
	sensGPIO.pinMode(BRPIN, OUTPUT);
	sensGPIO.pinMode(BLPIN, OUTPUT);

	//-------Set all sensor select pins to high---------------
	sensGPIO.writeGPIOA(0xFF);

	//Ultrasonic pins
	pinMode(A0, OUTPUT);
	pinMode(A1, INPUT);
	
	 for (byte i = sC::FR; i < sC::invalid; i++) {
		SelectSensor(i);
		tsl.begin(TSL2561_ADDR_0);
		tsl.setTiming(TSL2561_GAIN_16X, TSL2561_INTEGRATIONTIME_14MS);
		tsl.setPowerUp();
	}
	 
	delay(14);
	_sensorInitComplete = true;
}
Beispiel #2
0
    static void ioSetup() {
        digitalWrite(PIN_IO_RST,LOW);
        delay(100);
        digitalWrite(PIN_IO_RST,HIGH);
        delay(100);

        mcp_.begin(IO_ADDR);
        mcp_.pinMode(PIN_EP_EN,OUTPUT);
        mcp_.pinMode(PIN_LED_EN,OUTPUT);
        mcp_.pinMode(PIN_SRV_EN,OUTPUT);
        mcp_.pinMode(PIN_FAN_EN,OUTPUT);
        mcp_.pinMode(PIN_FAN_TACHO,INPUT);
        mcp_.pinMode(PIN_HOST_INT,OUTPUT);
        mcp_.pinMode(PIN_STEP_SLP,OUTPUT);

        mcp_.pullUp(PIN_FRAME_STOP,HIGH);
        mcp_.pullUp(PIN_STEP_STOP1,HIGH);
        mcp_.pullUp(PIN_STEP_STOP2,HIGH);
        mcp_.pullUp(PIN_BTN11,HIGH);
        mcp_.pullUp(PIN_BTN12,HIGH);
        mcp_.pullUp(PIN_BTN13,HIGH);
        mcp_.pullUp(PIN_BTN21,HIGH);
        mcp_.pullUp(PIN_BTN22,HIGH);
        mcp_.pullUp(PIN_BTN23,HIGH);
        mcp_.setupInterruptPin(PIN_BTN11,CHANGE);
        mcp_.setupInterruptPin(PIN_BTN12,CHANGE);
        mcp_.setupInterruptPin(PIN_BTN13,CHANGE);
        mcp_.setupInterruptPin(PIN_BTN21,CHANGE);
        mcp_.setupInterruptPin(PIN_BTN22,CHANGE);
        mcp_.setupInterruptPin(PIN_BTN23,CHANGE);
        mcp_.setupInterrupts(false,false,LOW);

        if(st_.active())
            stepperInterrupt(true);
        if(fan_.tachoActive())
            fanInterrupt(true);
    }