discoverpixy
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
screen_tracking.c File Reference
#include "screen_tracking.h"
#include "button.h"
#include "checkbox.h"
#include "tft.h"
#include "touch.h"
#include "pixy.h"
#include "system.h"
#include "pixy_helper.h"
Include dependency graph for screen_tracking.c:

Data Structures

struct  TRACKING_CONFIG_STRUCT
 

Macros

#define FRAME_START_X   1
 
#define FRAME_START_Y   41
 
#define FRAME_WIDTH   318
 
#define FRAME_HEIGHT   198
 
#define FRAME_END_X   FRAME_START_X +FRAME_WIDTH-1
 
#define FRAME_END_Y   FRAME_START_Y +FRAME_HEIGHT-1
 
#define BLOCK_BUFFER_SIZE   5
 

Typedefs

typedef void(* TRACKING_VOID_CALLBACK) (void *tracking_config)
 
typedef void(* TRACKING_BLOCK_CALLBACK) (void *tracking_config, struct Block *blocks, int num_blocks)
 

Enumerations

enum  {
  detecting, init, tracking, preselecting,
  abortselecting, selecting, selected, error
}
 

Functions

static void b_back_cb (void *button)
 
static void c_frame_toggle_cb (void *checkbox, bool checked)
 
static void b_select_cb (void *button)
 
static void touchCB (void *touchArea, TOUCH_ACTION triggeredAction)
 
void tracking_our_start (void *tracking_config)
 
void tracking_our_stop (void *tracking_config)
 
void tracking_our_update (void *tracking_config, struct Block *blocks, int num_blocks)
 
void tracking_reference_start (void *tracking_config)
 
void tracking_reference_stop (void *tracking_config)
 
void tracking_reference_update (void *tracking_config, struct Block *blocks, int num_blocks)
 
void tracking_set_mode (enum Tracking_Implementation impl)
 
static void enter (void *screen)
 
static void leave (void *screen)
 
static void update (void *screen)
 
SCREEN_STRUCTget_screen_tracking ()
 

Variables

static BUTTON_STRUCT b_back
 
static BUTTON_STRUCT b_select
 
static CHECKBOX_STRUCT c_frame_toggle
 
static TOUCH_AREA_STRUCT a_area
 
static volatile bool frame_visible = false
 
static enum { ... }  state
 
static POINT_STRUCT point1
 
static POINT_STRUCT point2
 
static bool point1_valid
 
static TRACKING_CONFIG_STRUCT tracking_our
 
static TRACKING_CONFIG_STRUCT tracking_reference
 
static TRACKING_CONFIG_STRUCTtracking_current
 
static SCREEN_STRUCT screen
 

Macro Definition Documentation

#define BLOCK_BUFFER_SIZE   5
#define FRAME_END_X   FRAME_START_X +FRAME_WIDTH-1
#define FRAME_END_Y   FRAME_START_Y +FRAME_HEIGHT-1
#define FRAME_HEIGHT   198
#define FRAME_START_X   1
#define FRAME_START_Y   41
#define FRAME_WIDTH   318

Typedef Documentation

typedef void(* TRACKING_BLOCK_CALLBACK) (void *tracking_config, struct Block *blocks, int num_blocks)
typedef void(* TRACKING_VOID_CALLBACK) (void *tracking_config)

Enumeration Type Documentation

anonymous enum
Enumerator
detecting 
init 
tracking 
preselecting 
abortselecting 
selecting 
selected 
error 

Function Documentation

static void b_back_cb ( void *  button)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void b_select_cb ( void *  button)
static

Here is the caller graph for this function:

static void c_frame_toggle_cb ( void *  checkbox,
bool  checked 
)
static

Here is the caller graph for this function:

static void enter ( void *  screen)
static

Here is the call graph for this function:

static void leave ( void *  screen)
static

Here is the call graph for this function:

static void touchCB ( void *  touchArea,
TOUCH_ACTION  triggeredAction 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

void tracking_our_start ( void *  tracking_config)

Here is the call graph for this function:

void tracking_our_stop ( void *  tracking_config)

Here is the call graph for this function:

void tracking_our_update ( void *  tracking_config,
struct Block blocks,
int  num_blocks 
)
void tracking_reference_start ( void *  tracking_config)

Here is the call graph for this function:

void tracking_reference_stop ( void *  tracking_config)

Here is the call graph for this function:

void tracking_reference_update ( void *  tracking_config,
struct Block blocks,
int  num_blocks 
)
static void update ( void *  screen)
static

Here is the call graph for this function:

Variable Documentation

TOUCH_AREA_STRUCT a_area
static
BUTTON_STRUCT b_back
static
BUTTON_STRUCT b_select
static
CHECKBOX_STRUCT c_frame_toggle
static
volatile bool frame_visible = false
static
POINT_STRUCT point1
static
bool point1_valid
static
POINT_STRUCT point2
static
SCREEN_STRUCT screen
static
Initial value:
= {
}
static void leave(void *screen)
Definition: screen_tracking.c:220
static void update(void *screen)
Definition: screen_tracking.c:238
static void enter(void *screen)
Definition: screen_tracking.c:163
enum { ... } state
TRACKING_CONFIG_STRUCT* tracking_current
static
TRACKING_CONFIG_STRUCT tracking_our
static
Initial value:
= {
}
void tracking_our_update(void *tracking_config, struct Block *blocks, int num_blocks)
Definition: screen_tracking.c:101
void tracking_our_stop(void *tracking_config)
Definition: screen_tracking.c:93
void tracking_our_start(void *tracking_config)
Definition: screen_tracking.c:85
TRACKING_CONFIG_STRUCT tracking_reference
static
Initial value:
= {
}
void tracking_reference_stop(void *tracking_config)
Definition: screen_tracking.c:124
void tracking_reference_update(void *tracking_config, struct Block *blocks, int num_blocks)
Definition: screen_tracking.c:132
void tracking_reference_start(void *tracking_config)
Definition: screen_tracking.c:116