2016-06-09 17:07:38 +02:00
|
|
|
|
#include "MonochromeLib.h"
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
#include <string.h>
|
|
|
|
|
#include "FonctionC.h"
|
|
|
|
|
|
|
|
|
|
PrintV(int x, int y, int v)
|
|
|
|
|
{
|
|
|
|
|
char txt[10];
|
|
|
|
|
sprintf(txt,"%d",v);
|
|
|
|
|
PrintMini(x,y,txt,0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void setFps(int fpsWish)
|
|
|
|
|
{
|
|
|
|
|
static unsigned int fps = 0, fps_count = 0; // "static" permet de garder les valeurs en m<>moire entre les diff<66>rents appels
|
|
|
|
|
|
|
|
|
|
do
|
|
|
|
|
{
|
|
|
|
|
fps = RTC_getTicks(); // on enregistre les ticks
|
|
|
|
|
Sleep(1); // permet d'<27>conomiser de la batterie
|
|
|
|
|
}
|
|
|
|
|
while(fps < fps_count + fpsWish); // tant que ceux-ci ne se sont pas suffisamment <20>coul<75>s
|
|
|
|
|
|
|
|
|
|
fps_count = RTC_getTicks(); // on met <20> jour les derni<6E>res valeurs
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int getDelay( int ms)
|
|
|
|
|
{
|
|
|
|
|
static int time=0;
|
|
|
|
|
|
|
|
|
|
if(RTC_getTicks() - time > (ms / 7.8125)) // si il s'est <20>coul<75> une seconde compl<70>te
|
|
|
|
|
{
|
|
|
|
|
time = RTC_getTicks(); // et on se rappelle du nombre de ticks de la derni<6E>re seconde <20>coul<75>e
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2016-06-14 15:39:24 +02:00
|
|
|
|
int mod(int a, int b)
|
|
|
|
|
{
|
|
|
|
|
return a % b;
|
|
|
|
|
}
|
|
|
|
|
|
2016-06-09 17:07:38 +02:00
|
|
|
|
int getFps()
|
|
|
|
|
{
|
|
|
|
|
// variables utilis<69>es (en static, pour pouvoir garder en m<>moire les valeurs)
|
|
|
|
|
static int disp_fps=0, fps=1, time=0;
|
|
|
|
|
|
|
|
|
|
if(RTC_getTicks() - time > 128) // si il s'est <20>coul<75> une seconde compl<70>te
|
|
|
|
|
{
|
|
|
|
|
disp_fps = fps; // alors on r<>cup<75>re le nombre de FPS
|
|
|
|
|
fps = 0; // on remet <20> 0 le compteur
|
|
|
|
|
time = RTC_getTicks(); // et on se rappelle du nombre de ticks de la derni<6E>re seconde <20>coul<75>e
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fps++; // on monte la valeur des FPS
|
|
|
|
|
|
|
|
|
|
return disp_fps;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int rand_int(int max)
|
|
|
|
|
{
|
|
|
|
|
return rand() % max;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int rand_int_ab(int min, int max)
|
|
|
|
|
{
|
|
|
|
|
return rand() % (max - min) + min;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static int SysCallCode[] = {0xD201422B,0x60F20000,0x80010070};
|
|
|
|
|
static int (*SysCall)( int R4, int R5, int R6, int R7, int FNo ) = (void*)&SysCallCode;
|
|
|
|
|
|
|
|
|
|
int RTC_getTicks(void)
|
|
|
|
|
{
|
|
|
|
|
return (*SysCall)(0, 0, 0, 0, 0x3B); // on d<>clare la fonction voulue selon son num<75>ro (ici 0x3B)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
float ABS( float v)
|
|
|
|
|
{
|
|
|
|
|
if(v < 0) return -v;
|
|
|
|
|
return v;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
double degretorad(float v)
|
|
|
|
|
{
|
|
|
|
|
return v * 3.1415 / 180;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
double radtodegre(float v)
|
|
|
|
|
{
|
|
|
|
|
return v * 180 / 3.1415;
|
|
|
|
|
}
|