void bootstrap() { led_on(0); led_on(1); log_print_string("Device booted at time: %d\n", timer_get_counter_value()); console_print("Device Booted\r\n"); sched_register_task(&led_on_callback); sched_register_task(&led_off_callback); sched_register_task(&timer1_callback); timer_post_task_delay(&led_on_callback, TIMER_TICKS_PER_SEC); //timer_post_task_delay(&timer1_callback, 0x0000FFFF + (uint32_t)100); #if PLATFORM_NUM_BUTTONS > 0 int i= 0; for (i=0;i<PLATFORM_NUM_BUTTONS;i++) { ubutton_register_callback(i, &userbutton_callback); } #endif led_off(0); led_off(1); }
void bootstrap() { #ifdef HAS_LCD lcd_write_string("NOISE"); #endif #if NUM_USERBUTTONS > 1 ubutton_register_callback(0, &userbutton_callback); ubutton_register_callback(1, &userbutton_callback); #endif prepare_channel_indexes(); hw_radio_init(NULL, NULL); fifo_init(&uart_rx_fifo, uart_rx_buffer, sizeof(uart_rx_buffer)); console_set_rx_interrupt_callback(&uart_rx_cb); console_rx_interrupt_enable(true); sched_register_task(&read_rssi); sched_register_task(&start_rx); sched_register_task(&process_uart_rx_fifo); timer_post_task_delay(&start_rx, TIMER_TICKS_PER_SEC * 3); sched_register_task((&execute_sensor_measurement)); timer_post_task_delay(&execute_sensor_measurement, TEMPERATURE_PERIOD); measureTemperature(); }
void bootstrap() { DPRINT("Device booted at time: %d\n", timer_get_counter_value()); // TODO not printed for some reason, debug later id = hw_get_unique_id(); hw_radio_init(&alloc_new_packet, &release_packet); rx_cfg.channel_id = current_channel_id; tx_cfg.channel_id = current_channel_id; ubutton_register_callback(0, &userbutton_callback); ubutton_register_callback(1, &userbutton_callback); fifo_init(&uart_rx_fifo, uart_rx_buffer, sizeof(uart_rx_buffer)); uart_set_rx_interrupt_callback(&uart_rx_cb); uart_rx_interrupt_enable(true); sched_register_task(&start_rx); sched_register_task(&transmit_packet); sched_register_task(&start); sched_register_task(&process_uart_rx_fifo); current_state = STATE_CONFIG_DIRECTION; sched_post_task(&start); sched_post_task(&process_uart_rx_fifo); }
void bootstrap() { hw_radio_init(NULL, NULL); sched_register_task(&read_rssi); sched_register_task(&start_rx); sched_post_task(&start_rx); }
void bootstrap() { DPRINT("Device booted at time: %d\n", timer_get_counter_value()); #ifndef FRAMEWORK_LOG_BINARY console_print("\r\nPER TEST - commands:\r\n"); console_print(" CHANfffriii channel settings:\r\n"); console_print(" fff frequency : 433, 868, 915\r\n"); console_print(" r rate : L(ow) N(ormal) H(igh)\r\n"); console_print(" iii center_freq_index\r\n"); console_print(" TRANsss transmit a packet every sss seconds.\r\n"); console_print(" RECV receive packets\r\n"); console_print(" RSET reset module\r\n"); #endif id = hw_get_unique_id(); hw_radio_init(&alloc_new_packet, &release_packet); rx_cfg.channel_id = current_channel_id; tx_cfg.channel_id = current_channel_id; ubutton_register_callback(0, &userbutton_callback); ubutton_register_callback(1, &userbutton_callback); fifo_init(&uart_rx_fifo, uart_rx_buffer, sizeof(uart_rx_buffer)); console_set_rx_interrupt_callback(&uart_rx_cb); console_rx_interrupt_enable(); sched_register_task(&start_rx); sched_register_task(&transmit_packet); sched_register_task(&start); sched_register_task(&process_uart_rx_fifo); current_state = STATE_CONFIG_DIRECTION; sched_post_task(&start); sched_post_task(&process_uart_rx_fifo); #ifdef PLATFORM_EFM32GG_STK3700 #else char str[20]; channel_id_to_string(¤t_channel_id, str, sizeof(str)); lcd_write_line(6, str); #endif timer_post_task(&transmit_packet, TIMER_TICKS_PER_SEC * 1); }
void bootstrap() { log_print_string("Device booted at time: %d\n", timer_get_counter_value()); hw_radio_init(p_alloc, p_free); hw_radio_set_rx(&rx_cfg, rx_callback, rssi_valid); NG(tx_buffer).radio_packet.length = sizeof(packet_struct_t) - sizeof(hw_radio_packet_t); NG(tx_buffer).radio_packet.tx_meta.tx_cfg.channel_id = rx_cfg.channel_id; NG(tx_buffer).radio_packet.tx_meta.tx_cfg.syncword_class = rx_cfg.syncword_class; NG(tx_buffer).radio_packet.tx_meta.tx_cfg.eirp = 0; NG(tx_buffer).src_node = hw_get_unique_id(); NG(tx_buffer).dst_node = 0xFFFF; NG(tx_buffer).counter = 0; sched_register_task(&send_packet); timer_post_task_delay(&send_packet, TIMER_TICKS_PER_SEC + (get_rnd() %TIMER_TICKS_PER_SEC)); // NG(status).is_rx = false; // NG(status).is_sleep = true; // NG(status).tx_busy = false; // NG(status).rx_busy = false; // sched_register_task(&poll_status); // sched_post_task(poll_status); }
void d7asp_init(d7asp_init_args_t* init_args) { d7asp_state = D7ASP_STATE_IDLE; d7asp_init_args = init_args; current_request_id = NO_ACTIVE_REQUEST_ID; current_master_session.state = D7ASP_MASTER_SESSION_IDLE; sched_register_task(&flush_fifos); }
void bootstrap() { DPRINT("Device booted at time: %d\n", timer_get_counter_value()); // TODO not printed for some reason, debug later data[0] = PACKET_LENGTH-1; int i = 1; for (;i<PACKET_LENGTH;i++) data[i] = i; hw_radio_init(&alloc_new_packet, &release_packet); tx_packet->tx_meta.tx_cfg = tx_cfg; #ifdef RX_MODE sched_register_task(&start_rx); sched_post_task(&start_rx); #else sched_register_task(&transmit_packet); sched_post_task(&transmit_packet); #endif }
void bootstrap() { led_on(0); led_on(1); log_print_string("Device booted at time: %d\n", timer_get_counter_value()); sched_register_task(&led_on_callback); sched_register_task(&led_off_callback); sched_register_task(&timer1_callback); timer_post_task_delay(&led_on_callback, TIMER_TICKS_PER_SEC); timer_post_task_delay(&timer1_callback, 0x0000FFFF + (uint32_t)100); #if NUM_USERBUTTONS > 0 ubutton_register_callback(0, &userbutton_callback); ubutton_register_callback(1, &userbutton_callback); #endif led_off(0); led_off(1); }
void shell_init() { for(uint8_t i = 0; i < CMD_HANDLER_REGISTRATIONS_COUNT; i++) { cmd_handler_registrations[i].id = CMD_HANDLER_ID_NOT_SET; cmd_handler_registrations[i].cmd_handler_callback = NULL; } fifo_init(&cmd_fifo, cmd_buffer, sizeof(cmd_buffer)); console_set_rx_interrupt_callback(&uart_rx_cb); console_rx_interrupt_enable(); sched_register_task(&process_cmd_fifo); }
__LINK_C void __ubutton_init() { buttons[0].button_id = BUTTON0; buttons[1].button_id = BUTTON1; for(int i = 0; i < NUM_USERBUTTONS; i++) { memset(buttons[i].callbacks, 0, sizeof(buttons[i].callbacks)); buttons[i].cur_callback_id = BUTTON_QUEUE_SIZE; buttons[i].num_registered_callbacks = 0; error_t err = hw_gpio_configure_pin(buttons[i].button_id, true, gpioModeInput, 0); assert(err == SUCCESS); // TODO pull up or pull down to prevent floating err = hw_gpio_configure_interrupt(buttons[i].button_id, &button_callback, GPIO_FALLING_EDGE); assert(err == SUCCESS); } sched_register_task(&button_task); }
error_t hw_radio_init(alloc_packet_callback_t alloc_packet_cb, release_packet_callback_t release_packet_cb) { /* EZRadio response structure union */ ezradio_cmd_reply_t ezradioReply; alloc_packet_callback = alloc_packet_cb; release_packet_callback = release_packet_cb; current_state = HW_RADIO_STATE_UNKOWN; /* Initialize EZRadio device. */ DPRINT("INIT ezradioInit"); ezradioInit(&ezradio_int_callback); /* Print EZRadio device number. */ DPRINT("INIT ezradio_part_info"); ezradio_part_info(&ezradioReply); DPRINT(" Device: Si%04x\n\n", ezradioReply.PART_INFO.PART); /* Enable Packet Trace Interface */ //ezradio_set_property(RADIO_CONFIG_SET_PROPERTY_PTI_ENABLE); /* Fix registers not correct set by radio configurator */ // latch on sync word detect - currently no threshold comparison (todo: optimize) //ezradio_set_property(RADIO_CONFIG_SET_PROPERTY_MODEM_RSSI_CONTROL); // disable jump detection (todo: optimize) //ezradio_set_property(RADIO_CONFIG_SET_PROPERTY_MODEM_RSSI_CONTROL2); /* Reset radio fifos. */ DPRINT("INIT ezradioResetTRxFifo"); ezradioResetTRxFifo(); // configure default channel, eirp and syncword configure_channel(¤t_channel_id); configure_eirp(current_eirp); configure_syncword_class(current_rx_cfg.syncword_class, current_channel_id.channel_header.ch_coding); sched_register_task((&report_rssi)); switch_to_idle_mode(); }
void bootstrap() { DPRINT("Device booted at time: %d\n", timer_get_counter_value()); // TODO not printed for some reason, debug later #ifdef HAS_LCD lcd_write_string("cont tx"); #endif switch(current_channel_class) { // TODO only 433 for now case PHY_CLASS_NORMAL_RATE: channel_count = NORMAL_RATE_CHANNEL_COUNT; realloc(channel_indexes, channel_count); for(int i = 0; i < channel_count; i++) channel_indexes[i] = i * 8; break; case PHY_CLASS_LO_RATE: channel_count = LO_RATE_CHANNEL_COUNT; realloc(channel_indexes, channel_count); for(int i = 0; i < channel_count; i++) channel_indexes[i] = i; break; } #if NUM_USERBUTTONS > 1 ubutton_register_callback(0, &userbutton_callback); ubutton_register_callback(1, &userbutton_callback); #endif hw_radio_init(NULL, NULL); sched_register_task(&start); timer_post_task_delay(&start, TIMER_TICKS_PER_SEC * 5); }
void bootstrap() { DPRINT("Device booted at time: %d\n", timer_get_counter_value()); // TODO not printed for some reason, debug later #ifdef HAS_LCD lcd_write_string("cont TX \n"); #endif switch(current_channel_class) { case PHY_CLASS_NORMAL_RATE: channel_count = NORMAL_RATE_CHANNEL_COUNT; realloc(channel_indexes, channel_count); for(int i = 0; i < channel_count; i++) channel_indexes[i] = i * 8; break; case PHY_CLASS_LO_RATE: channel_count = LO_RATE_CHANNEL_COUNT; realloc(channel_indexes, channel_count); for(int i = 0; i < channel_count; i++) channel_indexes[i] = i; break; } #if PLATFORM_NUM_BUTTONS > 1 ubutton_register_callback(0, &userbutton_callback); ubutton_register_callback(1, &userbutton_callback); #endif hw_radio_init(&alloc_packet_callback, &release_packet_callback); sched_register_task(&start); timer_post_task_delay(&start, 500); }