int main() { // Initialize the platform platform_init(); //fiteco_lib_gwt_opennode_power_select(FITECO_GWT_OPENNODE_POWER__OFF); /* compatibility with HiKoB */ if (uart_external == NULL) uart_external = uart_print; else uart_enable(uart_external, 500000); // Start the soft timer soft_timer_init(); //set the open node power to off and charge the battery //fiteco_lib_gwt_opennode_power_select(FITECO_GWT_OPENNODE_POWER__MAIN); fiteco_lib_gwt_opennode_power_select(FITECO_GWT_OPENNODE_POWER__OFF); fiteco_lib_gwt_battery_charge_enable(); fiteco_lib_gwt_opennode_power_select(FITECO_GWT_OPENNODE_POWER__MAIN); cn_i2c_start(); //initialize the led, red off, green on leds_off(LEDS_MASK); leds_on(GREEN_LED); uart_set_rx_handler(uart_print, char_rx, NULL); // Run platform_run(); return 0; }
static void handle_cmd(handler_arg_t arg) { switch ((char) (uint32_t) arg) { case '1': printf("Start ON\n"); fiteco_lib_gwt_opennode_power_select(FITECO_GWT_OPENNODE_POWER__MAIN); break; case '0': printf("Stop ON\n"); fiteco_lib_gwt_opennode_power_select(FITECO_GWT_OPENNODE_POWER__OFF); break; case 'e': printf("enable i2c\n"); cn_i2c_start(); break; case 'd': printf("Disable i2c\n"); cn_i2c_stop(); break; case '\n': printf("\n"); break; case '\r': return; case 'h': default: printf("\th:\tprint this help\n"); printf("\t1:\tstart open node\n"); printf("\t0:\tstop open node\n"); printf("\te:\tenable i2c\n"); printf("\td:\tdisable i2c\n"); break; } printf("cmd > "); }
int main() { // Initialize the platform platform_init(); /* compatibility with HiKoB */ if (uart_external == NULL) uart_external = uart_print; else uart_enable(uart_external, 500000); // Start the soft timer soft_timer_init(); // Start the serial lib iotlab_serial_start(500000); // Start the application libs cn_control_start(); cn_consumption_start(); cn_radio_start(); /* map i2c start stop to dc start/stop */ cn_control_config(cn_i2c_stop, cn_i2c_start); cn_autotest_start(); cn_logger_reset(); //set the open node power to off and charge the battery fiteco_lib_gwt_opennode_power_select(FITECO_GWT_OPENNODE_POWER__OFF); fiteco_lib_gwt_battery_charge_enable(); //initialize the led, red off, green on leds_off(LEDS_MASK); leds_on(GREEN_LED); // Run platform_run(); return 0; }
static void process_char(handler_arg_t arg) { int c = (int) arg; switch (c) { // Power Control case '0': // Power OFF log_debug("Power OFF\r"); fiteco_lib_gwt_opennode_power_select( FITECO_GWT_OPENNODE_POWER__OFF); break; case '1': // Power MAIN log_debug("Power MAIN\r"); fiteco_lib_gwt_opennode_power_select( FITECO_GWT_OPENNODE_POWER__MAIN); break; case '2': // Power Battery log_debug("Power Battery\r"); fiteco_lib_gwt_opennode_power_select( FITECO_GWT_OPENNODE_POWER__BATTERY); break; // Battery Charge case '3': // Charge OFF log_debug("Charge OFF\r"); fiteco_lib_gwt_battery_charge_disable(); break; case '4': // Charge ON log_debug("Charge ON\r"); fiteco_lib_gwt_battery_charge_enable(); break; // Current Measure case '5': // Current OFF log_debug("Current OFF\r"); fiteco_lib_gwt_current_monitor_select( FITECO_GWT_CURRENT_MONITOR__OFF, NULL, NULL ); break; case '6': // Current 3V log_debug("Current 3V\r"); fiteco_lib_gwt_current_monitor_configure(INA226_PERIOD_2116us, INA226_AVERAGE_64); fiteco_lib_gwt_current_monitor_select( FITECO_GWT_CURRENT_MONITOR__OPEN_3V, sample_done, NULL ); break; case '7': // Current 5V log_debug("Current 5V\r"); fiteco_lib_gwt_current_monitor_configure(INA226_PERIOD_2116us, INA226_AVERAGE_64); fiteco_lib_gwt_current_monitor_select( FITECO_GWT_CURRENT_MONITOR__OPEN_5V, sample_done, NULL ); break; case '8': // Current Battery log_debug("Current Battery\r"); fiteco_lib_gwt_current_monitor_configure(INA226_PERIOD_2116us, INA226_AVERAGE_64); fiteco_lib_gwt_current_monitor_select( FITECO_GWT_CURRENT_MONITOR__BATTERY, sample_done, NULL ); break; case 'r': nvic_reset(); break; } }