コード例 #1
0
bool setupGraphics( int w, int h )
{
	LOGI( "setupGraphics(%d, %d)", w, h );

	printGLString( "Version", GL_VERSION );
	printGLString( "Vendor", GL_VENDOR );
	printGLString( "Renderer", GL_RENDERER );
	printGLString( "Extensions", GL_EXTENSIONS );

	glGenBuffers( 1, &g_triangleVBO );
	glBindBuffer( GL_ARRAY_BUFFER, g_triangleVBO );
	glBufferData( GL_ARRAY_BUFFER, vertex_size + texcoord_size, 0, GL_STATIC_DRAW );
	glBufferSubData( GL_ARRAY_BUFFER, 0, vertex_size, g_vertices ); // Start at index 0, to length of vertex_size.
	glBufferSubData( GL_ARRAY_BUFFER, vertex_size, texcoord_size, g_textureCoordinates ); // Append texcoord data to vertex data.

	glGenBuffers( 1, &g_triangleIBO );
	glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, g_triangleIBO );
	glBufferData( GL_ELEMENT_ARRAY_BUFFER, sizeof(GLushort)*6, g_indices, GL_STATIC_DRAW );

//	glViewport( 0, 0, w, h );
//	checkGlError( "glViewport" );

	g_nowTime = getCurrentTimeInSeconds();
	g_prevTime = g_nowTime;

	return true;
}
コード例 #2
0
ファイル: data_api.c プロジェクト: enableiot/iotkit-lib-c
/**
 * REST API to submit data along with sensor location
 *
 * @param cname specifies the component name
 * @param value specifies the value
 * @param latitide specifies the geo location - latitude of the measurement
 * @param longitude specifies the geo location - longitude of the measurement
 * @param height specifies the physical height of the component during the measurement
 * @return returns the result received from server, otherwise NULL
 */
char *submitDataWithLoc(char *cname, char *value, char *latitude, char *longitude, char *height) {
    struct curl_slist *headers = NULL;
    char *url;
    char body[BODY_SIZE_MED];
    char *cid = NULL;
    char currentTimeInMills[BODY_SIZE_MED];
    char *deviceAuthorizationHeader = (char *)getDeviceAuthorizationToken();
    HttpResponse *response = NULL;

    if(deviceAuthorizationHeader == NULL) {
        fprintf(stderr, "submitData::Device Authorization Token not available\n");
        return NULL;
    }

    response = (HttpResponse *)malloc(sizeof(HttpResponse));
    response->code = 0;
    response->data = NULL;

    if(!cname) {
        fprintf(stderr, "submitData::Component Name cannot be NULL\n");
        return NULL;
    }

    cid = getSensorComponentId(cname);
    if(!cid) {
        fprintf(stderr, "submitData::Component is not registered\n");
        return NULL;
    }

    if(!value) {
        fprintf(stderr, "submitData::Value cannot be NULL\n");
        return NULL;
    }

    if(!configurations.data_account_id) {
        fprintf(stderr, "submitData::Account is NULL. Device appears to be unactivated\n");
        return NULL;
    }

    if(prepareUrl(&url, configurations.base_url, configurations.submit_data, NULL)) {
        appendHttpHeader(&headers, HEADER_CONTENT_TYPE_NAME, HEADER_CONTENT_TYPE_JSON);
        appendHttpHeader(&headers, HEADER_AUTHORIZATION, deviceAuthorizationHeader);

        sprintf(currentTimeInMills, "%lld", (long long) getCurrentTimeInSeconds() * 1000L);

        strcpy(body, "{");
        strcat(body, "\"on\":");
        strcat(body, currentTimeInMills);
        strcat(body, ",\"accountId\":\"");
        strcat(body, configurations.data_account_id);
        strcat(body, "\",\"data\":[{\"componentId\":\"");
        strcat(body, cid);
        strcat(body, "\",\"on\":");
        strcat(body, currentTimeInMills);

        if(latitude != NULL && longitude != NULL) {
            strcat(body, ",\"loc\":[");

            strcat(body, latitude);
            strcat(body, ",");
            strcat(body, longitude);

            if(height) {
                strcat(body, ",");
                strcat(body, height);
            }
            strcat(body, "]");
        }

        strcat(body, ",\"value\":\"");
        strcat(body, value);
        strcat(body, "\"}]}");

        #if DEBUG
            printf("Prepared BODY is %s\n", body);
        #endif

        doHttpPost(url, headers, body, response);

        return createHttpResponseJson(response);
    }

    return NULL;
}
コード例 #3
0
int main(void) {
    char *response = NULL;
    AttributeFilter *valueFilter = NULL;
    AggregatedReportInterface *aggregatedReportInterfaceObj = NULL;

    iotkit_init();

    aggregatedReportInterfaceObj = createAggregatedReportInterface();

    setReportStartTimestamp(aggregatedReportInterfaceObj, 1413504889L);
    setReportEndTimestamp(aggregatedReportInterfaceObj, getCurrentTimeInSeconds());

    addAggregationMethods(aggregatedReportInterfaceObj, "average");
    addAggregationMethods(aggregatedReportInterfaceObj, "min");
    addAggregationMethods(aggregatedReportInterfaceObj, "max");

  /*  addDimensions(aggregatedReportInterfaceObj, "dimen1");
    addDimensions(aggregatedReportInterfaceObj, "dimen2");
    addDimensions(aggregatedReportInterfaceObj, "dimen3");

    setOffset(aggregatedReportInterfaceObj, 0);
    setLimit(aggregatedReportInterfaceObj, 0); */

    setReportCountOnly(aggregatedReportInterfaceObj, true);
    setOutputType(aggregatedReportInterfaceObj, "json");

    addReportDeviceIds(aggregatedReportInterfaceObj, "ff-32-dd-ba-bb-cc");
    addReportDeviceIds(aggregatedReportInterfaceObj, "02-00-86-81-77-18");
    addReportDeviceIds(aggregatedReportInterfaceObj, "02-00-86-81-77-19");

    addReportGatewayIds(aggregatedReportInterfaceObj, "ff-32-dd-ba-bb-cc");
    addReportGatewayIds(aggregatedReportInterfaceObj, "02-00-86-81-77-14");
    addReportGatewayIds(aggregatedReportInterfaceObj, "02-00-86-81-77-15");

    addReportComponentIds(aggregatedReportInterfaceObj, "garage1");
    addReportComponentIds(aggregatedReportInterfaceObj, "garage2");
    addReportComponentIds(aggregatedReportInterfaceObj, "madras9");

    /*addReportSortInfo(aggregatedReportInterfaceObj, "sortField1", "ASC");
    addReportSortInfo(aggregatedReportInterfaceObj, "sortField2", "DESC");

/////////////////////////
    valueFilter = createAttributeFilterObject("filter_1");
    addAttributeFilterValues(valueFilter, "value1");
    addAttributeFilterValues(valueFilter, "value2");

    addFilters(aggregatedReportInterfaceObj, valueFilter);
*/

    response = aggregatedReportInterface(aggregatedReportInterfaceObj);

    printf("Response Received :%s\n", response);

    iotkit_cleanup();

    if(checkResponseValue(response, 200) == true) {
        exit(EXIT_SUCCESS);
    }

    exit(EXIT_FAILURE);
}
コード例 #4
0
void renderFrame()
{
	g_nowTime = getCurrentTimeInSeconds();
	double elapsed = g_nowTime - g_prevTime;




//	// Crappy test code!
//
//	// Play a long sound that other sounds must play simultaneous with.
//	elapsedTimeSinceLastJetPackAudio += elapsed;
//
//	if( elapsedTimeSinceLastJetPackAudio > 5.0 )
//	{
//		AudioPlayMsg msg( jetpack5Sound, 0.5f, 0 );
//		SendMessage( Msg_Play_Audio, &msg, 0, 0 );
//
//		elapsedTimeSinceLastJetPackAudio = 0;
//	}
//
//	// Play a very short sound that plays very often!
//	elapsedTimeSinceLastThrowAudio += elapsed;
//
//	if( elapsedTimeSinceLastThrowAudio > 0.5 )
//	{
//		AudioPlayMsg msg( snowballthrowSound, 1.0f, 0 );
//		SendMessage( Msg_Play_Audio, &msg, 0, 0 );
//
//		elapsedTimeSinceLastThrowAudio = 0;
//	}
//
//	// Play a few other sounds on top of the long and short and long sound.
//	elapsedTimeSinceLastAudio += elapsed;
//
//	if( elapsedTimeSinceLastAudio > 2.0 )
//	{
//		if( soundToPlay == 0 && jumponmonsterSound != 0 )
//		{
//			AudioPlayMsg msg( jumponmonsterSound, 1.0f, 0 );
//			SendMessage( Msg_Play_Audio, &msg, 0, 0 );
//		}
//		else if( soundToPlay == 1 && chillSound != 0 )
//		{
//			AudioPlayMsg msg( chillSound, 1.0f, 0 );
//			SendMessage( Msg_Play_Audio, &msg, 0, 0 );
//		}
//		else if( soundToPlay == 2 && collectSound != 0 )
//		{
//			AudioPlayMsg msg( collectSound, 1.0f, 0 );
//			SendMessage( Msg_Play_Audio, &msg, 0, 0 );
//		}
//
//		++soundToPlay;
//
//		if( soundToPlay > 2 )
//			soundToPlay = 0;
//
//		elapsedTimeSinceLastAudio = 0;
//	}



	elapsedTimeSinceLastNameChange += elapsed;

	if( elapsedTimeSinceLastNameChange > 2.0 )
	{
		if( name_texture_id != 0 )
		{
			glDeleteTextures( 1, &name_texture_id );
		}

		if( nameToUse == 0 )
		{
			GenerateScoremarkerMsg msg( "Johnny" );

			if( SendMessage( Msg_Generate_Scoremarker, &msg, 0, 0 ) )
			{
				name_texture_id = msg.texture_id_;
			}
		}
		else if( nameToUse == 1 )
		{
			GenerateScoremarkerMsg msg( "Billy" );

			if( SendMessage( Msg_Generate_Scoremarker, &msg, 0, 0 ) )
			{
				name_texture_id = msg.texture_id_;
			}
		}
		else if( nameToUse == 2 )
		{
			GenerateScoremarkerMsg msg( "Freddy" );

			if( SendMessage( Msg_Generate_Scoremarker, &msg, 0, 0 ) )
			{
				name_texture_id = msg.texture_id_;
			}
		}

		++nameToUse;

		if( nameToUse > 2 )
			nameToUse = 0;

		elapsedTimeSinceLastNameChange = 0;
	}



	glClearColor( 0.0f, 0.0f, 0.0f, 1.0f );
	checkGlError( "glClearColor" );
	glClear( GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT );
	checkGlError( "glClear" );

	static float rotationY = 0.0f;
	rotationY += (elapsed * 50.0f);

	if( rotationY > 360.0f )
		rotationY = 0.0f;

	glMatrixMode( GL_MODELVIEW );
    glLoadIdentity();
    glTranslatef( 0, 0, -4 );
    glRotatef( rotationY, 0.0f, 1.0f, 0.0f );

	glEnable( GL_TEXTURE_2D );
	glBindTexture( GL_TEXTURE_2D, name_texture_id );

	glBindBuffer( GL_ARRAY_BUFFER, g_triangleVBO );
	glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, g_triangleIBO );

	glEnableClientState( GL_VERTEX_ARRAY );
	glEnableClientState( GL_TEXTURE_COORD_ARRAY );

	glColor4f( 1.0f, 1.0f, 1.0f, 1.0f );

	glVertexPointer( 3, GL_FLOAT, 0, (GLvoid*)((char*)NULL) );
	glTexCoordPointer( 2, GL_FLOAT, 0, (GLvoid*)((char*)NULL+vertex_size) );

	glDrawElements( GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, BUFFER_OFFSET(0) );

    glDisableClientState( GL_VERTEX_ARRAY );
    glDisableClientState( GL_TEXTURE_COORD_ARRAY );

    glBindBuffer( GL_ARRAY_BUFFER, 0 );
    glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, 0 );
    glDisable( GL_TEXTURE_2D );

	g_prevTime = g_nowTime;
}