void prazdna(void){};
//pwm vystup
void pwmNic(int16_t a){};
//filtr
void AD0y(void);
void gpuls(void);
void fgvw(void);
void fAD1w(void);
void kalman(void);
void zpomal(void);
// regulace
void regulacepokus(void);
//mereni
void freerunAD1(void);

void (*setpwm)(int16_t)=pwmNic;
//void (*filtr)(void)=prazdna;
void (*regulace)(void)=prazdna;
void (*merit)(void)=prazdna;


#define TEXT_P(nazev,s) const char nazev[] PROGMEM = s

typedef struct{char *nazev;
		void (*fce)(void);
		PGM_P napoveda;
		} MER;

typedef struct{PGM_P nazev;
		void (*fce)(void);
		PGM_P napoveda;
		} MERP;

const char nic[] PROGMEM = "";


TEXT_P(PfAD0y,"fAD0y");
TEXT_P(Pgpuls,"gpuls");
TEXT_P(Pfgvw,"fgvw");
TEXT_P(PfAD1w,"fAD1w");
TEXT_P(Pk,"k");
TEXT_P(Pzpomal,"zpomal");

MERP povelf[] PROGMEM={
//  {"nazev prikazu",nazev_vykonavajici_funkce,napoveda z PROGMEM},	
	{nic,prazdna,nic},
	{PfAD0y,AD0y,nic},
	{Pgpuls,gpuls,nic},
	{Pfgvw,fgvw,nic},
	{PfAD1w,fAD1w,nic},
	{Pk,kalman,nic},
	{Pzpomal,zpomal,nic},
};
#define PRIKAZUF (sizeof(povelf)/sizeof(MERP))


uint8_t kfiltrovani[PRIKAZUF];


#include "ovladani.c"
