new
This commit is contained in:
parent
b4513dc418
commit
81c79b5e64
lib/treppe
@ -19,7 +19,8 @@
|
||||
#ifndef RTW_HEADER_FSMTreppe_h_
|
||||
#define RTW_HEADER_FSMTreppe_h_
|
||||
|
||||
#include <cstdint>
|
||||
#include <stdint.h>
|
||||
#include <Arduino.h>
|
||||
|
||||
// Class declaration for model FSMTreppe
|
||||
class FSMTreppeModelClass {
|
||||
@ -34,17 +35,17 @@ class FSMTreppeModelClass {
|
||||
|
||||
// External inputs (root inport signals with default storage)
|
||||
struct ExtU_FSMTreppe_T {
|
||||
uint32_t sensor_unten; // '<Root>/sensor_unten'
|
||||
uint32_t sensor_oben; // '<Root>/sensor_oben'
|
||||
uint32_t anim_beendet; // '<Root>/anim_beendet'
|
||||
uint32_t ldr_schwelle; // '<Root>/ldr_schwelle'
|
||||
int sensor_unten; // '<Root>/sensor_unten'
|
||||
int sensor_oben; // '<Root>/sensor_oben'
|
||||
int anim_beendet; // '<Root>/anim_beendet'
|
||||
int ldr_schwelle; // '<Root>/ldr_schwelle'
|
||||
};
|
||||
|
||||
// External outputs (root outports fed by signals with default storage)
|
||||
struct ExtY_FSMTreppe_T {
|
||||
uint32_t laufrichtung; // '<Root>/laufrichtung'
|
||||
uint32_t status; // '<Root>/status'
|
||||
uint32_t dimmrichtung; // '<Root>/dimmrichtung'
|
||||
int laufrichtung; // '<Root>/laufrichtung'
|
||||
int status; // '<Root>/status'
|
||||
int dimmrichtung; // '<Root>/dimmrichtung'
|
||||
};
|
||||
|
||||
// model initialize function
|
||||
|
@ -115,7 +115,7 @@ void Treppe::print_state_on_change()
|
||||
last_out.laufrichtung = fsm_outputs.laufrichtung;
|
||||
last_out.status = fsm_outputs.status;
|
||||
|
||||
Serial.printf("FSM IN: s_u: %d, s_o: %d ldr_sw: %d, beendet: %d =>",
|
||||
Serial.printf("FSM IN: s_u: %d, s_o: %d ldr_sw: %d, beendet: %d => ",
|
||||
fsm_inputs.sensor_oben, fsm_inputs.sensor_unten, fsm_inputs.ldr_schwelle, fsm_inputs.anim_beendet);
|
||||
Serial.printf("OUT: LR: %d DR: %d ST: %d\n",
|
||||
fsm_outputs.laufrichtung, fsm_outputs.dimmrichtung, fsm_outputs.status);
|
||||
@ -221,29 +221,30 @@ bool Treppe::check_ldr()
|
||||
void Treppe::task()
|
||||
{
|
||||
uint32_t m=micros();
|
||||
fsm_inputs.ldr_schwelle = check_ldr();
|
||||
Serial.print("1:");
|
||||
Serial.println(micros()-m);
|
||||
// fsm_inputs.ldr_schwelle = check_ldr();
|
||||
fsm_inputs.ldr_schwelle = 1;
|
||||
// Serial.print("1:");
|
||||
// Serial.println(micros()-m);
|
||||
|
||||
m=micros();
|
||||
fsm_inputs.sensor_oben = read_sensor(SENSOR_OBEN);
|
||||
fsm_inputs.sensor_unten = read_sensor(SENSOR_UNTEN);
|
||||
fsm_inputs.anim_beendet = anim_beendet;
|
||||
fsm_inputs.anim_beendet = 1;
|
||||
// Serial.print("2:");
|
||||
// Serial.println(micros()-m);
|
||||
|
||||
m=micros();
|
||||
FSMTreppe_Obj.setExternalInputs(&fsm_inputs);
|
||||
FSMTreppe_Obj->setExternalInputs(&fsm_inputs);
|
||||
// Serial.print("3:");
|
||||
// Serial.println(micros()-m);
|
||||
|
||||
m=micros();
|
||||
FSMTreppe_Obj.step();
|
||||
FSMTreppe_Obj->step();
|
||||
// Serial.print("4:");
|
||||
// Serial.println(micros()-m);
|
||||
|
||||
m=micros();
|
||||
fsm_outputs = FSMTreppe_Obj.getExternalOutputs();
|
||||
fsm_outputs = FSMTreppe_Obj->getExternalOutputs();
|
||||
// Serial.print("5:");
|
||||
// Serial.println(micros()-m);
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#ifndef __TREPPE_H
|
||||
#define __TREPPE_H
|
||||
|
||||
#include "FSMTreppe3/FSMTreppe3.h"
|
||||
#include "FSMTreppe2/FSMTreppe2.h"
|
||||
#include "PCA9685.h"
|
||||
|
||||
// #define LDRDEBUG // comment in to override LDR measurement
|
||||
@ -53,7 +53,7 @@ private:
|
||||
|
||||
// initialize with i2c-Address 0, use Wire Library
|
||||
PCA9685 pwmController;
|
||||
FSMTreppeModelClass FSMTreppe_Obj;
|
||||
FSMTreppeModelClass* FSMTreppe_Obj;
|
||||
FSMTreppeModelClass::ExtU_FSMTreppe_T fsm_inputs;
|
||||
FSMTreppeModelClass::ExtY_FSMTreppe_T fsm_outputs;
|
||||
enum fsm_status_t {
|
||||
@ -91,11 +91,13 @@ private:
|
||||
bool check_ldr();
|
||||
public:
|
||||
Treppe(uint8_t _stufen) : stufen(_stufen){
|
||||
FSMTreppe_Obj.initialize();
|
||||
FSMTreppe_Obj = new FSMTreppeModelClass;
|
||||
FSMTreppe_Obj->initialize();
|
||||
berechne_dimmer();
|
||||
}
|
||||
~Treppe() {
|
||||
FSMTreppe_Obj.terminate();
|
||||
FSMTreppe_Obj->terminate();
|
||||
delete FSMTreppe_Obj;
|
||||
}
|
||||
|
||||
void setup();
|
||||
|
Loading…
x
Reference in New Issue
Block a user