RPi-DHT11
view release on metacpan or search on metacpan
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 )