static int __init spi_init(void) { int ret ; ret = spi_int(); if( ret ) { printk(KERN_INFO "SPI was not able to set "); return ret; } ret = setup_pinmux(); // way of setting up gpio in linux kernel if(ret) { printk(KERN_INFO "CHIP SELECT OF GPIO WAS NOT ABLE TO SET"); } static struct netlink_kernel_cfg cfg; printk("Entering: %s\n",__FUNCTION__); // nl_sk=netlink_kernel_create(&init_net, NETLINK_USER, NULL); //used if kernel version is less than 2.60 cfg.input = nl_recv_send_msg; //for kernel version < 2.60 nl_sk=netlink_kernel_create(&init_net, NETLINK_USER, &cfg ); if(!nl_sk) { printk(KERN_ALERT "Error creating socket.\n"); return -10; } return 0; }
int main() { int i; #ifdef FPGA pll_init(); #else bt16_pll_init(); #endif delay(500000); uart_init((96000000/ 460800)); // pa8 puts(pubDate); puts("...fpga bt16 setup ok.......\n"); #ifdef FPGA spi_int(); #endif puts("-----1\n"); system_init(); puts("-----2\n"); timer0_start(); puts("-----3\n"); RF_init(); //----------debug HWI_Install(1, exception_isr, 3) ; //timer0_isr ENABLE_INT(); puts("-----4\n"); thread_init(os_create_thread, os_delete_thread); puts("-----5\n"); sys_timer_init(); puts("-----6\n"); ble_main(); btstack_main(); /* device_manager_init(); */ /*INTALL_HWI(BT_BLE_INT, le_hw_isr, 0); INTALL_HWI(18, le_test_uart_isr, 0);*/ lbuf_init(malloc_buf, sizeof(malloc_buf)*4); /* btstack_v21_main(); */ puts("------------4.0 start run loop-----------\n"); while(1) { int c; //asm("idle"); /*delay(100000);*/ for (i=0; i<PRIORITY_NUM; i++) { if (thread_fun[i]){ thread_fun[i](i); } } c = getchar(); switch(c) { case 'A': puts("user cmd : ADV\n"); ble_set_adv(); break; case 'S': puts("user cmd : SCAN\n"); ble_set_scan(); break; default: break; } /*run_loop_execute();*/ /*printf("k");*/ } return 0; }