static int drv2605_shell_cmd(int argc, char **argv) { struct os_dev * dev; struct drv2605 * drv2605; dev = os_dev_open("drv2605_0", OS_TIMEOUT_NEVER, NULL); if (dev == NULL) { console_printf("failed to open drv2605_0 device\n"); return ENODEV; } drv2605 = (struct drv2605 *)dev; if (argc == 1) { return drv2605_shell_help(); } if (argc > 1 && strcmp(argv[1], "load_cal") == 0) { return drv2605_shell_cmd_load_cal(argc, argv, drv2605); } if (argc > 1 && strcmp(argv[1], "dump_cal") == 0) { return drv2605_shell_cmd_dump_cal(argc, argv, drv2605); } if (argc > 1 && strcmp(argv[1], "dump_all") == 0) { return drv2605_shell_cmd_dump_all(argc, argv, drv2605); } if (argc > 1 && strcmp(argv[1], "chip_id") == 0) { return drv2605_shell_cmd_get_chip_id(argc, argv, drv2605); } if (argc > 1 && strcmp(argv[1], "op_mode") == 0) { return drv2605_shell_cmd_op_mode(argc, argv, drv2605); } if (argc > 1 && strcmp(argv[1], "power_mode") == 0) { return drv2605_shell_cmd_power_mode(argc, argv, drv2605); } if (argc > 1 && strcmp(argv[1], "load") == 0) { return drv2605_shell_cmd_load_rom(argc, argv, drv2605); } if (argc > 1 && strcmp(argv[1], "trigger") == 0) { return drv2605_shell_cmd_trigger_rom(argc, argv, drv2605); } if (argc > 1 && strcmp(argv[1], "peek") == 0) { return drv2605_shell_cmd_peek(argc, argv, drv2605); } if (argc > 1 && strcmp(argv[1], "poke") == 0) { return drv2605_shell_cmd_poke(argc, argv, drv2605); } return drv2605_shell_err_unknown_arg(argv[1]); }
void nmgr_uart_pkg_init(void) { struct nmgr_uart_state *nus = &nmgr_uart_state; int rc; struct uart_conf uc = { .uc_speed = MYNEWT_VAL(NMGR_UART_SPEED), .uc_databits = 8, .uc_stopbits = 1, .uc_parity = UART_PARITY_NONE, .uc_flow_ctl = UART_FLOW_CTL_NONE, .uc_tx_char = nmgr_uart_tx_char, .uc_rx_char = nmgr_uart_rx_char, .uc_cb_arg = nus }; rc = nmgr_transport_init(&nus->nus_transport, nmgr_uart_out, nmgr_uart_mtu); assert(rc == 0); nus->nus_dev = (struct uart_dev *)os_dev_open(MYNEWT_VAL(NMGR_UART), 0, &uc); assert(nus->nus_dev); nus->nus_cb_ev.ev_cb = nmgr_uart_rx_frame; }
void mynewt_tinycrypt_pkg_init(void) { g_trng = (struct trng_dev *)os_dev_open(MYNEWT_VAL(TINYCRYPT_UECC_RNG_TRNG_DEV_NAME), OS_WAIT_FOREVER, NULL); assert(g_trng); uECC_set_rng(uecc_rng_trng); }
void battery_shell_register(void) { int rc; rc = shell_register("bat", bat_cli_commands); rc = shell_cmd_register(&bat_cli_cmd); SYSINIT_PANIC_ASSERT_MSG(rc == 0, "Failed to register battery shell"); bat = os_dev_open("battery_0", 0, NULL); SYSINIT_PANIC_ASSERT_MSG(rc == 0, "Failed to open battery device"); }
int console_init(console_rx_cb rx_cb) { struct console_tty *ct = &console_tty; struct uart_conf uc = { .uc_speed = MYNEWT_VAL(CONSOLE_BAUD), .uc_databits = 8, .uc_stopbits = 1, .uc_parity = UART_PARITY_NONE, .uc_flow_ctl = MYNEWT_VAL(CONSOLE_FLOW_CONTROL), .uc_tx_char = console_tx_char, .uc_rx_char = console_rx_char, .uc_cb_arg = ct }; ct->ct_rx_cb = rx_cb; if (!ct->ct_dev) { ct->ct_tx.cr_size = MYNEWT_VAL(CONSOLE_TX_BUF_SIZE); ct->ct_tx.cr_buf = ct->ct_tx_buf; ct->ct_rx.cr_size = MYNEWT_VAL(CONSOLE_RX_BUF_SIZE); ct->ct_rx.cr_buf = ct->ct_rx_buf; ct->ct_write_char = console_queue_char; ct->ct_dev = (struct uart_dev *)os_dev_open(CONSOLE_UART, OS_TIMEOUT_NEVER, &uc); if (!ct->ct_dev) { return -1; } ct->ct_echo_off = ! MYNEWT_VAL(CONSOLE_ECHO); } /* must be a power of 2 */ assert(is_power_of_two(MYNEWT_VAL(CONSOLE_RX_BUF_SIZE))); #if MYNEWT_VAL(CONSOLE_HIST_ENABLE) console_hist_init(); #endif return 0; } void console_pkg_init(void) { int rc; /* Ensure this function only gets called by sysinit. */ SYSINIT_ASSERT_ACTIVE(); rc = console_init(NULL); SYSINIT_PANIC_ASSERT(rc == 0); }
void init_pwm_dev(struct pwm_dev **pwm, char *dev_name, struct pwm_chan_cfg *chan_cfg) { int rc = 0; *pwm = (struct pwm_dev *) os_dev_open(dev_name, 0, NULL); assert(pwm); rc = pwm_configure_device(*pwm, &dev_conf); assert(rc == 0); rc = pwm_configure_channel(*pwm, 0, chan_cfg); assert(rc == 0); rc = pwm_enable(*pwm); assert(rc == 0); }