int os_perf_init(void) { int ringsize, size; s_profiling_recbuf = NULL; s_ll_recbuf = NULL; s_partpause_enabled = B_FALSE; ringsize = pf_ringsize_init(); size = ((ringsize / sizeof (pf_profiling_rbrec_t)) + 1) * sizeof (pf_profiling_rec_t); if ((s_profiling_recbuf = zalloc(size)) == NULL) { return (-1); } profiling_init(&s_profiling_conf); size = ((ringsize / sizeof (pf_ll_rbrec_t)) + 1) * sizeof (pf_ll_rec_t); if ((s_ll_recbuf = zalloc(size)) == NULL) { free(s_profiling_recbuf); s_profiling_recbuf = NULL; return (-1); } ll_init(&s_ll_conf); return (0); }
void auto_init(void) { #ifdef MODULE_BOARD_DISPLAY extern void lcd_init(); lcd_init(); DEBUG("DISP OK"); #endif #ifdef MODULE_DISPLAY_PUTCHAR extern void init_display_putchar(); init_display_putchar(); DEBUG("DISP OK"); #endif #ifdef MODULE_HWTIMER DEBUG("Auto init hwtimer module.\n"); hwtimer_init(); #endif #ifdef MODULE_VTIMER DEBUG("Auto init vtimer module.\n"); vtimer_init(); #endif #ifdef MODULE_UART0 DEBUG("Auto init uart0 module.\n"); board_uart0_init(); #endif #ifdef MODULE_RTC DEBUG("Auto init rtc module.\n"); rtc_init(); rtc_enable(); #endif #ifdef MODULE_SHT11 DEBUG("Auto init SHT11 module.\n"); sht11_init(); #endif #ifdef MODULE_GPIOINT DEBUG("Auto init gpioint module.\n"); gpioint_init(); #endif #ifdef MODULE_CC110X DEBUG("Auto init CC1100 module.\n"); cc1100_init(); #endif #ifdef MODULE_LTC4150 DEBUG("Auto init ltc4150 module.\n"); ltc4150_init(); #endif #ifdef MODULE_MCI DEBUG("Auto init mci module.\n"); MCI_initialize(); #endif #ifdef MODULE_PROFILING extern void profiling_init(void); profiling_init(); #endif main(); }
int main() { const Pin pins_stack[] = {PINS_STACK}; PIO_Configure(pins_stack, PIO_LISTSIZE(pins_stack)); brick_hardware_version[0] = BRICK_HARDWARE_VERSION_MAJOR; brick_hardware_version[1] = BRICK_HARDWARE_VERSION_MINOR; brick_hardware_version[2] = BRICK_HARDWARE_VERSION_REVISION; brick_init(); wdt_restart(); #ifdef PROFILING profiling_init(); #endif if(usb_is_connected()) { logi("Configure as USB device\n\r"); usb_init(); wdt_restart(); xTaskCreate(usb_message_loop, (signed char *)"usb_ml", 2000, NULL, 1, (xTaskHandle *)NULL); } else { usb_first_connection = false; logi("Configure as Stack Participant (SPI)\n\r"); spi_stack_slave_init(); wdt_restart(); xTaskCreate(spi_stack_slave_message_loop, (signed char *)"spi_ml", 2500, NULL, 1, (xTaskHandle *)NULL); } dc_init(); wdt_restart(); brick_init_start_tick_task(); wdt_restart(); vTaskStartScheduler(); }
int main() { profiling_init(); chrono_profiler cprof; profiling_register_backend(cprof, "chrono"); #ifdef HAVE_VTUNE vtune_profiler vtprof; profiling_register_backend(vtprof, "vtune"); #endif #ifdef HAVE_LIKWID likwid_profiler lwprof; profiling_register_backend(lwprof, "likwid"); #endif PARALLEL_REGION { profiling_init_parallel(); } PARALLEL_REGION { profiling_start("print"); std::cout << "Hello dudes, I'm gonna take a nap for a sec.\n"; profiling_stop("print"); profiling_start("sleep"); system("sleep 1"); profiling_stop("sleep"); profiling_start("overhead"); profiling_stop("overhead"); } profiling_backend("chrono").report(); return 0; }
void auto_init(void) { #ifdef MODULE_TINYMT32 random_init(0); #endif #ifdef MODULE_XTIMER DEBUG("Auto init xtimer module.\n"); xtimer_init(); #endif #ifdef MODULE_RTC DEBUG("Auto init rtc module.\n"); rtc_init(); #endif #ifdef MODULE_IO1_XPLAINED DEBUG("Auto init IO1 Xplained extension module.\n"); io1_xplained_auto_init(); #endif #ifdef MODULE_SHT11 DEBUG("Auto init SHT11 module.\n"); sht11_init(); #endif #ifdef MODULE_GPIOINT DEBUG("Auto init gpioint module.\n"); gpioint_init(); #endif #ifdef MODULE_LTC4150 DEBUG("Auto init ltc4150 module.\n"); ltc4150_init(); #endif #ifdef MODULE_MCI DEBUG("Auto init mci module.\n"); mci_initialize(); #endif #ifdef MODULE_PROFILING extern void profiling_init(void); profiling_init(); #endif #ifdef MODULE_GNRC_PKTBUF DEBUG("Auto init gnrc_pktbuf module\n"); gnrc_pktbuf_init(); #endif #ifdef MODULE_GNRC_PKTDUMP DEBUG("Auto init gnrc_pktdump module.\n"); gnrc_pktdump_init(); #endif #ifdef MODULE_GNRC_SIXLOWPAN DEBUG("Auto init gnrc_sixlowpan module.\n"); gnrc_sixlowpan_init(); #endif #ifdef MODULE_GNRC_IPV6 DEBUG("Auto init gnrc_ipv6 module.\n"); gnrc_ipv6_init(); #endif #ifdef MODULE_GNRC_UDP DEBUG("Auto init UDP module.\n"); gnrc_udp_init(); #endif #ifdef MODULE_DHT DEBUG("Auto init DHT devices.\n"); extern void dht_auto_init(void); dht_auto_init(); #endif #ifdef MODULE_LWIP DEBUG("Bootstraping lwIP.\n"); lwip_bootstrap(); #endif #ifdef MODULE_GCOAP DEBUG("Auto init gcoap module.\n"); gcoap_init(); #endif /* initialize network devices */ #ifdef MODULE_AUTO_INIT_GNRC_NETIF #ifdef MODULE_AT86RF2XX extern void auto_init_at86rf2xx(void); auto_init_at86rf2xx(); #endif #ifdef MODULE_ATA8510 extern void auto_init_ata8510(void); auto_init_ata8510(); #endif #ifdef MODULE_CC2420 extern void auto_init_cc2420(void); auto_init_cc2420(); #endif #ifdef MODULE_ENCX24J600 extern void auto_init_encx24j600(void); auto_init_encx24j600(); #endif #ifdef MODULE_ENC28J60 extern void auto_init_enc28j60(void); auto_init_enc28j60(); #endif #ifdef MODULE_ETHOS extern void auto_init_ethos(void); auto_init_ethos(); #endif #ifdef MODULE_GNRC_SLIP extern void auto_init_slip(void); auto_init_slip(); #endif #ifdef MODULE_CC110X extern void auto_init_cc110x(void); auto_init_cc110x(); #endif #ifdef MODULE_CC2538_RF extern void auto_init_cc2538_rf(void); auto_init_cc2538_rf(); #endif #ifdef MODULE_XBEE extern void auto_init_xbee(void); auto_init_xbee(); #endif #ifdef MODULE_KW2XRF extern void auto_init_kw2xrf(void); auto_init_kw2xrf(); #endif #ifdef MODULE_NETDEV2_TAP extern void auto_init_netdev2_tap(void); auto_init_netdev2_tap(); #endif #ifdef MODULE_NORDIC_SOFTDEVICE_BLE extern void gnrc_nordic_ble_6lowpan_init(void); gnrc_nordic_ble_6lowpan_init(); #endif #ifdef MODULE_NRFMIN extern void gnrc_nrfmin_init(void); gnrc_nrfmin_init(); #endif #ifdef MODULE_W5100 extern void auto_init_w5100(void); auto_init_w5100(); #endif #endif /* MODULE_AUTO_INIT_GNRC_NETIF */ #ifdef MODULE_GNRC_IPV6_NETIF gnrc_ipv6_netif_init_by_dev(); #endif #ifdef MODULE_GNRC_UHCPC extern void auto_init_gnrc_uhcpc(void); auto_init_gnrc_uhcpc(); #endif /* initialize sensors and actuators */ #ifdef MODULE_AUTO_INIT_SAUL DEBUG("auto_init SAUL\n"); #ifdef MODULE_SAUL_GPIO extern void auto_init_gpio(void); auto_init_gpio(); #endif #ifdef MODULE_SAUL_ADC extern void auto_init_adc(void); auto_init_adc(); #endif #ifdef MODULE_LSM303DLHC extern void auto_init_lsm303dlhc(void); auto_init_lsm303dlhc(); #endif #ifdef MODULE_LPS331AP extern void auto_init_lps331ap(void); auto_init_lps331ap(); #endif #ifdef MODULE_ISL29020 extern void auto_init_isl29020(void); auto_init_isl29020(); #endif #ifdef MODULE_L3G4200D extern void auto_init_l3g4200d(void); auto_init_l3g4200d(); #endif #ifdef MODULE_LIS3DH extern void auto_init_lis3dh(void); auto_init_lis3dh(); #endif #ifdef MODULE_MMA8652 extern void auto_init_mma8652(void); auto_init_mma8652(); #endif #ifdef MODULE_SI70XX extern void auto_init_si70xx(void); auto_init_si70xx(); #endif #ifdef MODULE_BMP180 extern void auto_init_bmp180(void); auto_init_bmp180(); #endif #ifdef MODULE_JC42 extern void auto_init_jc42(void); auto_init_jc42(); #endif #ifdef MODULE_HDC1000 extern void auto_init_hdc1000(void); auto_init_hdc1000(); #endif #endif /* MODULE_AUTO_INIT_SAUL */ #ifdef MODULE_AUTO_INIT_GNRC_RPL #ifdef MODULE_GNRC_RPL extern void auto_init_gnrc_rpl(void); auto_init_gnrc_rpl(); #endif #endif /* MODULE_AUTO_INIT_GNRC_RPL */ }
void auto_init(void) { #ifdef MODULE_CONFIG DEBUG("Auto init loading config\n"); config_load(); #endif #ifdef MODULE_XTIMER DEBUG("Auto init xtimer module.\n"); xtimer_init(); #endif #ifdef MODULE_RTC DEBUG("Auto init rtc module.\n"); rtc_init(); #endif #ifdef MODULE_SHT11 DEBUG("Auto init SHT11 module.\n"); sht11_init(); #endif #ifdef MODULE_GPIOINT DEBUG("Auto init gpioint module.\n"); gpioint_init(); #endif #ifdef MODULE_LTC4150 DEBUG("Auto init ltc4150 module.\n"); ltc4150_init(); #endif #ifdef MODULE_MCI DEBUG("Auto init mci module.\n"); MCI_initialize(); #endif #ifdef MODULE_PROFILING extern void profiling_init(void); profiling_init(); #endif #ifdef MODULE_GNRC_PKTBUF DEBUG("Auto init gnrc_pktbuf module\n"); gnrc_pktbuf_init(); #endif #ifdef MODULE_GNRC_PKTDUMP DEBUG("Auto init gnrc_pktdump module.\n"); gnrc_pktdump_init(); #endif #ifdef MODULE_GNRC_SIXLOWPAN DEBUG("Auto init gnrc_sixlowpan module.\n"); gnrc_sixlowpan_init(); #endif #ifdef MODULE_GNRC_IPV6 DEBUG("Auto init gnrc_ipv6 module.\n"); gnrc_ipv6_init(); #endif #ifdef MODULE_GNRC_UDP DEBUG("Auto init UDP module.\n"); gnrc_udp_init(); #endif /* initialize network devices */ #ifdef MODULE_AUTO_INIT_GNRC_NETIF #ifdef MODULE_AT86RF2XX extern void auto_init_at86rf2xx(void); auto_init_at86rf2xx(); #endif #ifdef MODULE_ENCX24J600 extern void auto_init_encx24j600(void); auto_init_encx24j600(); #endif #ifdef MODULE_GNRC_SLIP extern void auto_init_slip(void); auto_init_slip(); #endif #ifdef MODULE_XBEE extern void auto_init_xbee(void); auto_init_xbee(); #endif #ifdef MODULE_KW2XRF extern void auto_init_kw2xrf(void); auto_init_kw2xrf(); #endif #ifdef MODULE_NETDEV2_TAP extern void auto_init_netdev2_tap(void); auto_init_netdev2_tap(); #endif #endif /* MODULE_AUTO_INIT_GNRC_NETIF */ #ifdef MODULE_GNRC_IPV6_NETIF gnrc_ipv6_netif_init_by_dev(); #endif }
void auto_init(void) { #ifdef MODULE_PRNG void auto_init_random(void); auto_init_random(); #endif #ifdef MODULE_XTIMER DEBUG("Auto init xtimer module.\n"); xtimer_init(); #endif #ifdef MODULE_MCI DEBUG("Auto init mci module.\n"); mci_initialize(); #endif #ifdef MODULE_PROFILING extern void profiling_init(void); profiling_init(); #endif #ifdef MODULE_GNRC_PKTBUF DEBUG("Auto init gnrc_pktbuf module\n"); gnrc_pktbuf_init(); #endif #ifdef MODULE_GNRC_PKTDUMP DEBUG("Auto init gnrc_pktdump module.\n"); gnrc_pktdump_init(); #endif #ifdef MODULE_GNRC_SIXLOWPAN DEBUG("Auto init gnrc_sixlowpan module.\n"); gnrc_sixlowpan_init(); #endif #ifdef MODULE_GNRC_IPV6 DEBUG("Auto init gnrc_ipv6 module.\n"); gnrc_ipv6_init(); #endif #ifdef MODULE_GNRC_UDP DEBUG("Auto init UDP module.\n"); gnrc_udp_init(); #endif #ifdef MODULE_GNRC_TCP DEBUG("Auto init TCP module\n"); gnrc_tcp_init(); #endif #ifdef MODULE_LWIP DEBUG("Bootstraping lwIP.\n"); lwip_bootstrap(); #endif #ifdef MODULE_OPENTHREAD extern void openthread_bootstrap(void); openthread_bootstrap(); #endif #ifdef MODULE_GCOAP DEBUG("Auto init gcoap module.\n"); gcoap_init(); #endif #ifdef MODULE_DEVFS DEBUG("Mounting /dev\n"); extern void auto_init_devfs(void); auto_init_devfs(); #endif #ifdef MODULE_GNRC_IPV6_NIB DEBUG("Auto init gnrc_ipv6_nib module.\n"); gnrc_ipv6_nib_init(); #endif #ifdef MODULE_SKALD DEBUG("Auto init Skald\n"); skald_init(); #endif #ifdef MODULE_RDCLI_COMMON DEBUG("Auto init rdcli_common module\n"); extern void rdcli_common_init(void); rdcli_common_init(); #endif #ifdef MODULE_RDCLI_SIMPLE_STANDALONE DEBUG("Auto init rdcli_simple module\n"); extern void rdcli_simple_run(void); rdcli_simple_run(); #endif #ifdef MODULE_ASYMCUTE DEBUG("Auto init Asymcute\n"); asymcute_handler_run(); #endif /* initialize network devices */ #ifdef MODULE_AUTO_INIT_GNRC_NETIF #ifdef MODULE_AT86RF2XX extern void auto_init_at86rf2xx(void); auto_init_at86rf2xx(); #endif #ifdef MODULE_MRF24J40 extern void auto_init_mrf24j40(void); auto_init_mrf24j40(); #endif #ifdef MODULE_CC2420 extern void auto_init_cc2420(void); auto_init_cc2420(); #endif #ifdef MODULE_ENCX24J600 extern void auto_init_encx24j600(void); auto_init_encx24j600(); #endif #ifdef MODULE_ENC28J60 extern void auto_init_enc28j60(void); auto_init_enc28j60(); #endif #ifdef MODULE_ETHOS extern void auto_init_ethos(void); auto_init_ethos(); #endif #ifdef MODULE_SLIPDEV extern void auto_init_slipdev(void); auto_init_slipdev(); #endif #ifdef MODULE_CC110X extern void auto_init_cc110x(void); auto_init_cc110x(); #endif #ifdef MODULE_CC2538_RF extern void auto_init_cc2538_rf(void); auto_init_cc2538_rf(); #endif #ifdef MODULE_XBEE extern void auto_init_xbee(void); auto_init_xbee(); #endif #ifdef MODULE_KW2XRF extern void auto_init_kw2xrf(void); auto_init_kw2xrf(); #endif #ifdef MODULE_NETDEV_TAP extern void auto_init_netdev_tap(void); auto_init_netdev_tap(); #endif #ifdef MODULE_SOCKET_ZEP extern void auto_init_socket_zep(void); auto_init_socket_zep(); #endif #ifdef MODULE_NORDIC_SOFTDEVICE_BLE extern void gnrc_nordic_ble_6lowpan_init(void); gnrc_nordic_ble_6lowpan_init(); #endif #ifdef MODULE_NRFMIN extern void gnrc_nrfmin_init(void); gnrc_nrfmin_init(); #endif #ifdef MODULE_W5100 extern void auto_init_w5100(void); auto_init_w5100(); #endif #ifdef MODULE_SX127X extern void auto_init_sx127x(void); auto_init_sx127x(); #endif #endif /* MODULE_AUTO_INIT_GNRC_NETIF */ #ifdef MODULE_GNRC_UHCPC extern void auto_init_gnrc_uhcpc(void); auto_init_gnrc_uhcpc(); #endif /* initialize NDN module after the network devices are initialized */ #ifdef MODULE_NDN_RIOT DEBUG("Auto init NDN module.\n"); ndn_init(); #endif /* initialize sensors and actuators */ #ifdef MODULE_SHT1X DEBUG("Auto init SHT1X module (SHT10/SHT11/SHT15 sensor driver).\n"); extern void auto_init_sht1x(void); auto_init_sht1x(); #endif #ifdef MODULE_AUTO_INIT_SAUL DEBUG("auto_init SAUL\n"); #ifdef MODULE_SAUL_GPIO extern void auto_init_gpio(void); auto_init_gpio(); #endif #ifdef MODULE_SAUL_ADC extern void auto_init_adc(void); auto_init_adc(); #endif #ifdef MODULE_LSM303DLHC extern void auto_init_lsm303dlhc(void); auto_init_lsm303dlhc(); #endif #ifdef MODULE_LPS331AP extern void auto_init_lps331ap(void); auto_init_lps331ap(); #endif #ifdef MODULE_ISL29020 extern void auto_init_isl29020(void); auto_init_isl29020(); #endif #ifdef MODULE_L3G4200D extern void auto_init_l3g4200d(void); auto_init_l3g4200d(); #endif #ifdef MODULE_LIS3DH extern void auto_init_lis3dh(void); auto_init_lis3dh(); #endif #ifdef MODULE_LIS3MDL extern void auto_init_lis3mdl(void); auto_init_lis3mdl(); #endif #ifdef MODULE_MAG3110 extern void auto_init_mag3110(void); auto_init_mag3110(); #endif #ifdef MODULE_MMA8X5X extern void auto_init_mma8x5x(void); auto_init_mma8x5x(); #endif #ifdef MODULE_MPL3115A2 extern void auto_init_mpl3115a2(void); auto_init_mpl3115a2(); #endif #ifdef MODULE_MPU9150 extern void auto_init_mpu9150(void); auto_init_mpu9150(); #endif #ifdef MODULE_GROVE_LEDBAR extern void auto_init_grove_ledbar(void); auto_init_grove_ledbar(); #endif #ifdef MODULE_PIR extern void auto_init_pir(void); auto_init_pir(); #endif #ifdef MODULE_SI70XX extern void auto_init_si70xx(void); auto_init_si70xx(); #endif #ifdef MODULE_BMP180 extern void auto_init_bmp180(void); auto_init_bmp180(); #endif #ifdef MODULE_BMX055 extern void auto_init_bmx055(void); auto_init_bmx055(); #endif #if defined(MODULE_BME280) || defined(MODULE_BMP280) extern void auto_init_bmx280(void); auto_init_bmx280(); #endif #ifdef MODULE_JC42 extern void auto_init_jc42(void); auto_init_jc42(); #endif #ifdef MODULE_TSL2561 extern void auto_init_tsl2561(void); auto_init_tsl2561(); #endif #ifdef MODULE_PULSE_COUNTER extern void auto_init_pulse_counter(void); auto_init_pulse_counter(); #endif #ifdef MODULE_HDC1000 extern void auto_init_hdc1000(void); auto_init_hdc1000(); #endif #ifdef MODULE_FXOS8700 extern void auto_init_fxos8700(void); auto_init_fxos8700(); #endif #ifdef MODULE_HTS221 extern void auto_init_hts221(void); auto_init_hts221(); #endif #ifdef MODULE_DHT extern void auto_init_dht(void); auto_init_dht(); #endif #ifdef MODULE_TMP006 extern void auto_init_tmp006(void); auto_init_tmp006(); #endif #ifdef MODULE_TCS37727 extern void auto_init_tcs37727(void); auto_init_tcs37727(); #endif #ifdef MODULE_VEML6070 extern void auto_init_veml6070(void); auto_init_veml6070(); #endif #ifdef MODULE_IO1_XPLAINED extern void auto_init_io1_xplained(void); auto_init_io1_xplained(); #endif #ifdef MODULE_ADXL345 extern void auto_init_adxl345(void); auto_init_adxl345(); #endif #ifdef MODULE_LSM6DSL extern void auto_init_lsm6dsl(void); auto_init_lsm6dsl(); #endif #ifdef MODULE_ADCXX1C extern void auto_init_adcxx1c(void); auto_init_adcxx1c(); #endif #ifdef MODULE_ADS101X extern void auto_init_ads101x(void); auto_init_ads101x(); #endif #ifdef MODULE_LIS2DH12 extern void auto_init_lis2dh12(void); auto_init_lis2dh12(); #endif #ifdef MODULE_SI114X extern void auto_init_si114x(void); auto_init_si114x(); #endif #ifdef MODULE_MMA7660 extern void auto_init_mma7660(void); auto_init_mma7660(); #endif #endif /* MODULE_AUTO_INIT_SAUL */ #ifdef MODULE_AUTO_INIT_GNRC_RPL #ifdef MODULE_GNRC_RPL extern void auto_init_gnrc_rpl(void); auto_init_gnrc_rpl(); #endif #endif /* MODULE_AUTO_INIT_GNRC_RPL */ /* initialize storage devices */ #ifdef MODULE_AUTO_INIT_STORAGE DEBUG("auto_init STORAGE\n"); #ifdef MODULE_SDCARD_SPI extern void auto_init_sdcard_spi(void); auto_init_sdcard_spi(); #endif #endif /* MODULE_AUTO_INIT_STORAGE */ #ifdef MODULE_AUTO_INIT_CAN DEBUG("auto_init CAN\n"); extern void auto_init_candev(void); auto_init_candev(); #endif /* MODULE_AUTO_INIT_CAN */ }
PROCESS_THREAD(test_process, ev, data) { static uint32_t time_start = 0; static uint32_t time_stop = 0; static uint32_t errors = 0; static uint32_t collisions = 0; uint32_t i = 0; uint32_t test_data[10] = {251284450, 371537862, 425973621, 81975339, 170405567, 225666122, 421777121, 118094495, 410814580, 414999832}; PROCESS_BEGIN(); PROCESS_PAUSE(); printf("Init done, starting test using redudancy implementation %s\n", REDUNDANCE.name); // Initialize the profiling profiling_init(); profiling_start(); // Measure the current time time_start = test_precise_timestamp(); // ----------------------------------- // Check if no bundles are stored printf("Making sure list is empty\n"); for(i=0; i<0xFFFFF; i++) { if( REDUNDANCE.check(i) ) { errors ++; printf("ERROR: %lu reported to be set but should be empty\n", i); } // Keep the watchdog happy if( i % 10 == 0 ) { watchdog_periodic(); } if( i % 10000 == 0 ) { printf("\t%lu...\n", i); } } // ----------------------------------- // Store 10 bundles printf("Storing 10 bundles...\n"); for(i=0; i<10; i++) { REDUNDANCE.set(test_data[i]); // Keep the watchdog happy if( i % 5 == 0 ) { watchdog_periodic(); } } // Keep the watchdog happy watchdog_periodic(); // ----------------------------------- // Retrieve the 10 bundles printf("Reading 10 bundles back...\n"); for(i=0; i<10; i++) { if( !REDUNDANCE.check(test_data[i]) ) { printf("ERROR: %lu should be set but is not\n", i); errors++; } else { printf("\t%lu is fine\n", test_data[i]); } } // Keep the watchdog happy watchdog_periodic(); // ----------------------------------- // Check how many bundle ID are actually reported as set printf("Counting collisions...\n"); for(i=0; i<0xFFFFF; i++) { if( REDUNDANCE.check(i) ) { printf("\tcollision at %lu\n", i); collisions ++; } // Keep the watchdog happy if( i % 10 == 0 ) { watchdog_periodic(); } if( i % 10000 == 0 ) { printf("\t%lu...\n", i); } } printf("We have %lu collisions\n", collisions); // Keep the watchdog happy watchdog_periodic(); // ----------------------------------- // Now set 1000 bundle IDs and check the last 10 of them printf("Setting 1000 bundle IDs...\n"); for(i=0; i<1000; i++) { REDUNDANCE.set(i); // Keep the watchdog happy if( i % 5 == 0 ) { watchdog_periodic(); } } // Keep the watchdog happy watchdog_periodic(); printf("Verifying IDs...\n"); for(i=990; i<1000; i++) { if( !REDUNDANCE.check(i) ) { printf("ERROR: %lu should be set but is not\n", i); errors++; } // Keep the watchdog happy if( i % 5 == 0 ) { watchdog_periodic(); } } printf("Done\n"); // Measure the current time time_stop = test_precise_timestamp(); watchdog_stop(); profiling_report("redundancy", 0); TEST_REPORT("No of errors", errors, 1, "errors"); TEST_REPORT("Duration", time_stop-time_start, CLOCK_SECOND, "s"); TEST_REPORT("No of collisions", collisions, 1, "collisions"); if( errors > 0 ) { TEST_FAIL("More than 1 error occurred"); } else { TEST_PASS(); } PROCESS_END(); }
PROCESS_THREAD(test_process, ev, data) { static int n; static uint32_t i; static int errors = 0; static struct etimer timer; static uint32_t time_start, time_stop; PROCESS_BEGIN(); /* Initialize the flash before the storage comes along */ PRINTF("Intializing Flash...\n"); BUNDLE_STORAGE.format(); PROCESS_PAUSE(); profiling_init(); profiling_start(); // Wait again etimer_set(&timer, CLOCK_SECOND); PROCESS_WAIT_UNTIL(etimer_expired(&timer)); printf("Init done, starting test using %s storage\n", BUNDLE_STORAGE.name); profiling_init(); profiling_start(); // Measure the current time time_start = test_precise_timestamp(); PRINTF("Create and Verify bundles in sequence\n"); for(i=0; i<TEST_BUNDLES; i++) { PROCESS_PAUSE(); if( my_create_bundle(i, &bundle_numbers[i], 3600) ) { PRINTF("\tBundle %lu created successfully \n", i); } else { PRINTF("\tBundle %lu could not be created \n", i); errors ++; continue; } if( my_verify_bundle(bundle_numbers[i], i) ) { PRINTF("\tBundle %lu read back successfully \n", i); } else { PRINTF("\tBundle %lu could not be read back and verified \n", i); errors ++; } } printf("Reinitialize storage\n"); /* Reinitialize the storage and see, if the bundles persist */ BUNDLE_STORAGE.init(); PRINTF("Verify and Delete bundles in sequence\n"); for(i=0; i<TEST_BUNDLES; i++) { if( my_verify_bundle(bundle_numbers[i], i) ) { PRINTF("\tBundle %lu read back successfully \n", i); } else { PRINTF("\tBundle %lu could not be read back and verified \n", i); errors ++; } n = BUNDLE_STORAGE.del_bundle(bundle_numbers[i], REASON_DELIVERED); if( n ) { PRINTF("\tBundle %lu deleted successfully\n", i); } else { PRINTF("\tBundle %lu could not be deleted\n", i); errors++; } } time_stop = test_precise_timestamp(); watchdog_stop(); profiling_report("persistent-storage", 0); TEST_REPORT("No of errors", errors, 1, "errors"); TEST_REPORT("Duration", time_stop-time_start, CLOCK_SECOND, "s"); if( errors > 0 ) { TEST_FAIL("More than 1 error occured"); } else { TEST_PASS(); } PROCESS_END(); }
PROCESS_THREAD(test_process, ev, data) { static int n; static int i; static int errors = 0; static struct etimer timer; static uint32_t time_start, time_stop; uint8_t buffer[128]; int bundle_length; struct mmem * bundle_original = NULL; struct mmem * bundle_restored = NULL; struct mmem * bundle_spare = NULL; uint32_t bundle_number; uint32_t bundle_number_spare; PROCESS_BEGIN(); PROCESS_PAUSE(); profiling_init(); profiling_start(); // Wait again etimer_set(&timer, CLOCK_SECOND); PROCESS_WAIT_UNTIL(etimer_expired(&timer)); /* Profile initialization separately */ profiling_stop(); watchdog_stop(); profiling_report("init", 0); watchdog_start(); printf("Init done, starting test using %s storage\n", BUNDLE_STORAGE.name); profiling_init(); profiling_start(); // Measure the current time time_start = test_precise_timestamp(); for(i=0; i<=1; i++) { struct mmem bla; if( i > 0 ) { mmem_alloc(&bla, 1); } printf("Serializing and deserializing bundle...\n"); if( my_create_bundle(0, &bundle_number, 3600) ) { printf("\tBundle created successfully \n"); } else { printf("\tBundle could not be created \n"); errors ++; } printf("Serializing and deserializing bundle...\n"); if( my_create_bundle(1, &bundle_number_spare, 3600) ) { printf("\tSpare Bundle created successfully \n"); } else { printf("\tSpare Bundle could not be created \n"); errors ++; } bundle_original = BUNDLE_STORAGE.read_bundle(bundle_number); if( bundle_original == NULL ) { printf("VERIFY: MMEM ptr is invalid\n"); errors ++; } bundle_spare = BUNDLE_STORAGE.read_bundle(bundle_number_spare); if( bundle_spare == NULL ) { printf("VERIFY: MMEM ptr is invalid\n"); errors ++; } // Fake timing information in the bundle to make verify successful struct bundle_t * bundle_original_bundle = (struct bundle_t *) MMEM_PTR(bundle_original); bundle_original_bundle->aeb_value_ms = 54; bundle_original_bundle->rec_time = clock_time(); // Serialize the bundle memset(buffer, 0, 128); bundle_length = bundle_encode_bundle(bundle_original, buffer, 128); if( bundle_length < 0 ) { printf("SERIALIZE: fail\n"); errors ++; } n = my_static_compare(buffer, bundle_length); if( n > 0 ) { printf("COMPARE: fail\n"); errors += n; } // Deserialize it bundle_restored = bundle_recover_bundle(buffer, bundle_length); if( bundle_restored == NULL ) { printf("DESERIALIZE: unable to recover\n"); errors ++; } n = my_compare_bundles(bundle_original, bundle_restored); if( n == 0 ) { printf("\tBundle serialized and deserialized successfully\n"); } else { printf("COMPARE: differences\n"); errors ++; } // Dellocate memory bundle_decrement(bundle_restored); bundle_restored = NULL; bundle_decrement(bundle_original); bundle_original = NULL; bundle_decrement(bundle_spare); bundle_spare = NULL; memset(buffer, 0, 128); // Delete bundle from storage n = BUNDLE_STORAGE.del_bundle(bundle_number, REASON_DELIVERED); if( n ) { printf("\tBundle deleted successfully\n"); } else { printf("\tBundle could not be deleted\n"); errors++; } printf("Comparing static bundle...\n"); if( my_create_bundle(0, &bundle_number, 3600) ) { printf("\tReference Bundle created successfully \n"); } else { printf("\ttReference Bundle could not be created \n"); errors ++; } bundle_original = BUNDLE_STORAGE.read_bundle(bundle_number); if( bundle_original == NULL ) { printf("VERIFY: MMEM ptr is invalid\n"); errors ++; } // Deserialize it bundle_restored = bundle_recover_bundle(static_compare_bundle, sizeof(static_compare_bundle)); if( bundle_restored == NULL ) { printf("DESERIALIZE: unable to recover static bundle\n"); errors ++; } // Deserialize it one more time bundle_spare = bundle_recover_bundle(static_compare_bundle, sizeof(static_compare_bundle)); if( bundle_spare == NULL ) { printf("DESERIALIZE: unable to recover static bundle\n"); errors ++; } n = my_compare_bundles(bundle_original, bundle_restored); if( n == 0 ) { printf("\tStatic Bundle verified successfully\n"); } else { printf("COMPARE: differences\n"); errors ++; } n = my_compare_bundles(bundle_original, bundle_spare); if( n == 0 ) { printf("\tStatic Bundle verified successfully\n"); } else { printf("COMPARE: differences\n"); errors ++; } // Dellocate memory bundle_decrement(bundle_restored); bundle_restored = NULL; bundle_decrement(bundle_original); bundle_original = NULL; bundle_decrement(bundle_spare); bundle_spare = NULL; } time_stop = test_precise_timestamp(); watchdog_stop(); profiling_report("serializer", 0); TEST_REPORT("No of errors", errors, 1, "errors"); TEST_REPORT("Duration", time_stop-time_start, CLOCK_SECOND, "s"); if( errors > 0 ) { TEST_FAIL("More than 0 errors occured"); } else { TEST_PASS(); } PROCESS_END(); }
void auto_init(void) { #ifdef MODULE_CONFIG DEBUG("Auto init loading config\n"); config_load(); #endif #ifdef MODULE_XTIMER DEBUG("Auto init xtimer module.\n"); xtimer_init(); #endif #ifdef MODULE_RTC DEBUG("Auto init rtc module.\n"); rtc_init(); #endif #ifdef MODULE_SHT11 DEBUG("Auto init SHT11 module.\n"); sht11_init(); #endif #ifdef MODULE_GPIOINT DEBUG("Auto init gpioint module.\n"); gpioint_init(); #endif #ifdef MODULE_LTC4150 DEBUG("Auto init ltc4150 module.\n"); ltc4150_init(); #endif #ifdef MODULE_MCI DEBUG("Auto init mci module.\n"); MCI_initialize(); #endif #ifdef MODULE_PROFILING extern void profiling_init(void); profiling_init(); #endif #ifdef MODULE_GNRC_PKTBUF DEBUG("Auto init gnrc_pktbuf module\n"); gnrc_pktbuf_init(); #endif #ifdef MODULE_GNRC_PKTDUMP DEBUG("Auto init gnrc_pktdump module.\n"); gnrc_pktdump_init(); #endif #ifdef MODULE_GNRC_SIXLOWPAN DEBUG("Auto init gnrc_sixlowpan module.\n"); gnrc_sixlowpan_init(); #endif #ifdef MODULE_GNRC_IPV6 DEBUG("Auto init gnrc_ipv6 module.\n"); gnrc_ipv6_init(); #endif #ifdef MODULE_GNRC_UDP DEBUG("Auto init UDP module.\n"); gnrc_udp_init(); #endif /* initialize network devices */ #ifdef MODULE_AUTO_INIT_GNRC_NETIF #ifdef MODULE_AT86RF2XX extern void auto_init_at86rf2xx(void); auto_init_at86rf2xx(); #endif #ifdef MODULE_ENCX24J600 extern void auto_init_encx24j600(void); auto_init_encx24j600(); #endif #ifdef MODULE_ENC28J60 extern void auto_init_enc28j60(void); auto_init_enc28j60(); #endif #ifdef MODULE_GNRC_SLIP extern void auto_init_slip(void); auto_init_slip(); #endif #ifdef MODULE_CC110X extern void auto_init_cc110x(void); auto_init_cc110x(); #endif #ifdef MODULE_XBEE extern void auto_init_xbee(void); auto_init_xbee(); #endif #ifdef MODULE_KW2XRF extern void auto_init_kw2xrf(void); auto_init_kw2xrf(); #endif #ifdef MODULE_NETDEV2_TAP extern void auto_init_netdev2_tap(void); auto_init_netdev2_tap(); #endif #endif /* MODULE_AUTO_INIT_GNRC_NETIF */ #ifdef MODULE_GNRC_IPV6_NETIF gnrc_ipv6_netif_init_by_dev(); #endif /* initialize sensors and actuators */ #ifdef MODULE_AUTO_INIT_SAUL DEBUG("auto_init SAUL\n"); #ifdef MODULE_SAUL_GPIO extern void auto_init_gpio(void); auto_init_gpio(); #endif #ifdef MODULE_LSM303DLHC extern void auto_init_lsm303dlhc(void); auto_init_lsm303dlhc(); #endif #ifdef MODULE_LPS331AP extern void auto_init_lps331ap(void); auto_init_lps331ap(); #endif #ifdef MODULE_ISL29020 extern void auto_init_isl29020(void); auto_init_isl29020(); #endif #ifdef MODULE_L3G4200D extern void auto_init_l3g4200d(void); auto_init_l3g4200d(); #endif #endif /* MODULE_AUTO_INIT_SAUL */ }