int main(int argc, char ** argv) { int board, i, j; int retSize = -1; char *devName = GPIO_IR_DEV; int pin = GPIO_PIN(7); char modStr[BUF_SIZE]; struct input_event evKey; if ((board = boardInit()) < 0) printf("Fail to init board\n"); if (board == BOARD_NANOPI_T2) pin = GPIO_PIN(15); sprintf(modStr, "modprobe %s gpio=%d", IR_DRIVER_MODULE, pintoGPIO(pin)); system(modStr); signal(SIGINT, IRIntHandler); sleep(1); irFD = openHW(devName, O_RDWR); if (irFD < 0) { printf("Fail to open GPIO IR device\n"); return -1; } printf("Press the IR remoter\n"); for (i=0; i<IR_EVENT_TIMES; i++) { if (selectHW(irFD, 0, 0) == 1) { retSize = readHW(irFD, &evKey, sizeof(struct input_event)); for (j=0; j<(int) retSize / sizeof(struct input_event); j++) printf("%2d: Type=%d, Code=%d, Value=%x\n", i, evKey.type, evKey.code, evKey.value); } } closeHW(irFD); system("rmmod "IR_DRIVER_MODULE); return 0; }
EXPORT int sensorInit(struct sensor *dev, int num) { clearLastError(); int devFD; int i; devFD = open(SENSOR_DEVICE, 0); if (devFD == -1) { setLastError("Fail to open %s", SENSOR_DEVICE); } for(i=0; i<num; i++) { dev[i].pin = pintoGPIO(dev[i].pin); if (dev[i].pin == -1) { return -1; } if(ioctl(devFD, ADD_SENSOR, &dev[i]) == -1) { setLastError("Fail to add sensor"); return -1; } sensor_num++; } if(ioctl(devFD, START_ALL_SENSOR, 0) == -1) { setLastError("Fail to start sensor"); return -1; } return devFD; }
int main(int argc, char ** argv) { int ret = -1; int dhtTemp=0, dhtHdty=0, board; char modStr[BUF_SIZE]; int pin = GPIO_PIN(7); if ((board = boardInit()) < 0) { printf("Fail to init board\n"); return -1; } if (board == BOARD_NANOPI_T2) pin = GPIO_PIN(15); sprintf(modStr, "modprobe %s gpio=%d", DRIVER_MODULE, pintoGPIO(pin)); system(modStr); if ((ret = dht11Read(DHT_HUMIDITY, &dhtHdty)) != -1) { printf("The humidity is %d\n", dhtHdty); } else { printf("Faided to get humidity\n"); } if ((ret = dht11Read(DHT_TEMP, &dhtTemp)) != -1) { printf("The temperature is %d\n", dhtTemp); } else { printf("Faided to get temperature\n"); } system("rmmod "DRIVER_MODULE); return ret; }
EXPORT int Hcsr04Init(int Pin) { clearLastError(); struct HCSR04_resource res; int ret = HCSR04_MAX_DISTANCE+1; char *hcsr04Path = (char *) malloc(FILE_PATH_LENGTH); memset(hcsr04Path, 0, FILE_PATH_LENGTH); strcpy(hcsr04Path, HCSR04_PATH); res.gpio = pintoGPIO(Pin); char *resStr = (char *)&res; if (Hcsr04Write(hcsr04Path, resStr) == -1) { setLastError("Fail to write resource to hcsr04"); ret = -1; } free(hcsr04Path); return ret; }
int main(int argc, char ** argv) { char temperature[BUF_SIZE]; char modStr[BUF_SIZE]; int board; int pin=GPIO_PIN(7); if ((board = boardInit()) < 0) printf("Fail to init board\n"); sprintf(modStr, "modprobe %s gpio=%d", TEMP_GPIO_DRIVER_MODULE, pintoGPIO(pin)); printf("%s\n", modStr); system(modStr); system("modprobe "TEMP_DRIVER_MODULE); memset(temperature, 0, BUF_SIZE); if (ds18b20Read(temperature) > 0) { printf("Temperature = %.3f C\n", atoi(temperature)/1000.0); } else { printf("Fail to get temperature\n"); } system("rmmod "TEMP_GPIO_DRIVER_MODULE); system("rmmod "TEMP_DRIVER_MODULE); return 0; }