void system_setup(void) { clock_setup(); mco_setup(); usb_setup(); systick_setup(); rng_setup(); battery_setup(); speaker_setup(); jack_setup(); // setup pad and screen interface_setup(); // setup and reset SAM2695 sam2695_setup(); wait_ms(100); sam2695_reset(); usbmidi_setup(); // init gfx and fill screen gfx_init(ssd1306_drawpixel, SSD1306_WIDTH, SSD1306_HEIGHT, GFX_FONT_SMALL); gfx_setRotation(GFX_ROT_180); gfx_fillScreen(OLED_BLACK); gfx_setTextColor(OLED_WHITE, OLED_BLACK); // gfx_setTextWrap(1); gfx_setTextSize(1); ssd1306_display(); }
void init(void) { fault_handling_setup(); reset_callback_register(); nap_version_check(); nap_auth_check(); nap_callbacks_setup(); rng_setup(); srand(random_int()); stm_unique_id_callback_register(); }
int main(void) { int i,j; rcc_setup(); gpio_setup(); rng_setup(); while(1){ uint32_t rnd; rnd = random_int(); for(i=0;i!=32;++i){ if ( (rnd & (1 << i))!=0 ) gpio_set(GPIOD, GPIO12); else gpio_clear(GPIOD, GPIO12); /* Delay */ for(j=0;j!=5000000;++j) __asm__("nop"); } } }
int main(void) { clock_setup(); gpio_setup(); usart_setup(115200); rng_setup(); int i; unsigned char output[32]; poly sk; unsigned char key_a[32], key_b[32]; unsigned char senda[NEWHOPE_SENDABYTES]; unsigned char sendb[NEWHOPE_SENDBBYTES]; for(i=0;i<NTESTS;i++) { /*send_USART_str((unsigned char *)"starting to keygen\n");*/ newhope_keygen(senda,&sk); /*send_USART_str((unsigned char *)"starting to sharedb\n");*/ newhope_sharedb(key_a,sendb,senda); /*send_USART_str((unsigned char *)"starting to shareda\n");*/ newhope_shareda(key_b,&sk,sendb); if(memcmp(key_a,key_b,32)) { sprintf((char *)output, "Error in keys"); send_USART_str(output); } } sprintf((char *)output, "done!"); send_USART_str(output); signal_host(); return 0; }
int main(void) { /* Initialise SysTick timer that will be used as the ChibiOS kernel tick * timer. */ STBase->RVR = SYSTEM_CLOCK / CH_FREQUENCY - 1; STBase->CVR = 0; STBase->CSR = CLKSOURCE_CORE_BITS | ENABLE_ON_BITS | TICKINT_ENABLED_BITS; /* Kernel initialization, the main() function becomes a thread with * priority NORMALPRIO and the RTOS is active. */ chSysInit(); /* Piksi hardware initialization. */ init(); settings_setup(); usarts_setup(); check_nap_auth(); static char nap_version_string[64] = {0}; nap_conf_rd_version_string(nap_version_string); log_info("NAP firmware version: %s\n", nap_version_string); /* Check we are running a compatible version of the NAP firmware. */ const char *required_nap_version = "v0.14"; if (compare_version(nap_version_string, required_nap_version) < 0) { while (1) { log_error("NAP firmware version >= %s required, please update!\n" "(instructions can be found at http://docs.swift-nav.com/)\n", required_nap_version); chThdSleepSeconds(2); } } static s32 serial_number; serial_number = nap_conf_rd_serial_number(); max2769_setup(); timing_setup(); ext_event_setup(); position_setup(); tracking_setup(); rng_setup(); manage_acq_setup(); manage_track_setup(); system_monitor_setup(); base_obs_setup(); solution_setup(); simulator_setup(); sbp_fileio_setup(); ext_setup(); READ_ONLY_PARAMETER("system_info", "serial_number", serial_number, TYPE_INT); READ_ONLY_PARAMETER("system_info", "firmware_version", GIT_VERSION, TYPE_STRING); READ_ONLY_PARAMETER("system_info", "firmware_built", __DATE__ " " __TIME__, TYPE_STRING); static struct setting hw_rev = { "system_info", "hw_revision", NULL, 0, settings_read_only_notify, NULL, NULL, false }; hw_rev.addr = (char *)nap_conf_rd_hw_rev_string(); hw_rev.len = strlen(hw_rev.addr); settings_register(&hw_rev, TYPE_STRING); READ_ONLY_PARAMETER("system_info", "nap_version", nap_version_string, TYPE_STRING); READ_ONLY_PARAMETER("system_info", "nap_channels", nap_track_n_channels, TYPE_INT); READ_ONLY_PARAMETER("system_info", "nap_fft_index_bits", nap_acq_fft_index_bits, TYPE_INT); ephemeris_setup(); /* Send message to inform host we are up and running. */ u32 startup_flags = 0; sbp_send_msg(SBP_MSG_STARTUP, sizeof(startup_flags), (u8 *)&startup_flags); while (1) { chThdSleepSeconds(60); } }