int main(void) { // Create IP connection IPConnection ipcon; ipcon_create(&ipcon); // Create device object SoundIntensity si; sound_intensity_create(&si, UID, &ipcon); // Connect to brickd if(ipcon_connect(&ipcon, HOST, PORT) < 0) { fprintf(stderr, "Could not connect\n"); return 1; } // Don't use device before ipcon is connected // Register intensity callback to function cb_intensity sound_intensity_register_callback(&si, SOUND_INTENSITY_CALLBACK_INTENSITY, (void *)cb_intensity, NULL); // Set period for intensity callback to 0.05s (50ms) // Note: The intensity callback is only called every 0.05 seconds // if the intensity has changed since the last call! sound_intensity_set_intensity_callback_period(&si, 50); printf("Press key to exit\n"); getchar(); sound_intensity_destroy(&si); ipcon_destroy(&ipcon); // Calls ipcon_disconnect internally return 0; }
int main(void) { // Create IP connection IPConnection ipcon; ipcon_create(&ipcon); // Create device object SoundIntensity si; sound_intensity_create(&si, UID, &ipcon); // Connect to brickd if(ipcon_connect(&ipcon, HOST, PORT) < 0) { fprintf(stderr, "Could not connect\n"); return 1; } // Don't use device before ipcon is connected // Get current intensity uint16_t intensity; if(sound_intensity_get_intensity(&si, &intensity) < 0) { fprintf(stderr, "Could not get intensity, probably timeout\n"); return 1; } printf("Intensity: %d\n", intensity); printf("Press key to exit\n"); getchar(); sound_intensity_destroy(&si); ipcon_destroy(&ipcon); // Calls ipcon_disconnect internally return 0; }