Esempio n. 1
0
void threadRFHumiditySave( void )
{
    PYGMYMESSAGE pygmyMsg;
    PYGMYSOCKET *pygmySocket;
    u8 ucBuffer[ 20 ];
    
    if( msgGet( "humidity", PYGMY_UNMARKEDID, &pygmyMsg ) ){
        print( COM3, "\rMessage Received" );
        
        if( isStringSame( pygmyMsg.Message, "TX" ) ){
            convertIntToString( humidityRead(), "%d", ucBuffer );
            pygmySocket = socketGet( pygmyMsg.Value, pygmyMsg.Value );
            if( pygmySocket ){
                print( COM3, "\rSocket Found" );
                socketSendDataFromString( pygmySocket, ucBuffer ); 
            } else{
                print( COM3, "\rNo Socket Found" );
            } // else
        } else if( isStringSame( pygmyMsg.Message, "RX" ) ){
            print( COM3, "\rHumidity: %d", pygmyMsg.Value );
            convertIntToString( pygmyMsg.Value, "%d", globalHumidity );
            drawForms();
        } // else if
    }
    
    /*PYGMYFILE pygmyFile;
    u8 ucBuffer[ 20 ];
    
    if( fileOpen( &pygmyFile, "humidity.txt", WRITE ) ){
        convertIntToString( humidityRead(), "%d", ucBuffer );
        filePutString( &pygmyFile, ucBuffer );
        fileClose( &pygmyFile );
    } // if
    */
}
Esempio n. 2
0
void readSensors(DataPacket_t *packet)
{
    PRINTF("reading sensors...\n");
    uint32_t start = getJiffies();

    ledOn();
    humidityOn();

    packet->timestamp = getUptime();
    if (!islRead(&packet->islLight, true)) {
        PRINT("islRead failed\n");
        packet->islLight = 0xffff;
    // } else {
    //     PRINT("islRead OK\n");
    }
    packet->internalVoltage = adcRead(ADC_INTERNAL_VOLTAGE);
    packet->internalTemperature = adcRead(ADC_INTERNAL_TEMPERATURE);
    packet->sht75Humidity = humidityRead();
    packet->sht75Temperature = temperatureRead();

    humidityOff();
    ledOff();

    uint32_t end = getJiffies();
    PRINTF("   time spent: %u ms\n", end - start);
}
Esempio n. 3
0
File: main.c Progetto: atiselsts/osw
void readSensors(DataPacket_t *packet)
{
    DPRINTF("reading sensors...\n");

    ledOn();
    humidityOn();

    packet->timestamp = getJiffies();
    packet->sourceAddress = localAddress;
    packet->dataSeqnum = ++dataSeqnum;

    if (localAddress != 0x0796) {
        if (!islRead(&packet->islLight, true)) {
            PRINT("islRead failed\n");
            packet->islLight = 0xffff;
        }
        packet->sq100Light = 0xffff;
    } else {
        packet->islLight = 0xffff;
        if (!readAds(&packet->sq100Light)) {
            PRINT("readAdsRegister failed\n");
            packet->sq100Light = 0xffff;
        }
    }

    packet->internalVoltage = adcRead(ADC_INTERNAL_VOLTAGE);
    packet->internalTemperature = adcRead(ADC_INTERNAL_TEMPERATURE);

    DPRINT("read hum\n");
    packet->sht75Humidity = humidityRead();
    packet->sht75Temperature = temperatureRead();
    DPRINT("read done\n");

    packet->crc = crc16((uint8_t *) packet, sizeof(*packet) - 2);

#if WRITE_TO_FLASH
    if (extFlashAddress < EXT_FLASH_SIZE) {
        DPRINT("Writing to flash\n");
        extFlashWrite(extFlashAddress, packet, sizeof(*packet));
        DataPacket_t verifyRecord;
        memset(&verifyRecord, 0, sizeof(verifyRecord));
        extFlashRead(extFlashAddress, &verifyRecord, sizeof(verifyRecord));
        if (memcmp(packet, &verifyRecord, sizeof(verifyRecord))) {
            ASSERT("writing in flash failed!" && false);
        }
        extFlashAddress += sizeof(verifyRecord);
    }
#endif

    humidityOff();
    ledOff();
}