Skip to content

Commit

Permalink
added tearing test
Browse files Browse the repository at this point in the history
  • Loading branch information
Vincent-FK committed Nov 6, 2020
1 parent 040c319 commit 75520e7
Show file tree
Hide file tree
Showing 6 changed files with 84 additions and 2 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ prodScreen_ledTest.c \
prodScreen_magnetTest.c \
prodScreen_validation.c \
prodScreen_showImage.c \
prodScreen_tearingTest.c \
prodScreen_gamma.c

# Output
Expand Down
3 changes: 2 additions & 1 deletion funkey_prod_screens.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ static s_prod_test prod_tests[] = {
{"MAGNET", launch_prod_screen_magnet, 0},
{"VALIDATE", launch_prod_screen_validation, 0},
{"SHOW_IMAGE", launch_prod_screen_showImage, 1},
{"GAMMA", launch_prod_screen_gamma, 0}
{"GAMMA", launch_prod_screen_gamma, 0},
{"TEARING", launch_prod_screen_tearingtest, 0}
};
static int idx_current_prod_test = 0;

Expand Down
1 change: 1 addition & 0 deletions funkey_prod_screens.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#include "prodScreen_validation.h"
#include "prodScreen_showImage.h"
#include "prodScreen_gamma.h"
#include "prodScreen_tearingTest.h"


/// Defines
Expand Down
73 changes: 73 additions & 0 deletions prodScreen_tearingTest.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>
#include <SDL/SDL_ttf.h>
//#include <SDL/SDL_image.h>
#include "funkey_prod_screens.h"

static int bright = 0;

/// -------------- FUNCTIONS IMPLEMENTATION --------------
static int wait_event_loop(){

SDL_Event event;
int stop_menu_loop = 0;
int prev_ms = 0;
int res = EXIT_FAILURE;

/// -------- Main loop ---------
while (!stop_menu_loop)
{
/// -------- Handle Keyboard Events ---------
while (SDL_PollEvent(&event))
switch(event.type)
{
case SDL_QUIT:
stop_menu_loop = 1;
break;
case SDL_KEYDOWN:
switch (event.key.keysym.sym)
{

case SDLK_m:
stop_menu_loop = 1;
res = ERROR_MANUAL_FAIL;
break;

case SDLK_n:
case SDLK_ESCAPE:
stop_menu_loop = 1;
res = 0;
break;

default:
break;
}
}

/* Fill screen random */
SDL_Color current_color = {rand() % 128 + 128*bright,
rand() % 256 + 128*bright,
rand() % 256 + 128*bright};
SDL_FillRect(hw_surface, NULL, SDL_MapRGBA(hw_surface->format,
current_color.r, current_color.g, current_color.b, 0) );
bright = 1-bright;

/* To investigate but with Buildroot, we need this: */
SDL_Flip(hw_surface);

/* Sleep for some time */
//SDL_Delay(SLEEP_PERIOD_MS);
}

return res;
}

int launch_prod_screen_tearingtest(int argc, char *argv[]){
SDL_Surface *text_surface = NULL;
SDL_Rect text_pos;

/// Main loop
int res = wait_event_loop();
return res;
}
6 changes: 6 additions & 0 deletions prodScreen_tearingTest.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#ifndef __PROD_SCREEN_TEARINGTEST__
#define __PROD_SCREEN_TEARINGTEST__

int launch_prod_screen_tearingtest(int argc, char *argv[]);

#endif //__PROD_SCREEN_TEARINGTEST__
2 changes: 1 addition & 1 deletion prodScreen_waitBattery.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ static int wait_event_loop(){
}
}

/* To inverstigate but with Buildroot, we need this: */
/* To investigate but with Buildroot, we need this: */
SDL_Flip(hw_surface);

if(SDL_GetTicks() - prev_ms > CHECK_BATTERY_DELAY_MS){
Expand Down

0 comments on commit 75520e7

Please sign in to comment.