Exemple #1
0
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();
}
Exemple #2
0
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");
		}		
	}
}
Exemple #4
0
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;
}
Exemple #5
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);
  }
}