コード例 #1
0
ファイル: CRaspiGPIO.cpp プロジェクト: CRLG/LABOTBOX
// _____________________________________________________________________
void CRaspiGPIO::configPinMode(unsigned int gpio_num, QString mode)
{
    if (mode.toLower() == "output") {
        setPinModeOutput(gpio_num, 0);
        m_application->m_print_view->print_debug(this, "GPIO " + QString::number(gpio_num) + " is Digital Output");
    }
    else if (mode.toLower() == "pwm output") {
        setPinModePWMOutput(gpio_num, 0);
        m_application->m_print_view->print_debug(this, "GPIO " + QString::number(gpio_num) + " is PWM Outpur");
    }
    else if (mode.toLower() == "input pull up") {
        setPinModeInput(gpio_num, PUD_UP);
        m_application->m_print_view->print_debug(this, "GPIO " + QString::number(gpio_num) + " is Input with Pull up");
    }
    else if (mode.toLower() == "input pull down") {
        setPinModeInput(gpio_num, PUD_DOWN);
        m_application->m_print_view->print_debug(this, "GPIO " + QString::number(gpio_num) + " is Input with Pull down");
    }
    else if (mode.toLower() == "input") {
        setPinModeInput(gpio_num, PUD_OFF);
        m_application->m_print_view->print_debug(this, "GPIO " + QString::number(gpio_num) + " is Input");
    }
    else { // mode inconnu, laisse le GPIO dans son état courant
        m_application->m_print_view->print_error(this, "Unknown mode \"" + mode + "\" for GPIO " + QString::number(gpio_num));
    }
}
コード例 #2
0
ファイル: gpio.c プロジェクト: Integreight/1Sheeld-Firmware
void setPinMode(uint8_t pin , uint8_t pinMode)
{
	uint8_t bit = digitalPinToBitMask(pin);
	uint8_t port = digitalPinToPort(pin);
	t_SetPortCfg cfg;
	
	
	if(port == NOT_A_PIN)
	{
		return;
	}
	
	cfg.pID =  portModeRegister(port);
	
	if(pinMode == INPUT)
	{
		setPinModeInput(&cfg, bit);
	}
	else
	{
		setPinModeOutput(&cfg, bit);
	}
	
}
コード例 #3
0
ファイル: util.c プロジェクト: hamling-ling/IoPocketMiku
void setPinModeUnused(int pin)
{
    setPinModeInput(pin);
}
コード例 #4
0
ファイル: util.c プロジェクト: hamling-ling/IoPocketMiku
void setPinMode(int pin, PinMode mode)
{
    if (pin >= 0 && pin < NUM_DIGITAL_PINS) {
        if (getPinMode(pin) != mode) {
            resetPinMode(pin);
            switch (mode) {
            case PinModeUnused:
                if (setPinModeUnused != NULL) {
                    setPinModeUnused(pin);
                }
                goto change;
            case PinModeInput:
                if (setPinModeInput != NULL) {
                    setPinModeInput(pin);
                }
                goto change;
            case PinModeOutput:
                if (setPinModeOutput != NULL) {
                    setPinModeOutput(pin);
                }
                goto change;
            case PinModeInputPullUp:
                if (setPinModeInputPullUp != NULL) {
                    setPinModeInputPullUp(pin);
                }
                goto change;
            case PinModeOutputHigh:
                if (setPinModeOutputHigh != NULL) {
                    setPinModeOutputHigh(pin);
                }
                goto change;
            case PinModeOutputOpenDrain:
                if (setPinModeOutputOpenDrain != NULL) {
                    setPinModeOutputOpenDrain(pin);
                }
                goto change;
            case PinModeAnalogRead:
                if (setPinModeAnalogRead != NULL) {
                    setPinModeAnalogRead(pin);
                }
                goto change;
            case PinModeAnalogWrite:
                if (setPinModeAnalogWrite != NULL) {
                    setPinModeAnalogWrite(pin);
                }
                goto change;
            case PinModeTone:
                if (setPinModeTone != NULL) {
                    setPinModeTone(pin);
                }
                goto change;
            case PinModeServo:
                if (setPinModeServo != NULL) {
                    setPinModeServo(pin);
                }
                goto change;
            case PinModeDac:
                if (setPinModeDac != NULL) {
                    setPinModeDac(pin);
                }
                goto change;
            case PinModeOther:
                if (setPinModeOther != NULL) {
                    setPinModeOther(pin);
                }
              change:
                changePinMode(pin, mode);
                break;
            default:
                break;
            }
        }
    }
}