コード例 #1
0
ファイル: ble_peripheral.c プロジェクト: abrasive/btstack
int main(void)
{
    printf("BTstack LE Peripheral starting up...\n");
    setup();

    setup_cli();

    gap_random_address_set_update_period(300000);
    gap_random_address_set_mode(GAP_RANDOM_ADDRESS_RESOLVABLE);
    strcpy(gap_device_name, "BTstack");
    sm_set_io_capabilities(IO_CAPABILITY_NO_INPUT_NO_OUTPUT);
    sm_io_capabilities =  "IO_CAPABILITY_NO_INPUT_NO_OUTPUT";
    sm_set_authentication_requirements(0);
    sm_register_oob_data_callback(get_oob_data_callback);
    sm_set_encryption_key_size_range(sm_min_key_size, 16);
    sm_test_set_irk(test_irk);

    // set one-shot timer
    heartbeat.process = &heartbeat_handler;
    run_loop_set_timer(&heartbeat, HEARTBEAT_PERIOD_MS);
    run_loop_add_timer(&heartbeat);

    // turn on!
    hci_power_control(HCI_POWER_ON);
    
    // go!
    run_loop_execute(); 
    
    // happy compiler!
    return 0;
}
コード例 #2
0
ファイル: corvus_test.c プロジェクト: LewisPark/corvus
int main(int argc, const char *argv[])
{
    if(setup_cli(argc, argv) == -1) {
        usage(argv[0]);
        return EXIT_FAILURE;
    }

    config.syslog = 0;
    config.loglevel = CRIT;
    config.bufsize = 16384;

    struct node_conf conf = {NULL, 0};
    struct context ctx;
    context_init(&ctx);
    memcpy(&config.node, &conf, sizeof(config.node));
    slot_init_updater(&ctx);

    RUN_CASE(test_slot);
    RUN_CASE(test_hash);
    RUN_CASE(test_parser);
    RUN_CASE(test_cmd);
    RUN_CASE(test_server);
    RUN_CASE(test_dict);
    RUN_CASE(test_socket);
    RUN_CASE(test_client);
    RUN_CASE(test_timer);
    RUN_CASE(test_config);

    usleep(10000);
    slot_create_job(SLOT_UPDATER_QUIT);
    pthread_join(ctx.thread, NULL);

    report();
    return manager.failed == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
コード例 #3
0
ファイル: test_bool_var.cpp プロジェクト: Alienfeel/graphlab
// MAIN
// ============================================================================>
int main(int argc, char** argv) {
  std::cout << "This program solves the sum task."
            << std::endl;

  graphlab::mpi_tools::init(argc, argv);
  ///! Create a distributed control object (must come after mpi_tools::init())
  graphlab::distributed_control dc; 

  // Parse command line arguments --------------------------------------------->
  graphlab::command_line_options clopts("Run Loopy BP on a Network");
  clopts_vals clvals;
  if( setup_cli(clopts, clvals, argc, argv) != EXIT_SUCCESS ) return EXIT_FAILURE;

  ///! Create a distributed graph object 
  belief_prop::graph_type<MAX_DIM>::type graph(dc, clopts);



  // Create the factor graph ------------------------------------------>
  std::cout << "Loading Factor Graph" << std::endl;
  belief_prop::factor_graph<MAX_DIM> fgraph;

  // Create the variable
  size_t nlabels = 2;
  variable_t bool_var_b = fgraph.add_variable(nlabels, "bool_var_b");
  dense_table_t& prior = fgraph.prior_for_variable(bool_var_b);
  prior.zero();


  // Set the weights
  std::vector<double> logf(2); logf[0] = std::log(0.6); logf[1] = std::log(0.4);
  // Build a unary factor
  dense_table_t bool_obs( bool_var_b, logf );
  // Save the factor to the factor graph
  fgraph.add_factor(bool_obs, "bool_obs");


  const size_t num_variables = fgraph.num_variables();
  const size_t num_factors = fgraph.num_factors();
  std::cout << "num_variables: " << num_variables << " num_factors: " << num_factors << std::endl;
  std::cout << "Finished!" << std::endl;


  // Build the BP graph from the factor graph---------------------------------->
  std::cout << "Building BP graph from the factor graph" << std::endl;
  fgraph.make_bp_graph( graph, clvals.BOUND, clvals.DAMPING ); 
  run_engine<MAX_DIM>(dc, graph, clvals.exec_type, clopts);
  fgraph.pull_beliefs_for_variables( graph );


  // Saving the output -------------------------------------------------------->
  std::cout << fgraph.belief_for_variable(bool_var_b) << std::endl;
  double bobs = fgraph.belief_for_variable(bool_var_b).logP(1);
  double err = abs(bobs - .405465);
  ASSERT_LT(err, .01);
  std::cout << "All tests passed" << std::endl;
} // end of main
コード例 #4
0
ファイル: corvus_test.c プロジェクト: doyoubi/corvus
int main(int argc, const char *argv[])
{
    if(setup_cli(argc, argv) == -1) {
        usage(argv[0]);
        return EXIT_FAILURE;
    }

    config.syslog = 0;
    config.loglevel = CRIT;
    config.bufsize = 16384;
    config.thread = 1;

    struct node_conf conf = {NULL, 0};
    build_contexts();
    struct context *contexts = get_contexts();

    memcpy(&config.node, &conf, sizeof(config.node));
    slot_start_manager(&contexts[config.thread]);

    RUN_CASE(test_slot);
    RUN_CASE(test_hash);
    RUN_CASE(test_parser);
    RUN_CASE(test_cmd);
    RUN_CASE(test_server);
    RUN_CASE(test_dict);
    RUN_CASE(test_socket);
    RUN_CASE(test_client);
    RUN_CASE(test_timer);
    RUN_CASE(test_config);
    RUN_CASE(test_stats);
    RUN_CASE(test_mbuf);
    RUN_CASE(test_slowlog);

    usleep(10000);
    slot_create_job(SLOT_UPDATER_QUIT);
    pthread_join(contexts[config.thread].thread, NULL);

    for (int i = 0; i <= config.thread; i++) {
        context_free(&contexts[i]);
    }

    destroy_contexts();

    report();
    return manager.failed == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
コード例 #5
0
ファイル: l2cap_test.c プロジェクト: abrasive/btstack
int main(void){
    btstack_setup();
    setup_cli();
    run_loop_execute(); 
    return 0;
}