mirror of
https://gitlab.com/fabinfra/fabhardware/absaugungsklappensteuerung.git
synced 2025-03-12 23:01:52 +01:00
setOpen() wird zwischengespeichert.
This commit is contained in:
parent
ba1d3a122d
commit
34cb487948
@ -7,41 +7,31 @@ KlappenAblauf::~KlappenAblauf()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
statusKlappen KlappenAblauf::setOpen(bool open)
|
void KlappenAblauf::setOpen(bool open)
|
||||||
{
|
{
|
||||||
|
openSpeicher = open;
|
||||||
|
|
||||||
if(open){
|
|
||||||
if(aktuellerState == WARTE_GESCHLOSSEN){
|
|
||||||
aktuellerState = START_AUF;
|
|
||||||
return OK;
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
if(aktuellerState == WARTE_OFFEN){
|
|
||||||
aktuellerState = START_ZU;
|
|
||||||
return OK;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ERROR_BUSY;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
statusKlappen KlappenAblauf::setOpen(bool open , int id)
|
void KlappenAblauf::setOpen(bool open , int id)
|
||||||
{
|
{
|
||||||
KlappenAblauf *zeiger;
|
KlappenAblauf *zeiger;
|
||||||
zeiger = (KlappenAblauf *) searchIdElement(id);
|
zeiger = (KlappenAblauf *) searchIdElement(id);
|
||||||
if(zeiger)
|
if(zeiger)
|
||||||
return zeiger->setOpen(open);
|
return zeiger->setOpen(open);
|
||||||
return ERROR_ID;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void KlappenAblauf::memberSetup(){
|
void KlappenAblauf::memberSetup(){
|
||||||
|
|
||||||
AnalogDigital::memberSetup();
|
AnalogDigital::memberSetup();
|
||||||
|
openSpeicher = false;
|
||||||
fsmInit();
|
fsmInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
void KlappenAblauf::memberLoop(){
|
void KlappenAblauf::memberLoop(){
|
||||||
AnalogDigital::memberLoop();
|
AnalogDigital::memberLoop();
|
||||||
|
openSpeicherAbfrage();
|
||||||
fsmStep();
|
fsmStep();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,6 +42,20 @@ void KlappenAblauf::fsmInit(){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void KlappenAblauf::openSpeicherAbfrage(){
|
||||||
|
if(openSpeicher){
|
||||||
|
if(aktuellerState == WARTE_GESCHLOSSEN){
|
||||||
|
aktuellerState = START_AUF;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(aktuellerState == WARTE_OFFEN){
|
||||||
|
aktuellerState = START_ZU;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void KlappenAblauf::fsmStep(){
|
void KlappenAblauf::fsmStep(){
|
||||||
|
|
||||||
|
@ -36,8 +36,8 @@ public:
|
|||||||
/**
|
/**
|
||||||
* @param open
|
* @param open
|
||||||
*/
|
*/
|
||||||
statusKlappen setOpen(bool open);
|
void setOpen(bool open);
|
||||||
static statusKlappen setOpen(bool open , int id);
|
static void setOpen(bool open , int id);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
@ -53,6 +53,9 @@ protected:
|
|||||||
private:
|
private:
|
||||||
|
|
||||||
int16_t timer;
|
int16_t timer;
|
||||||
|
|
||||||
|
bool openSpeicher;
|
||||||
|
void openSpeicherAbfrage();
|
||||||
typedef enum fsmStatesEnum{
|
typedef enum fsmStatesEnum{
|
||||||
INIT,
|
INIT,
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user