RPi-DHT11

 view release on metacpan or  search on metacpan

DHT11.xs  view on Meta::CPAN

int c_humidity(int pin){
    // get & return humidity

    if (debug)
        printf("DHT11 exec humidity\n");

    if (noboard_test())
        return 0;

    EnvData env_data;
    int data = -1;

    while (data == -1 && data != 0){
        env_data = read_env(pin);
        if (data == -1){
            sleep(1);
        }
        data = env_data.humidity;
        if (debug)
            printf("humidity data: %d\n", data);
    }
    if (debug)
        printf("humidity: %d\n", env_data.humidity);

    return env_data.humidity;
}

int c_cleanup(int pin){
    // reset the pin to default status

    digitalWrite(pin, LOW);
    pinMode(pin, INPUT);

    return(0);
}

bool noboard_test(){
    if (getenv("RDE_NOBOARD_TEST") && atoi(getenv("RDE_NOBOARD_TEST")) == 1)
        return true;
    return false;
}

int c_debug(int flag){
    debug = flag;
    return debug;
}
     
bool setup(){

    if (! noboard_test()){
        int setupMode = -1;

        if (getenv("RPI_PIN_MODE"))
            setupMode = atoi(getenv("RPI_PIN_MODE"));

        if (setupMode == -1){
            if (wiringPiSetupGpio() == -1)
                exit(1);
        }
        else {
            /* setenv() copies its args; putenv() with a stack buffer left
               environ pointing at a dead frame once setup() returned */
            char modeValue[12];
            sprintf(modeValue, "%d", setupMode);
            setenv("RPI_PIN_MODE", modeValue, 1);
        }
    }
    return true;
}

MODULE = RPi::DHT11  PACKAGE = RPi::DHT11

PROTOTYPES: DISABLE

int
c_temp (pin)
	int	pin

int
c_humidity (pin)
	int	pin

int
c_cleanup (pin)
	int	pin

int
c_debug (flag)
    int flag

bool
setup()



( run in 0.599 second using v1.01-cache-2.11-cpan-6aa56a78535 )