mirror of
https://github.com/FunKey-Project/FunKey-ProdScreens.git
synced 2025-12-12 08:48:51 +01:00
added tearing test
This commit is contained in:
parent
040c31924a
commit
75520e7e6b
1
Makefile
1
Makefile
@ -10,6 +10,7 @@ prodScreen_ledTest.c \
|
|||||||
prodScreen_magnetTest.c \
|
prodScreen_magnetTest.c \
|
||||||
prodScreen_validation.c \
|
prodScreen_validation.c \
|
||||||
prodScreen_showImage.c \
|
prodScreen_showImage.c \
|
||||||
|
prodScreen_tearingTest.c \
|
||||||
prodScreen_gamma.c
|
prodScreen_gamma.c
|
||||||
|
|
||||||
# Output
|
# Output
|
||||||
|
|||||||
@ -27,7 +27,8 @@ static s_prod_test prod_tests[] = {
|
|||||||
{"MAGNET", launch_prod_screen_magnet, 0},
|
{"MAGNET", launch_prod_screen_magnet, 0},
|
||||||
{"VALIDATE", launch_prod_screen_validation, 0},
|
{"VALIDATE", launch_prod_screen_validation, 0},
|
||||||
{"SHOW_IMAGE", launch_prod_screen_showImage, 1},
|
{"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;
|
static int idx_current_prod_test = 0;
|
||||||
|
|
||||||
|
|||||||
@ -17,6 +17,7 @@
|
|||||||
#include "prodScreen_validation.h"
|
#include "prodScreen_validation.h"
|
||||||
#include "prodScreen_showImage.h"
|
#include "prodScreen_showImage.h"
|
||||||
#include "prodScreen_gamma.h"
|
#include "prodScreen_gamma.h"
|
||||||
|
#include "prodScreen_tearingTest.h"
|
||||||
|
|
||||||
|
|
||||||
/// Defines
|
/// Defines
|
||||||
|
|||||||
73
prodScreen_tearingTest.c
Normal file
73
prodScreen_tearingTest.c
Normal file
@ -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
prodScreen_tearingTest.h
Normal file
6
prodScreen_tearingTest.h
Normal file
@ -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__
|
||||||
@ -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);
|
SDL_Flip(hw_surface);
|
||||||
|
|
||||||
if(SDL_GetTicks() - prev_ms > CHECK_BATTERY_DELAY_MS){
|
if(SDL_GetTicks() - prev_ms > CHECK_BATTERY_DELAY_MS){
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user