void test_list_push_front() { KAA_TRACE_IN(logger); kaa_list_t *list = kaa_list_create(); ASSERT_NOT_NULL(list); int32_t *number; int node_number = 2; for (int i = 0; i < node_number; ++i) { number = (int32_t *)KAA_MALLOC(sizeof(int32_t *)); ASSERT_NOT_NULL(number); *number = rand(); kaa_list_push_front(list, number); } ASSERT_EQUAL(kaa_list_get_size(list), node_number); ASSERT_NOT_NULL(kaa_list_begin(list)); ASSERT_NULL(kaa_list_prev(kaa_list_begin(list))); ASSERT_EQUAL((*(int32_t *)kaa_list_get_data(kaa_list_begin(list))), *number); kaa_list_destroy(list, NULL); KAA_TRACE_OUT(logger); }
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); } }