power_views.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #include "power_views.h"
  2. void power_info_draw_callback(Canvas* canvas, void* context) {
  3. PowerInfoModel* data = context;
  4. canvas_clear(canvas);
  5. canvas_set_color(canvas, ColorBlack);
  6. canvas_set_font(canvas, FontPrimary);
  7. canvas_draw_str(canvas, 2, 10, "Power state:");
  8. char buffer[64];
  9. canvas_set_font(canvas, FontSecondary);
  10. snprintf(
  11. buffer,
  12. 64,
  13. "Current: %ld/%ldmA",
  14. (int32_t)(data->current_gauge * 1000),
  15. (int32_t)(data->current_charger * 1000));
  16. canvas_draw_str(canvas, 5, 22, buffer);
  17. snprintf(
  18. buffer,
  19. 64,
  20. "Voltage: %ld/%ldmV",
  21. (uint32_t)(data->voltage_gauge * 1000),
  22. (uint32_t)(data->voltage_charger * 1000));
  23. canvas_draw_str(canvas, 5, 32, buffer);
  24. snprintf(
  25. buffer,
  26. 64,
  27. "Charge: %ld%% Health: %ld%%",
  28. (uint32_t)(data->charge),
  29. (uint32_t)(data->health));
  30. canvas_draw_str(canvas, 5, 42, buffer);
  31. snprintf(buffer, 64, "Capacity: %ld of %ldmAh", data->capacity_remaining, data->capacity_full);
  32. canvas_draw_str(canvas, 5, 52, buffer);
  33. snprintf(
  34. buffer,
  35. 64,
  36. "Temperature: %ld/%ldC",
  37. (uint32_t)(data->temperature_gauge),
  38. (uint32_t)(data->temperature_charger));
  39. canvas_draw_str(canvas, 5, 62, buffer);
  40. }