Microchip® Advanced Software Framework

uc3c-scope-meter-and-filtering/gui.c File Reference

GUI Management Task.

Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.

#include <stdarg.h>
#include "board.h"
#include "et024006dhu.h"
#include "conf_demo.h"
#include "gpio.h"
#include "gui.h"
#include "background_image.h"
#include "delay.h"
#include "dsp.h"
#include "compiler.h"
#include "sysclk.h"

Data Structures

struct  gui_box
 Local structure definition for box. More...
 

Functions

static void gui_buffer_print_dsp16_signal (void *buffer, uint16_t width, uint16_t height, dsp16_t *signal, uint16_t signal_size)
 Local definition to print signal in 16-bit format function. More...
 
static void gui_buffer_set_pixel (void *buffer, uint16_t width, uint16_t height, uint16_t x, uint16_t y)
 Local definition to set pixel. More...
 
static void gui_change_update_fs (uint32_t time_ms)
 Local definition for GUI Update Refresh Screen function. More...
 
static void gui_clear_view (void)
 Local definition to clear GUI screen function. More...
 
static void gui_draw_background (uint16_t x, uint16_t y, uint16_t width, uint16_t height)
 Local definition for GUI Draw Background function. More...
 
static void gui_print_signal_box (int32_t box_id, dsp16_t *signal, uint16_t signal_size, et024006_color_t color)
 Local definition to print box. More...
 
void gui_task (void)
 Gui Task: More...
 
void gui_task_init (void)
 Gui Task Init: More...
 

Variables

static struct gui_box box []
 
static uint8_t buffer [ET024006_BITMAP_WIDTH(GUI_MAX_BUFFER_WIDTH)*GUI_MAX_BUFFER_HEIGHT]
 Local buffer to store GUI content. More...
 
struct {
   t_cpu_time   cpu_time
 
   uint32_t   time_ms
 
gui_fs
 Local structure for GUI timing definition. More...
 
static dsp16_t signal_buffer [GUI_BUFFER_LENGTH]
 Local buffer to store signal content. More...
 
dsp16_t signal_noise_gui [GUI_BUFFER_LENGTH]
 
dsp16_t signalin_gui [GUI_BUFFER_LENGTH]
 
dsp16_t signalin_noise_gui [GUI_BUFFER_LENGTH]
 
dsp16_t signalout_fp_gui [GUI_BUFFER_LENGTH]
 Reference to Filtered Signal through 16-bit fixed point Format scaled in GUI format for the GUI task. More...
 
dsp16_t signalout_fpu_gui [GUI_BUFFER_LENGTH]
 Reference to Filtered Signal through floating point Format scaled in GUI format for the GUI task. More...
 

static void gui_buffer_print_dsp16_signal ( void *  buffer,
uint16_t  width,
uint16_t  height,
dsp16_t signal,
uint16_t  signal_size 
)
static

Local definition to print signal in 16-bit format function.

References Abs, b, DSP16_QA, DSP16_QB, DSP_FP_MIN, ET024006_BITMAP_WIDTH, gui_buffer_set_pixel(), i, and width.

Referenced by gui_print_signal_box().

static void gui_buffer_set_pixel ( void *  buffer,
uint16_t  width,
uint16_t  height,
uint16_t  x,
uint16_t  y 
)
inlinestatic

Local definition to set pixel.

References ET024006_BITMAP_WIDTH.

Referenced by gui_buffer_print_dsp16_signal().

static void gui_change_update_fs ( uint32_t  time_ms)
static

Local definition for GUI Update Refresh Screen function.

References cpu_ms_2_cy(), cpu_set_timeout(), gui_fs, sysclk_get_main_hz(), and time_ms.

Referenced by gui_init(), and gui_task_init().

static void gui_clear_view ( void  )
static

Local definition to clear GUI screen function.

References ET024006_HEIGHT, ET024006_WIDTH, and gui_draw_background().

Referenced by gui_init(), gui_task_init(), and state_machine_task().

static void gui_draw_background ( uint16_t  x,
uint16_t  y,
uint16_t  width,
uint16_t  height 
)
static

Local definition for GUI Draw Background function.

References background_image, et024006_PutPixmap(), and ET024006_WIDTH.

Referenced by gui_clear_view().

static void gui_print_signal_box ( int32_t  box_id,
dsp16_t signal,
uint16_t  signal_size,
et024006_color_t  color 
)
static
void gui_task ( void  )

Gui Task:

  • Refresh the content of the screen

Referenced by main().

void gui_task_init ( void  )

struct gui_box box[]
static
Initial value:
= {
}
#define GUI_BOXES
Definition: uc3c-scope-meter-and-filtering/gui.h:112
t_cpu_time cpu_time
struct { ... } gui_fs

Local structure for GUI timing definition.

Referenced by gui_change_update_fs(), and gui_task().

dsp16_t signal_buffer[GUI_BUFFER_LENGTH]
static

Local buffer to store signal content.

Referenced by gui_print_signal_box().

dsp16_t signal_noise_gui[GUI_BUFFER_LENGTH]

Referenced by gui_task(), and noise_task().

dsp16_t signalin_gui[GUI_BUFFER_LENGTH]

Referenced by adc_task(), and gui_task().

dsp16_t signalin_noise_gui[GUI_BUFFER_LENGTH]

Referenced by gui_task(), and noise_task().

dsp16_t signalout_fp_gui[GUI_BUFFER_LENGTH]

Reference to Filtered Signal through 16-bit fixed point Format scaled in GUI format for the GUI task.

Referenced by filter_task(), and gui_task().

dsp16_t signalout_fpu_gui[GUI_BUFFER_LENGTH]

Reference to Filtered Signal through floating point Format scaled in GUI format for the GUI task.

Referenced by filter_task(), and gui_task().

uint32_t time_ms