Example #1
0
File: main.c Project: awe00/openlab
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;
}
Example #2
0
File: main.c Project: dbohn/openlab
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;
    }
}