~ruther/CTU-FEE-B0B35APO-Semestral-project

82cef4c155e1d24c08ca1129497a67e2489ad827 — František Boháček 4 years ago f9fb4cf
feat: use ledstrip to show file loading bar
1 files changed, 20 insertions(+), 4 deletions(-)

M text-viewer/src/text_viewer.c
M text-viewer/src/text_viewer.c => text-viewer/src/text_viewer.c +20 -4
@@ 3,6 3,8 @@
#include "gui.h"
#include "gui_component_line.h"
#include "input.h"
#include "mzapo_led_strip.h"
#include "mzapo_rgb_led.h"
#include "renderer.h"
#include <errno.h>
#include <stdio.h>


@@ 63,10 65,24 @@ file_error_t text_viewer_load_file(text_viewer_t *text_viewer) {
    return FILER_UNKNOWN;
  }

  long result = fread(data, sizeof(char), fsize, file);
  if (result != fsize) {
    fclose(file);
    return FILER_CANNOT_READ;
  long read = 0;
  const int perc = 5;
  const int iters = 100/perc;
  for (int i = 0; i < iters; i++) {
    long to_read = fsize/iters;
    if (i == iters - 1) {
      to_read = fsize - read - 1;
    }

    long result = fread(data+read, sizeof(char), to_read, file);
    read += result;

    if (result != to_read) {
      fclose(file);
      return FILER_CANNOT_READ;
    }

    ledstrip_progress_bar_step(text_viewer->pheripherals.ledstrip, i*perc);
  }

  fclose(file);