示例#1
0
void cmd_voltage(void)
{
	uint16_t voltage;

	voltage = battery_get_voltage();

	strcpy_P( cmd_line, PSTR("Battery voltage: "));
	cmd_print_unsigned_float(voltage);	
	strcat_P( cmd_line, PSTR("V"));
}
示例#2
0
static void interpret_command(const char* cmd)
{
	if (!strcmp(cmd, "HELO")) {
		uart_putstring_P(PSTR("O HAI," FIRMWARE_REVISION_STR ",42\n"));
	} else if (!strcmp(cmd, "STATUS")) {
		uart_print_number(battery_get_voltage()); uart_putchar(',');
		uart_print_number(get_uptime_seconds()); uart_putchar(',');
		
		struct LogInfo info;
		logging_get_info(LOG_EEPROM, &info);
		uart_print_number(info.id); uart_putchar(',');
		uart_print_number(info.length); uart_putchar(',');
		uart_print_number(info.res); uart_putchar(',');

		logging_get_info(LOG_SRAM, &info);
		uart_print_number(info.id); uart_putchar(',');
		uart_print_number(info.length); print_newline();
	} else if (!strcmp(cmd, "CLOG")) {
		logging_reset_all();
		uart_putstring_P(PSTR("OK\n"));
	} else if (!strcmp(cmd, "SILENT")) {
		silent = 1;
		uart_putstring_P(PSTR("OK\n"));
	} else if (!strcmp(cmd, "NOISY")) {
		silent = 0;
		uart_putstring_P(PSTR("OK\n"));
	} else if (!strcmp(cmd, "RSLOG") || !strcmp(cmd, "REELOG")) {
		LogEntry e = (cmd[1] == 'E') ? LOG_EEPROM : LOG_SRAM;
		logging_fetch_log(e, print_number_uint16, print_newline);
	} else if (!strcmp(cmd, "GETID")) {
		uart_print_number(nv_read_word(ADDR_device_id));
		print_newline();
	} else if (!strncmp(cmd, "SID ", 4)) {
		uint16_t value = 0;
		for (uint8_t i = 4; cmd[i]; i++)
			value = value * 10 + (cmd[i] - '0');
		nv_update_word(ADDR_device_id, value);
		uart_putstring_P(PSTR("OK\n"));
	} else {
		uart_putstring_P(PSTR("Unknown command!\n"));
	}
}
示例#3
0
文件: timer.c 项目: nsec/nsec_badge
/*
 * Callback function when the battery status timeout expires
 */
static
void battery_status_timeout_handler(void *p_context) {
    char msg[256];

    gfx_fillRect(0, 8, 128, 56, SSD1306_BLACK);
    gfx_setCursor(0, 12);
    gfx_setTextBackgroundColor(SSD1306_WHITE, SSD1306_BLACK);

    snprintf(msg, sizeof(msg),
        "Battery status:\n"
        " Voltage: %04d mV\n"
        " Charging: %s\n"
        " USB plugged: %s\n",
        battery_get_voltage(),
        battery_is_charging() ? "Yes" : "No",
        battery_is_usb_plugged() ? "Yes" : "No");

    gfx_puts(msg);
    gfx_update();
}