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; }
/** * 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; }
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); }
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; }