예제 #1
0
파일: main.c 프로젝트: 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;
}
예제 #2
0
파일: main.c 프로젝트: awe00/openlab
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 > ");
}
예제 #3
0
파일: main.c 프로젝트: 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;
}
예제 #4
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;
    }
}