Exemplo n.º 1
0
EXPORT int MAX7219Init() 
{
    clearLastError();
    int devFD;
    if ((devFD = openHW(SPI0_PATH, O_RDWR)) < 0) {
        setLastError("Fail to open SPI device MAX7219");
        return -1;
    } 

    if (setSPIDataMode(devFD, spiMode) == -1 ) {
        setLastError("Fail to set MAX7219 SPI mode");
        closeHW(devFD);
        return -1;
    }

    if (setSPIWriteBitsPerWord(devFD, spiBits) == -1 ) {
        setLastError("Fail to set MAX7219 SPI bits");
        closeHW(devFD);
        return -1;
    }

    if (setSPIClockDivider(devFD, spiDivider) == -1 ) {
        setLastError("Fail to set MAX7219 SPI clock divider");
        closeHW(devFD);
        return -1;
    }

    MAX7219WriteByte(devFD, 0x09, 0x00); 
    MAX7219WriteByte(devFD, 0x0a, 0x03);  
    MAX7219WriteByte(devFD, 0x0b, 0x07);  
    MAX7219WriteByte(devFD, 0x0c, 0x01);   
    MAX7219WriteByte(devFD, 0x0f, 0x00); 

    return devFD;
}
Exemplo n.º 2
0
EXPORT int dht11Init(int pin) 
{
    int dht11Pin = pin;
    clearLastError();
    int devFD = openHW(DHT11_DEV, O_RDONLY);
    if (devFD == -1) {
        printf("Fail to open dht11");
        return -1;
    }
    if(ioctl(devFD, SET_DHT11_PIN, &dht11Pin) == -1) {
        setLastError("Fail to set dht11 pin");
        closeHW(devFD);
        return -1;
    }
    
    dht11Pin = -1;
    if(ioctl(devFD, GET_DHT11_PIN, &dht11Pin) == -1) {
        setLastError("Fail to get dht11 pin");
        closeHW(devFD);
        return -1;
    }
    if (dht11Pin != pin) {
        setLastError("Get error dht11 pin %d", dht11Pin);
        closeHW(devFD);
        return -1;
    }
    
    return devFD;
}
Exemplo n.º 3
0
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;
}
Exemplo n.º 4
0
EXPORT void dht11DeInit(int devFD) 
{
    clearLastError();
    if(ioctl(devFD, UNSET_DHT11_PIN, 0) == -1) {
        setLastError("Fail to unset dht11 pin\n");
    }    
    closeHW(devFD);
}
Exemplo n.º 5
0
void IRIntHandler(int signNum)
{
    if (signNum == SIGINT) {
        closeHW(irFD);
        system("rmmod "IR_DRIVER_MODULE);
        printf("Quit waiting IR event\n");
    }
    exit(0);
}
Exemplo n.º 6
0
void IRIntHandler(int signNum)
{
    if (signNum == SIGINT) {
        printf("Clean up\n");
        closeHW(irFD);
        system("rmmod "DRIVER_MODULE);
    }
    exit(0);
}
Exemplo n.º 7
0
EXPORT int hmc5883Init() 
{
    clearLastError();
    int devFD;
    if ((devFD = openHW(I2C0_PATH, O_RDWR)) < 0) {
        setLastError("Fail to open I2C hmc5883 device");
        return -1;
    } else {
        if (setI2CSlave(devFD, HMC5883_ADDRESS) < 0) {
            setLastError("Fail to set hmc5883 I2C slave address");
            closeHW(devFD);
            return -1;
        }
    } 
    if (hmc5883HWInit(devFD) == -1) {
        closeHW(devFD);
        return -1;
    }
    return devFD;
}
Exemplo n.º 8
0
EXPORT int pcf8574Init(int i2cDev) 
{
    clearLastError();
    int devFD;
    char buf[16];
    memset(buf, 0, sizeof(buf));
    sprintf(buf, "/dev/i2c-%d", i2cDev);
    if ((devFD = openHW(buf, O_RDWR)) < 0) {
        setLastError("Fail to open I2C device pcf8574");
        return -1;
    } else {
        if (setI2CSlave(devFD, PCF8574_ADDRESS) < 0) {
            setLastError("Fail to set pcf8574 I2C slave address");
            closeHW(devFD);
            return -1;
        }
    } 
    return devFD;
}
Exemplo n.º 9
0
EXPORT void LCD1602DeInit(int devFD)
{
    clearLastError();
    closeHW(devFD);    
}
Exemplo n.º 10
0
EXPORT void pcf8574DeInit(int devFD) 
{
    clearLastError();
    closeHW(devFD);
}
Exemplo n.º 11
0
EXPORT void MAX7219DeInit(int devFD)
{
    clearLastError();
    MAX7219CleanScreen(devFD);
    closeHW(devFD);    
}
Exemplo n.º 12
0
EXPORT void hmc5883DeInit(int devFD) {
    closeHW(devFD);
}