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;
}
Beispiel #2
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;
}
Beispiel #3
0
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;
}
Beispiel #4
0
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;
}