| 3701 | |
| 3702 | |
| 3703 | int wiringPiSetupGpioDevice (enum WPIPinType pinType) { |
| 3704 | if (wiringPiSetuped) |
| 3705 | return 0 ; |
| 3706 | if (wiringPiDebug) { |
| 3707 | printf ("wiringPi: wiringPiSetupGpioDevice(%d) called\n", (int)pinType) ; |
| 3708 | } |
| 3709 | if (getenv (ENV_DEBUG) != NULL) |
| 3710 | wiringPiDebug = true ; |
| 3711 | |
| 3712 | if (getenv (ENV_CODES) != NULL) |
| 3713 | wiringPiReturnCodes = true ; |
| 3714 | |
| 3715 | if (wiringPiGpioDeviceGetFd()<0) { |
| 3716 | return -1; |
| 3717 | } |
| 3718 | wiringPiSetuped = true ; |
| 3719 | |
| 3720 | if (piGpioLayout () == GPIO_LAYOUT_PI1_REV1){ |
| 3721 | pinToGpio = pinToGpioR1 ; |
| 3722 | physToGpio = physToGpioR1 ; |
| 3723 | } else { |
| 3724 | pinToGpio = pinToGpioR2 ; |
| 3725 | physToGpio = physToGpioR2 ; |
| 3726 | } |
| 3727 | |
| 3728 | initialiseEpoch () ; |
| 3729 | |
| 3730 | switch (pinType) { |
| 3731 | case WPI_PIN_BCM: |
| 3732 | wiringPiMode = WPI_MODE_GPIO_DEVICE_BCM; |
| 3733 | break; |
| 3734 | case WPI_PIN_WPI: |
| 3735 | wiringPiMode = WPI_MODE_GPIO_DEVICE_WPI; |
| 3736 | break; |
| 3737 | case WPI_PIN_PHYS: |
| 3738 | wiringPiMode = WPI_MODE_GPIO_DEVICE_PHYS; |
| 3739 | break; |
| 3740 | default: |
| 3741 | wiringPiSetuped = false; |
| 3742 | return -1; |
| 3743 | } |
| 3744 | |
| 3745 | return 0 ; |
| 3746 | } |
| 3747 | |
| 3748 | /* |
| 3749 | * wiringPiSetupSys: |