int main(/*int argc, char* argv[] */) { printf("\r\nConfiguration demo started\n"); /** * Initialize Kaa client. */ kaa_error_t error_code = kaa_client_create(&kaa_client, NULL); KAA_DEMO_RETURN_IF_ERROR(error_code, "Failed create Kaa client"); kaa_configuration_root_receiver_t receiver = { NULL, &kaa_demo_configuration_receiver }; error_code = kaa_configuration_manager_set_root_receiver(kaa_client_get_context(kaa_client)->configuration_manager, &receiver); KAA_DEMO_RETURN_IF_ERROR(error_code, "Failed to add configuration receiver"); kaa_demo_print_configuration_message(kaa_configuration_manager_get_configuration(kaa_client_get_context(kaa_client)->configuration_manager)); /** * Start Kaa client main loop. */ error_code = kaa_client_start(kaa_client, NULL, NULL, 0); KAA_DEMO_RETURN_IF_ERROR(error_code, "Failed to start Kaa main loop"); /** * Destroy Kaa client. */ kaa_client_destroy(kaa_client); printf("Configuration demo stopped\n"); return error_code; }
void test_response(void **state) { (void)state; const size_t response_size = kaa_aligned_size_get(KAA_CONFIGURATION_DATA_LENGTH) + sizeof(uint32_t); uint8_t response[response_size]; uint8_t *response_cursor = response; *((uint32_t *) response_cursor) = KAA_HTONL(KAA_CONFIGURATION_DATA_LENGTH); response_cursor += sizeof(uint32_t); memcpy(response_cursor, KAA_CONFIGURATION_DATA, KAA_CONFIGURATION_DATA_LENGTH); kaa_platform_message_reader_t *reader = NULL; ASSERT_EQUAL(kaa_platform_message_reader_create(&reader, response, response_size), KAA_ERR_NONE); bool is_callback_invoked = false; kaa_configuration_root_receiver_t receiver = { &is_callback_invoked, &on_configuration_updated }; ASSERT_EQUAL(kaa_configuration_manager_set_root_receiver(config_manager, &receiver), KAA_ERR_NONE); ASSERT_EQUAL(kaa_configuration_manager_handle_server_sync(config_manager, reader, CONFIG_RESPONSE_FLAGS, response_size), KAA_ERR_NONE); ASSERT_EQUAL(is_callback_invoked, true); const kaa_root_configuration_t *root_config = kaa_configuration_manager_get_configuration(config_manager); ASSERT_EQUAL(strcmp(root_config->data->data, CONFIG_DATA_FIELD), 0); kaa_bytes_t *uuid = (kaa_bytes_t *) root_config->__uuid->data; ASSERT_EQUAL(uuid->size, CONFIG_UUID_SIZE); ASSERT_EQUAL(memcmp(uuid->buffer, CONFIG_UUID, uuid->size), 0); kaa_platform_message_reader_destroy(reader); }
int main(/*int argc, char *argv[]*/) { /** * Initialise a board */ int ret = target_initialise(); if (ret < 0) { /* If console is failed to initialise, you will not see this message */ demo_printf("Failed to initialise a target\n"); return 1; } demo_printf("Configuration demo started\n"); /** * Initialize Kaa client. */ kaa_error_t error_code = kaa_client_create(&kaa_client, NULL); if (error_code) { demo_printf("Failed create Kaa client\n"); return 2; } kaa_configuration_root_receiver_t receiver = { NULL, &kaa_demo_configuration_receiver }; error_code = kaa_configuration_manager_set_root_receiver( kaa_client_get_context(kaa_client)->configuration_manager, &receiver); if (error_code) { demo_printf("Failed to add configuration receiver\n"); return 3; } kaa_demo_print_configuration_message( kaa_configuration_manager_get_configuration( kaa_client_get_context(kaa_client)->configuration_manager)); /** * Start Kaa client main loop. */ error_code = kaa_client_start(kaa_client, NULL, NULL, 0); if(error_code) { demo_printf("Failed to start Kaa main loop\n"); return 4; } /** * Destroy Kaa client. */ kaa_client_destroy(kaa_client); demo_printf("Configuration demo stopped\n"); return 0; }
int main(/*int argc, char *argv[]*/) { #ifdef CC32XX BoardInit(); wlan_configure(); sl_Start(0, 0, 0); wlan_connect("<SSID>", "<PASSWORD>", SL_SEC_TYPE_WPA_WPA2);//Into <SSID> and <PASSWORD> put your access point name and password #endif DEMO_LOG("Configuration demo started"); /** * Initialize Kaa client. */ kaa_error_t error_code = kaa_client_create(&kaa_client, NULL); KAA_DEMO_RETURN_IF_ERROR(error_code, "Failed create Kaa client"); kaa_configuration_root_receiver_t receiver = { NULL, &kaa_demo_configuration_receiver }; error_code = kaa_configuration_manager_set_root_receiver(kaa_client_get_context(kaa_client)->configuration_manager, &receiver); KAA_DEMO_RETURN_IF_ERROR(error_code, "Failed to add configuration receiver"); kaa_demo_print_configuration_message(kaa_configuration_manager_get_configuration(kaa_client_get_context(kaa_client)->configuration_manager)); /** * Start Kaa client main loop. */ error_code = kaa_client_start(kaa_client, NULL, NULL, 0); KAA_DEMO_RETURN_IF_ERROR(error_code, "Failed to start Kaa main loop"); /** * Destroy Kaa client. */ kaa_client_destroy(kaa_client); DEMO_LOG("Configuration demo stopped"); return error_code; }
int main(int argc, char *argv[]) { if (argc != 5) { printf("Please, input + or - for audio, video and vibro supporting and directory for key storage. (Need 4 arguments)\n"); exit(1); } mkdir(argv[4], 0777); chdir(argv[4]); /** * Initialize Kaa client. */ kaa_error_t error_code = kaa_client_create(&kaa_client, NULL); if (error_code) { printf("Failed create Kaa client, error code %d\n", error_code); return EXIT_FAILURE; } kaa_profile_t *profile = kaa_profile_pager_client_profile_create(); if (!profile) { printf("Failed to create profile\n"); kaa_client_destroy(kaa_client); return EXIT_FAILURE; } const uint8_t *endpoint_key_hash = NULL; size_t endpoint_key_hash_length = 0; ext_get_sha1_base64_public(&endpoint_key_hash, &endpoint_key_hash_length); if (access(KAA_CONFIGURATION_STORAGE, F_OK) != -1) { printf("Waiting for new configuration for\n"); printf("Endpoint ID %.*s\n", (int)endpoint_key_hash_length, endpoint_key_hash); } printf("- - -\n"); printf("Endpoint ID %.*s\n", (int)endpoint_key_hash_length, endpoint_key_hash); profile->audio_support = set_client_parameter(argv[1]); profile->video_support = set_client_parameter(argv[2]); profile->vibro_support = set_client_parameter(argv[3]); printf("Profiling body (have audio-, video-, vibro-support):\n"); printf("%s - %s - %s\n", profile->audio_support ? "true" : "false", profile->video_support ? "true" : "false", profile->vibro_support ? "true" : "false"); error_code = kaa_profile_manager_update_profile(kaa_client_get_context(kaa_client)->profile_manager, profile); if (error_code) { printf("Failed to update profile, error code %d", error_code); kaa_client_destroy(kaa_client); return EXIT_FAILURE; } kaa_configuration_root_receiver_t receiver = { NULL, &kaa_demo_configuration_receiver, }; error_code = kaa_configuration_manager_set_root_receiver( kaa_client_get_context(kaa_client)->configuration_manager, &receiver); if (error_code) { printf("Failed to add configuration receiver\n"); kaa_client_destroy(kaa_client); return EXIT_FAILURE; } printf("Default configuration:\n"); kaa_demo_print_configuration_message( kaa_configuration_manager_get_configuration( kaa_client_get_context(kaa_client)->configuration_manager)); /** * Start Kaa client main loop. */ error_code = kaa_client_start(kaa_client, NULL, NULL, 0); if (error_code) { printf("Failed to start Kaa main loop, error code %d\n", error_code); kaa_client_destroy(kaa_client); return EXIT_FAILURE; } /** * Destroy Kaa client. */ kaa_client_destroy(kaa_client); return EXIT_SUCCESS; }
kaa_error_t kaa_client_start(kaa_client_t *kaa_client , external_process_fn external_process , void *external_process_context , kaa_time_t max_delay) { KAA_RETURN_IF_NIL(kaa_client, KAA_ERR_BADPARAM); kaa_error_t error_code = KAA_ERR_NONE; esp8266_error_t esp_error = ESP8266_ERR_NONE; kaa_client->external_process_fn = external_process; kaa_client->external_process_context = external_process_context; kaa_client->external_process_max_delay = max_delay; kaa_client->external_process_last_call = get_sys_milis(); KAA_LOG_INFO(kaa_client->kaa_context->logger, KAA_ERR_NONE, "Starting Kaa client..."); const kaa_configuration_root_receiver_t config_receiver = { kaa_client, configuration_update }; error_code = kaa_configuration_manager_set_root_receiver(kaa_client->kaa_context->configuration_manager, &config_receiver); if (error_code) { KAA_LOG_ERROR(kaa_client->kaa_context->logger, error_code, "Error registering Configuration root receiver"); return error_code; } const kaa_root_configuration_t *config = kaa_configuration_manager_get_configuration(kaa_client->kaa_context->configuration_manager); if (config) { configuration_update(kaa_client, config); } uint8 *buffer = NULL; size_t buffer_size = 0; int send_c = 0; int tmp; while (kaa_client->operate) { if ((get_sys_milis() - kaa_client->external_process_last_call) >= kaa_client->external_process_max_delay) { if (kaa_client->external_process_fn) { kaa_client->external_process_fn(kaa_client->external_process_context); } kaa_client->external_process_last_call = get_sys_milis(); } if (kaa_client->connection_state == KAA_CLIENT_WIFI_STATE_CONNECTED) { esp_error = esp8266_process(kaa_client->controler, kaa_client->external_process_max_delay); if (esp_error) { KAA_LOG_ERROR(kaa_client->kaa_context->logger, KAA_ERR_NONE, "ESP8266 process failed code: %d", esp_error); kaa_client_esp8266_error(kaa_client); } //Check Kaa channel is ready to transmit something if (kaa_client->channel_id > 0) { if (kaa_client->channel_state == KAA_CLIENT_CHANNEL_STATE_NOT_CONNECTED) { error_code = kaa_client_process_channel_disconnected(kaa_client); } else if (kaa_client->channel_state == KAA_CLIENT_CHANNEL_STATE_CONNECTED) { error_code = kaa_client_process_channel_connected(kaa_client); } } else { //No initialized channels if (kaa_client->boostrap_complete) { KAA_LOG_INFO(kaa_client->kaa_context->logger, KAA_ERR_NONE, "Channel(0x%08X) Boostrap complete, reinitializing to Operations ...", kaa_client->channel_id); kaa_client->boostrap_complete = false; kaa_client_deinit_channel(kaa_client); kaa_client_init_channel(kaa_client, KAA_CLIENT_CHANNEL_TYPE_OPERATIONS); } else { KAA_LOG_INFO(kaa_client->kaa_context->logger, KAA_ERR_NONE, "Channel(0x%08X) Operations error, reinitializing to Bootstrap ...", kaa_client->channel_id); kaa_client->boostrap_complete = true; kaa_client_deinit_channel(kaa_client); kaa_client_init_channel(kaa_client, KAA_CLIENT_CHANNEL_TYPE_BOOTSTRAP); } } } else { kaa_client_state_process(kaa_client); } } KAA_LOG_INFO(kaa_client->kaa_context->logger, KAA_ERR_NONE, "Kaa client Stopped"); return error_code; }
static void APP_main() { ip_connected = false; kaa_started = false; kaa_error_t kaa_error = KAA_ERR_NONE; { //Used to limit kaa_props visibility, it creates on stack and release once is used kaa_client_props_t kaa_props; kaa_props.max_update_time = 2; kaa_error = kaa_client_create(&kaa_client, &kaa_props); if (kaa_error) { sndc_printf("Error %d initializing Kaa client \n",kaa_error); return; } } kaa_list_t *zones = kaa_list_create(); int i = 0; for(; i < LIGHT_ZONES_COUNT; ++i) { sndc_io_setMode(light_zones[i], IO_MODE_OUTPUT); sndc_io_write(light_zones[i], LIGHT_OFF); int32_t *zone_id = (int32_t *) KAA_MALLOC(sizeof(int32_t)); *zone_id = i; kaa_list_push_front(zones, zone_id); } kaa_profile_street_lights_profile_t *profile = kaa_profile_street_lights_profile_create(); profile->light_zones = zones; kaa_profile_manager_update_profile(kaa_client_get_context(kaa_client)->profile_manager, profile); profile->destroy(profile); /** * Configuration example, below is how to configure and read default configuration values */ kaa_configuration_root_receiver_t receiver = { NULL, &kaa_on_configuration_updated }; kaa_error = kaa_configuration_manager_set_root_receiver(kaa_client_get_context(kaa_client)->configuration_manager, &receiver); sndc_printf("Configuration setting done. %d\n", kaa_error); //sndc_thrd_delay(TRACE_DELAY * SNDC_MILLISECOND); const kaa_root_configuration_t *root_config = kaa_configuration_manager_get_configuration(kaa_client_get_context(kaa_client)->configuration_manager); kaa_on_configuration_updated(NULL, root_config); //set SW2 button as key input //sndc_io_ctrl(BUTTON, // IO_PIN_FUNC_PULL_UP, // IO_PIN_DRIVE_DEFAULT, // IO_PIN_SLEW_RATE_DEFAULT); //sndc_io_setMode(BUTTON, IO_MODE_KEY); //sndc_device_config = sndc_config_get(); /* clean all profiles */ //sndc_profile_eraseAll(); //sndc_printf("Press SW2 to start test. \n"); start_client(); //infinite thread loop, button press is monitored by system events while(1) { if (ip_connected && !kaa_started) { kaa_client_start(kaa_client, NULL, NULL, 0); kaa_started = true; } //thread sleep for 500 ms sndc_thrd_delay(500 * SNDC_MILLISECOND); } }
int main(/*int argc, char *argv[]*/) { /** * Initialise a board */ int ret = target_initialize(); if (ret < 0) { /* If console is failed to initialise, you will not see this message */ demo_printf("Failed to initialise a target\r\n"); return EXIT_FAILURE; } demo_printf("Configuration demo started\r\n"); /** * Initialize Kaa client. */ kaa_error_t error_code = kaa_client_create(&kaa_client, NULL); if (error_code) { demo_printf("Failed create Kaa client\r\n"); return EXIT_FAILURE; } /* * Set the handler for configuration updates. */ kaa_configuration_root_receiver_t receiver = { NULL, &kaa_demo_configuration_receiver }; error_code = kaa_configuration_manager_set_root_receiver( kaa_client_get_context(kaa_client)->configuration_manager, &receiver); if (error_code) { demo_printf("Failed to add configuration receiver\r\n"); return EXIT_FAILURE; } /* * Display default configuration. */ kaa_demo_print_configuration_message( kaa_configuration_manager_get_configuration( kaa_client_get_context(kaa_client)->configuration_manager)); /* * Obtain and display endpoint ID (represented by the EP key hash). */ const uint8_t *endpoint_key_hash = NULL; size_t endpoint_key_hash_length = 0; ext_get_sha1_base64_public(&endpoint_key_hash, &endpoint_key_hash_length); printf("Endpoint ID: %.*s\r\n", (int)endpoint_key_hash_length, endpoint_key_hash); /** * Start Kaa client main loop. */ error_code = kaa_client_start(kaa_client, NULL, NULL, 0); if(error_code) { demo_printf("Failed to start Kaa main loop\r\n"); return EXIT_FAILURE; } /** * Destroy Kaa client. */ kaa_client_destroy(kaa_client); return EXIT_SUCCESS; }