Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Revolution Pi] order of adapters changed #47

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
137 changes: 137 additions & 0 deletions src/modules/convert/CHAR2CHAR_fbt.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
/*************************************************************************
*** FORTE Library Element
***
*** This file was generated using the 4DIAC FORTE Export Filter V1.0.x NG!
***
*** Name: CHAR2CHAR
*** Description:
*** Version:
*** 1.0: 2023-04-28/Martin Jobst - -
*************************************************************************/

#include "CHAR2CHAR_fbt.h"
#ifdef FORTE_ENABLE_GENERATED_SOURCE_CPP
#include "CHAR2CHAR_fbt_gen.cpp"
#endif

#include "criticalregion.h"
#include "resource.h"
#include "forte_char.h"
#include "iec61131_functions.h"
#include "forte_array_common.h"
#include "forte_array.h"
#include "forte_array_fixed.h"
#include "forte_array_variable.h"

DEFINE_FIRMWARE_FB(FORTE_CHAR2CHAR, g_nStringIdCHAR2CHAR)

const CStringDictionary::TStringId FORTE_CHAR2CHAR::scmDataInputNames[] = {g_nStringIdIN};
const CStringDictionary::TStringId FORTE_CHAR2CHAR::scmDataInputTypeIds[] = {g_nStringIdCHAR};
const CStringDictionary::TStringId FORTE_CHAR2CHAR::scmDataOutputNames[] = {g_nStringIdOUT};
const CStringDictionary::TStringId FORTE_CHAR2CHAR::scmDataOutputTypeIds[] = {g_nStringIdCHAR};
const TDataIOID FORTE_CHAR2CHAR::scmEIWith[] = {0, scmWithListDelimiter};
const TForteInt16 FORTE_CHAR2CHAR::scmEIWithIndexes[] = {0};
const CStringDictionary::TStringId FORTE_CHAR2CHAR::scmEventInputNames[] = {g_nStringIdREQ};
const TDataIOID FORTE_CHAR2CHAR::scmEOWith[] = {0, scmWithListDelimiter};
const TForteInt16 FORTE_CHAR2CHAR::scmEOWithIndexes[] = {0};
const CStringDictionary::TStringId FORTE_CHAR2CHAR::scmEventOutputNames[] = {g_nStringIdCNF};
const SFBInterfaceSpec FORTE_CHAR2CHAR::scmFBInterfaceSpec = {
1, scmEventInputNames, scmEIWith, scmEIWithIndexes,
1, scmEventOutputNames, scmEOWith, scmEOWithIndexes,
1, scmDataInputNames, scmDataInputTypeIds,
1, scmDataOutputNames, scmDataOutputTypeIds,
0, nullptr,
0, nullptr
};

FORTE_CHAR2CHAR::FORTE_CHAR2CHAR(const CStringDictionary::TStringId paInstanceNameId, forte::core::CFBContainer &paContainer) :
CSimpleFB(paContainer, &scmFBInterfaceSpec, paInstanceNameId, nullptr),
var_conn_OUT(var_OUT),
conn_CNF(this, 0),
conn_IN(nullptr),
conn_OUT(this, 0, &var_conn_OUT) {
}

void FORTE_CHAR2CHAR::setInitialValues() {
var_IN = '\0'_CHAR;
var_OUT = '\0'_CHAR;
}

void FORTE_CHAR2CHAR::executeEvent(const TEventID paEIID, CEventChainExecutionThread *const paECET) {
switch(paEIID) {
case scmEventREQID:
alg_REQ();
break;
default:
break;
}
sendOutputEvent(scmEventCNFID, paECET);
}

void FORTE_CHAR2CHAR::readInputData(const TEventID paEIID) {
switch(paEIID) {
case scmEventREQID: {
readData(0, var_IN, conn_IN);
break;
}
default:
break;
}
}

void FORTE_CHAR2CHAR::writeOutputData(const TEventID paEIID) {
switch(paEIID) {
case scmEventCNFID: {
writeData(0, var_OUT, conn_OUT);
break;
}
default:
break;
}
}

CIEC_ANY *FORTE_CHAR2CHAR::getDI(const size_t paIndex) {
switch(paIndex) {
case 0: return &var_IN;
}
return nullptr;
}

CIEC_ANY *FORTE_CHAR2CHAR::getDO(const size_t paIndex) {
switch(paIndex) {
case 0: return &var_OUT;
}
return nullptr;
}

CEventConnection *FORTE_CHAR2CHAR::getEOConUnchecked(const TPortId paIndex) {
switch(paIndex) {
case 0: return &conn_CNF;
}
return nullptr;
}

CDataConnection **FORTE_CHAR2CHAR::getDIConUnchecked(const TPortId paIndex) {
switch(paIndex) {
case 0: return &conn_IN;
}
return nullptr;
}

CDataConnection *FORTE_CHAR2CHAR::getDOConUnchecked(const TPortId paIndex) {
switch(paIndex) {
case 0: return &conn_OUT;
}
return nullptr;
}

CIEC_ANY *FORTE_CHAR2CHAR::getVarInternal(size_t) {
return nullptr;
}

void FORTE_CHAR2CHAR::alg_REQ(void) {

#line 2 "CHAR2CHAR.fbt"
var_OUT = var_IN;
}

84 changes: 84 additions & 0 deletions src/modules/convert/CHAR2CHAR_fbt.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
/*************************************************************************
*** FORTE Library Element
***
*** This file was generated using the 4DIAC FORTE Export Filter V1.0.x NG!
***
*** Name: CHAR2CHAR
*** Description:
*** Version:
*** 1.0: 2023-04-28/Martin Jobst - -
*************************************************************************/

#pragma once

#include "simplefb.h"
#include "forte_char.h"
#include "iec61131_functions.h"
#include "forte_array_common.h"
#include "forte_array.h"
#include "forte_array_fixed.h"
#include "forte_array_variable.h"


class FORTE_CHAR2CHAR final : public CSimpleFB {
DECLARE_FIRMWARE_FB(FORTE_CHAR2CHAR)

private:
static const CStringDictionary::TStringId scmDataInputNames[];
static const CStringDictionary::TStringId scmDataInputTypeIds[];
static const CStringDictionary::TStringId scmDataOutputNames[];
static const CStringDictionary::TStringId scmDataOutputTypeIds[];
static const TEventID scmEventREQID = 0;
static const TDataIOID scmEIWith[];
static const TForteInt16 scmEIWithIndexes[];
static const CStringDictionary::TStringId scmEventInputNames[];
static const TEventID scmEventCNFID = 0;
static const TDataIOID scmEOWith[];
static const TForteInt16 scmEOWithIndexes[];
static const CStringDictionary::TStringId scmEventOutputNames[];

static const SFBInterfaceSpec scmFBInterfaceSpec;

CIEC_ANY *getVarInternal(size_t) override;

void alg_REQ(void);

void executeEvent(TEventID paEIID, CEventChainExecutionThread *const paECET) override;

void readInputData(TEventID paEIID) override;
void writeOutputData(TEventID paEIID) override;
void setInitialValues() override;

public:
FORTE_CHAR2CHAR(CStringDictionary::TStringId paInstanceNameId, forte::core::CFBContainer &paContainer);

CIEC_CHAR var_IN;

CIEC_CHAR var_OUT;

CIEC_CHAR var_conn_OUT;

CEventConnection conn_CNF;

CDataConnection *conn_IN;

CDataConnection conn_OUT;

CIEC_ANY *getDI(size_t) override;
CIEC_ANY *getDO(size_t) override;
CEventConnection *getEOConUnchecked(TPortId) override;
CDataConnection **getDIConUnchecked(TPortId) override;
CDataConnection *getDOConUnchecked(TPortId) override;

void evt_REQ(const CIEC_CHAR &paIN, CIEC_CHAR &paOUT) {
var_IN = paIN;
executeEvent(scmEventREQID, nullptr);
paOUT = var_OUT;
}

void operator()(const CIEC_CHAR &paIN, CIEC_CHAR &paOUT) {
evt_REQ(paIN, paOUT);
}
};


18 changes: 11 additions & 7 deletions src/modules/convert/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,16 @@ forte_add_module(CONVERT OFF "Convert Function Blocks")
#############################################################################
# Convert FB
#############################################################################
forte_add_sourcefile_hcpp( BOOL2BOOL BYTE2BYTE DINT2DINT DWORD2DWORD )
forte_add_sourcefile_hcpp( INT2INT SINT2SINT )
forte_add_sourcefile_hcpp( STRING2STRING TIME2TIME UINT2UINT UDINT2UDINT )
forte_add_sourcefile_hcpp( USINT2USINT WORD2WORD WSTRING2WSTRING )
forte_add_sourcefile_hcpp( BOOL2BOOL BYTE2BYTE )
forte_add_sourcefile_hcpp( WORD2WORD LWORD2LWORD_fbt DWORD2DWORD )
forte_add_sourcefile_hcpp( CHAR2CHAR_fbt WCHAR2WCHAR_fbt )
forte_add_sourcefile_hcpp( INT2INT SINT2SINT DINT2DINT LINT2LINT_fbt )
forte_add_sourcefile_hcpp( USINT2USINT UINT2UINT UDINT2UDINT ULINT2ULINT_fbt )
forte_add_sourcefile_hcpp( STRING2STRING WSTRING2WSTRING )
forte_add_sourcefile_hcpp( TIME2TIME LTIME2LTIME_fbt )
forte_add_sourcefile_hcpp( DATE2DATE_fbt LDATE2LDATE_fbt )
forte_add_sourcefile_hcpp( DT2DT_fbt LDT2LDT_fbt )
forte_add_sourcefile_hcpp( TOD2TOD_fbt LTOD2LTOD_fbt )
forte_add_sourcefile_hcpp( REAL2REAL LREAL2LREAL )
forte_add_sourcefile_hcpp( GEN_STRUCT_MUX GEN_STRUCT_DEMUX )
forte_add_sourcefile_hcpp(REAL2REAL)
forte_add_sourcefile_hcpp(LREAL2LREAL)


137 changes: 137 additions & 0 deletions src/modules/convert/DATE2DATE_fbt.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
/*************************************************************************
*** FORTE Library Element
***
*** This file was generated using the 4DIAC FORTE Export Filter V1.0.x NG!
***
*** Name: DATE2DATE
*** Description:
*** Version:
*** 1.0: 2023-04-28/Martin Jobst - -
*************************************************************************/

#include "DATE2DATE_fbt.h"
#ifdef FORTE_ENABLE_GENERATED_SOURCE_CPP
#include "DATE2DATE_fbt_gen.cpp"
#endif

#include "criticalregion.h"
#include "resource.h"
#include "forte_date.h"
#include "iec61131_functions.h"
#include "forte_array_common.h"
#include "forte_array.h"
#include "forte_array_fixed.h"
#include "forte_array_variable.h"

DEFINE_FIRMWARE_FB(FORTE_DATE2DATE, g_nStringIdDATE2DATE)

const CStringDictionary::TStringId FORTE_DATE2DATE::scmDataInputNames[] = {g_nStringIdIN};
const CStringDictionary::TStringId FORTE_DATE2DATE::scmDataInputTypeIds[] = {g_nStringIdDATE};
const CStringDictionary::TStringId FORTE_DATE2DATE::scmDataOutputNames[] = {g_nStringIdOUT};
const CStringDictionary::TStringId FORTE_DATE2DATE::scmDataOutputTypeIds[] = {g_nStringIdDATE};
const TDataIOID FORTE_DATE2DATE::scmEIWith[] = {0, scmWithListDelimiter};
const TForteInt16 FORTE_DATE2DATE::scmEIWithIndexes[] = {0};
const CStringDictionary::TStringId FORTE_DATE2DATE::scmEventInputNames[] = {g_nStringIdREQ};
const TDataIOID FORTE_DATE2DATE::scmEOWith[] = {0, scmWithListDelimiter};
const TForteInt16 FORTE_DATE2DATE::scmEOWithIndexes[] = {0};
const CStringDictionary::TStringId FORTE_DATE2DATE::scmEventOutputNames[] = {g_nStringIdCNF};
const SFBInterfaceSpec FORTE_DATE2DATE::scmFBInterfaceSpec = {
1, scmEventInputNames, scmEIWith, scmEIWithIndexes,
1, scmEventOutputNames, scmEOWith, scmEOWithIndexes,
1, scmDataInputNames, scmDataInputTypeIds,
1, scmDataOutputNames, scmDataOutputTypeIds,
0, nullptr,
0, nullptr
};

FORTE_DATE2DATE::FORTE_DATE2DATE(const CStringDictionary::TStringId paInstanceNameId, forte::core::CFBContainer &paContainer) :
CSimpleFB(paContainer, &scmFBInterfaceSpec, paInstanceNameId, nullptr),
var_conn_OUT(var_OUT),
conn_CNF(this, 0),
conn_IN(nullptr),
conn_OUT(this, 0, &var_conn_OUT) {
}

void FORTE_DATE2DATE::setInitialValues() {
var_IN = 0_DATE;
var_OUT = 0_DATE;
}

void FORTE_DATE2DATE::executeEvent(const TEventID paEIID, CEventChainExecutionThread *const paECET) {
switch(paEIID) {
case scmEventREQID:
alg_REQ();
break;
default:
break;
}
sendOutputEvent(scmEventCNFID, paECET);
}

void FORTE_DATE2DATE::readInputData(const TEventID paEIID) {
switch(paEIID) {
case scmEventREQID: {
readData(0, var_IN, conn_IN);
break;
}
default:
break;
}
}

void FORTE_DATE2DATE::writeOutputData(const TEventID paEIID) {
switch(paEIID) {
case scmEventCNFID: {
writeData(0, var_OUT, conn_OUT);
break;
}
default:
break;
}
}

CIEC_ANY *FORTE_DATE2DATE::getDI(const size_t paIndex) {
switch(paIndex) {
case 0: return &var_IN;
}
return nullptr;
}

CIEC_ANY *FORTE_DATE2DATE::getDO(const size_t paIndex) {
switch(paIndex) {
case 0: return &var_OUT;
}
return nullptr;
}

CEventConnection *FORTE_DATE2DATE::getEOConUnchecked(const TPortId paIndex) {
switch(paIndex) {
case 0: return &conn_CNF;
}
return nullptr;
}

CDataConnection **FORTE_DATE2DATE::getDIConUnchecked(const TPortId paIndex) {
switch(paIndex) {
case 0: return &conn_IN;
}
return nullptr;
}

CDataConnection *FORTE_DATE2DATE::getDOConUnchecked(const TPortId paIndex) {
switch(paIndex) {
case 0: return &conn_OUT;
}
return nullptr;
}

CIEC_ANY *FORTE_DATE2DATE::getVarInternal(size_t) {
return nullptr;
}

void FORTE_DATE2DATE::alg_REQ(void) {

#line 2 "DATE2DATE.fbt"
var_OUT = var_IN;
}

Loading