use KnxFacade for linux too

This commit is contained in:
Thomas Kunze
2019-05-18 21:04:49 +02:00
parent b34c3d4ddc
commit 9cbd9a0760
12 changed files with 94 additions and 140 deletions

View File

@@ -4,7 +4,7 @@
cmake_minimum_required(VERSION 2.7)
project(knx-linux)
set(LIBRARIES_FROM_REFERENCES "")
add_executable(knx-linux ../src/knx/address_table_object.cpp ../src/knx/apdu.cpp ../src/knx/application_layer.cpp ../src/knx/application_program_object.cpp ../src/knx/association_table_object.cpp ../src/knx/bau.cpp ../src/knx/bau07B0.cpp ../src/knx/bau57B0.cpp ../src/knx/bau_systemB.cpp ../src/knx/bits.cpp ../src/knx/cemi_frame.cpp ../src/knx/data_link_layer.cpp ../src/knx/datapoint_types.cpp ../src/knx/device_object.cpp ../src/knx/group_object.cpp ../src/knx/group_object_table_object.cpp ../src/knx/interface_object.cpp ../src/knx/ip_data_link_layer.cpp ../src/knx/ip_parameter_object.cpp ../src/knx/memory.cpp ../src/knx/network_layer.cpp ../src/knx/npdu.cpp ../src/knx/table_object.cpp ../src/knx/tpdu.cpp ../src/knx/tpuart_data_link_layer.cpp ../src/knx/transport_layer.cpp ../src/knx/platform.cpp main.cpp ../src/linux_platform.cpp)
add_executable(knx-linux ../src/knx/address_table_object.cpp ../src/knx/apdu.cpp ../src/knx/application_layer.cpp ../src/knx/application_program_object.cpp ../src/knx/association_table_object.cpp ../src/knx/bau.cpp ../src/knx/bau07B0.cpp ../src/knx/bau57B0.cpp ../src/knx/bau_systemB.cpp ../src/knx/bits.cpp ../src/knx/cemi_frame.cpp ../src/knx/data_link_layer.cpp ../src/knx/datapoint_types.cpp ../src/knx/device_object.cpp ../src/knx/group_object.cpp ../src/knx/group_object_table_object.cpp ../src/knx/interface_object.cpp ../src/knx/ip_data_link_layer.cpp ../src/knx/ip_parameter_object.cpp ../src/knx/memory.cpp ../src/knx/network_layer.cpp ../src/knx/npdu.cpp ../src/knx/table_object.cpp ../src/knx/tpdu.cpp ../src/knx/tpuart_data_link_layer.cpp ../src/knx/transport_layer.cpp ../src/knx/platform.cpp main.cpp ../src/linux_platform.cpp ../src/knx_facade.cpp)
target_link_libraries(knx-linux "${LIBRARIES_FROM_REFERENCES}")
include_directories(../src)
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wall -Wno-unknown-pragmas -Wno-switch -g -O0")

View File

@@ -115,7 +115,7 @@
<HideErrorsInSystemHeaders>true</HideErrorsInSystemHeaders>
<SupportLightweightReferenceAnalysis>true</SupportLightweightReferenceAnalysis>
<DiscoverySettings>
<Mode>Enabled</Mode>
<Mode>Disabled</Mode>
<SearchInProjectDir>true</SearchInProjectDir>
<SearchInSourceDirs>true</SearchInSourceDirs>
<SearchInIncludeSubdirs>true</SearchInIncludeSubdirs>

View File

@@ -44,7 +44,7 @@
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<NMakeIncludeSearchPath>$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\c++\6;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\x86_64-linux-gnu\c++\6;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\c++\6\backward;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0003\include;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0005\include;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0004\include-fixed;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\x86_64-linux-gnu;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include;$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
<NMakeIncludeSearchPath>$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\c++\6;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\x86_64-linux-gnu\c++\6;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\c++\6\backward;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0003\include;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0005\include;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0004\include-fixed;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\x86_64-linux-gnu;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include;..\src;$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
<NMakeForcedIncludes>$(ProjectDir)\gcc_Debug.h;$(VISUALGDB_DIR)\gcc_compat.h;$(NMakeForcedIncludes)</NMakeForcedIncludes>
<NMakeBuildCommandLine>"$(VISUALGDB_DIR)\VisualGDB.exe" /build "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)"</NMakeBuildCommandLine>
<NMakeCleanCommandLine>"$(VISUALGDB_DIR)\VisualGDB.exe" /clean "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)"</NMakeCleanCommandLine>
@@ -70,6 +70,7 @@
<ItemDefinitionGroup>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\src\knx.h" />
<ClInclude Include="..\src\knx\address_table_object.h" />
<ClInclude Include="..\src\knx\apdu.h" />
<ClInclude Include="..\src\knx\application_layer.h" />
@@ -100,6 +101,7 @@
<ClInclude Include="..\src\knx\tpdu.h" />
<ClInclude Include="..\src\knx\tpuart_data_link_layer.h" />
<ClInclude Include="..\src\knx\transport_layer.h" />
<ClInclude Include="..\src\knx_facade.h" />
<ClInclude Include="..\src\linux_platform.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
@@ -139,6 +141,7 @@
<ClCompile Include="..\src\knx\tpdu.cpp" />
<ClCompile Include="..\src\knx\tpuart_data_link_layer.cpp" />
<ClCompile Include="..\src\knx\transport_layer.cpp" />
<ClCompile Include="..\src\knx_facade.cpp" />
<ClCompile Include="..\src\linux_platform.cpp" />
<ClCompile Include="main.cpp" />
</ItemGroup>

View File

@@ -129,6 +129,12 @@
<ClInclude Include="..\src\knx\transport_layer.h">
<Filter>Header files\knx</Filter>
</ClInclude>
<ClInclude Include="..\src\knx_facade.h">
<Filter>Header files</Filter>
</ClInclude>
<ClInclude Include="..\src\knx.h">
<Filter>Header files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\knx\address_table_object.cpp">
@@ -218,5 +224,8 @@
<ClCompile Include="main.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\src\knx_facade.cpp">
<Filter>Source files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -1,4 +1,4 @@
#include "linux_platform.h"
#include "knx_facade.h"
#include "knx/bau57B0.h"
#include "knx/group_object_table_object.h"
#include <time.h>
@@ -7,16 +7,17 @@
LinuxPlatform platfrom;
Bau57B0 bau(platfrom);
KnxFacade knx(bau);
float currentValue = 0;
float maxValue = 0;
float minValue = RAND_MAX;
long lastsend = 0;
#define CURR bau.groupObjectTable().get(1)
#define MAX bau.groupObjectTable().get(2)
#define MIN bau.groupObjectTable().get(3)
#define RESET bau.groupObjectTable().get(4)
#define CURR knx.getGroupObject(1)
#define MAX knx.getGroupObject(2)
#define MIN knx.getGroupObject(3)
#define RESET knx.getGroupObject(4)
void measureTemp()
{
@@ -65,23 +66,21 @@ void appLoop()
void setup()
{
srand((unsigned int)time(NULL));
bau.readMemory();
if (bau.configured())
RESET.callback(resetCallback);
knx.readMemory();
if (bau.deviceObject().induvidualAddress() == 0)
bau.deviceObject().progMode(true);
if (knx.induvidualAddress() == 0)
knx.progMode(true);
if (bau.parameters().loadState() == LS_LOADED)
if (knx.configured())
{
RESET.callback(resetCallback);
printf("Timeout: %d\n", bau.parameters().getWord(0));
printf("Zykl. senden: %d\n", bau.parameters().getByte(2));
printf("Min/Max senden: %d\n", bau.parameters().getByte(3));
printf("Aenderung senden: %d\n", bau.parameters().getByte(4));
printf("Abgleich %d\n", bau.parameters().getByte(5));
}
bau.enabled(true);
knx.start();
}
int main(int argc, char **argv)
@@ -90,8 +89,9 @@ int main(int argc, char **argv)
while (1)
{
bau.loop();
appLoop();
knx.loop();
if(knx.configured())
appLoop();
platfrom.mdelay(100);
}
}