Microchip® Advanced Software Framework

uc3c_ek-can-lin-loopbacks-demo/gui.c File Reference
#include <stdarg.h>
#include "board.h"
#include "et024006dhu.h"
#include "conf_demo.h"
#include "gpio.h"
#include "gui.h"
#include "background_image.h"
#include "cycle_counter.h"
#include "dsp.h"
#include "compiler.h"

Data Structures

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

Macros

#define MAX_BUFFER_HEIGHT   GUI_ZOOM_BOX_HEIGHT
 
#define MAX_BUFFER_WIDTH   GUI_ZOOM_BOX_WIDTH
 

Functions

static void gui_buffer_print_dsp16_signal (void *buffer, uint16_t width, uint16_t height, dsp16_t *signal, uint16_t signal_size)
 
static void gui_buffer_set_pixel (void *buffer, uint16_t width, uint16_t height, uint16_t x, uint16_t y)
 
void gui_change_update_fs (uint32_t time_ms)
 This function change the frequency rate of the update of the display. More...
 
void gui_clear_view (void)
 
static void gui_draw_background (uint16_t x, uint16_t y, uint16_t width, uint16_t height)
 
uint32_t gui_get_update_fs (void)
 
void gui_init (uint32_t cpu_hz, uint32_t hsb_hz, uint32_t pba_hz, uint32_t pbb_hz)
 Initialization function of the GUI interface. More...
 
static void gui_print_signal_box (int32_t box_id, dsp16_t *signal, uint16_t signal_size)
 
void gui_set_selection (int32_t box_id)
 Select a new box (can select only one box a time) More...
 
void gui_task (void)
 Gui Task: More...
 

Variables

static struct gui_box box []
 
static uint8_t buffer [ET024006_BITMAP_WIDTH(MAX_BUFFER_WIDTH)*MAX_BUFFER_HEIGHT]
 
static int gui_cpu_hz
 
struct {
   t_cpu_time   cpu_time
 
   uint32_t   time_ms
 
gui_fs
 
char gui_text_buffer [GUI_TEXT_BUFFER_SIZE]
 
dsp16_t signal1_buf [BUFFER_LENGTH]
 
dsp16_t signal2_buf [BUFFER_LENGTH]
 
dsp16_t signal3_buf [BUFFER_LENGTH]
 Buffer to store ADC Conversions. More...
 
dsp16_t signal4_buf [BUFFER_LENGTH]
 
static dsp16_t signal_buffer [BUFFER_LENGTH]
 
dsp16_tsignal_in_buf
 
dsp16_t signal_in_fft [BUFFER_LENGTH]
 
dsp16_t signal_out_buf [BUFFER_LENGTH]
 
dsp16_t signal_out_fft [BUFFER_LENGTH]
 
bool signals_are_updated
 

#define MAX_BUFFER_HEIGHT   GUI_ZOOM_BOX_HEIGHT
#define MAX_BUFFER_WIDTH   GUI_ZOOM_BOX_WIDTH

static void gui_buffer_print_dsp16_signal ( void *  buffer,
uint16_t  width,
uint16_t  height,
dsp16_t signal,
uint16_t  signal_size 
)
static
static void gui_buffer_set_pixel ( void *  buffer,
uint16_t  width,
uint16_t  height,
uint16_t  x,
uint16_t  y 
)
inlinestatic
void gui_change_update_fs ( uint32_t  time_ms)

This function change the frequency rate of the update of the display.

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

void gui_clear_view ( void  )
static void gui_draw_background ( uint16_t  x,
uint16_t  y,
uint16_t  width,
uint16_t  height 
)
static
uint32_t gui_get_update_fs ( void  )

References gui_fs.

void gui_init ( U32  fcpu_hz,
U32  fhsb_hz,
U32  fpbb_hz,
U32  fpba_hz 
)

Initialization function of the GUI interface.

Parameters
fcpu_hzCPU frequency.
fhsb_hzHSB frequency.
fpbb_hzPBB frequency.
fpba_hzPBA frequency.

Referenced by app_engine(), and main().

void gui_set_selection ( int32_t  box_id)

struct gui_box box[]
static
Initial value:
= {
}
#define GUI_BOXES
Definition: uc3c-scope-meter-and-filtering/gui.h:112
t_cpu_time cpu_time
int gui_cpu_hz
static
struct { ... } gui_fs
char gui_text_buffer[GUI_TEXT_BUFFER_SIZE]
dsp16_t signal1_buf[BUFFER_LENGTH]

Referenced by adc_process_task(), and gui_task().

dsp16_t signal2_buf[BUFFER_LENGTH]

Referenced by gui_task(), and lin_task().

dsp16_t signal3_buf[BUFFER_LENGTH]

Buffer to store ADC Conversions.

Referenced by can_task(), and gui_task().

dsp16_t signal4_buf[BUFFER_LENGTH]

Referenced by adc_process_task(), and gui_task().

dsp16_t signal_buffer[BUFFER_LENGTH]
static

Referenced by gui_print_signal_box().

dsp16_t* signal_in_buf
dsp16_t signal_in_fft[BUFFER_LENGTH]
dsp16_t signal_out_buf[BUFFER_LENGTH]
dsp16_t signal_out_fft[BUFFER_LENGTH]
bool signals_are_updated
uint32_t time_ms