Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
Apollo3zehn committed Jul 6, 2021
2 parents 01f69bd + 365f290 commit a393757
Show file tree
Hide file tree
Showing 19 changed files with 1,704 additions and 15 deletions.
2 changes: 1 addition & 1 deletion .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ deploy:
- provider: NuGet
server: https://www.nuget.org/api/v2/package
api_key:
secure: hyUV3r8p7ThyhI+6EqjtLLvxprX0EJpbUcaj8XUNTvT9Yb9/OW2pnE1Ue7wiATwu
secure: /+MsVllJKX6M/MHBmCXaBFf1ttNDSqO04J7frGM81UUgBwfDUs6Wn4WufiU0Wl3/
skip_symbols: true
artifact: /.*\.nupkg/
on:
Expand Down
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@
[![AppVeyor](https://ci.appveyor.com/api/projects/status/github/apollo3zehn/ethercat.net?svg=true&branch=master)](https://ci.appveyor.com/project/Apollo3zehn/ethercat-net)
[![NuGet](https://img.shields.io/nuget/vpre/ethercat.net.svg)](https://www.nuget.org/packages/EtherCAT.NET)

A large amount of the logic of EtherCAT.NET comes from the data acquisition software [OneDAS](https://github.com/OneDAS-Group/OneDAS-Core), where the master has been extensively tested on many slaves from Beckhoff, Gantner and Anybus. Due to the effort to reduce protocol specific logic within OneDAS and to allow standalone use of the EtherCAT master, EtherCAT.NET was born.

EtherCAT.NET itself provides high-level abstraction of the underlying native *Simple Open Source EtherCAT Master* ([SOEM](https://github.com/OpenEtherCATsociety/soem)). To accomplish this, the solution contains another project: SOEM.PInvoke. It comprises the actual native libraries for Windows and Linux and allows to simply P/Invoke into the native SOEM methods. The intention is to provide a managed way to access the native SOEM master. EtherCAT.NET depends on SOEM.PInvoke and adds classes for high-level abstraction.
EtherCAT.NET provides high-level abstraction of the underlying native *Simple Open Source EtherCAT Master* ([SOEM](https://github.com/OpenEtherCATsociety/soem)). To accomplish this, the solution contains another project: SOEM.PInvoke. It comprises the actual native libraries for Windows and Linux and allows to simply P/Invoke into the native SOEM methods. The intention is to provide a managed way to access the native SOEM master. EtherCAT.NET depends on SOEM.PInvoke and adds classes for high-level abstraction.

In its current state, many, but not all planned features are implemented. Thus, only an alpha version is available ([NuGet](https://www.nuget.org/packages/EtherCAT.NET)) up to now. This mainly means that any EtherCAT network can be configured and started, but high-level features like simple configuration of the SDOs are not yet implemented.

Expand Down
2 changes: 1 addition & 1 deletion build/build.props
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<Major Condition="$(Major) == ''">1</Major>
<Minor Condition="$(Minor) == ''">0</Minor>
<Revision Condition="$(Revision) == ''">0</Revision>
<VersionSuffix Condition="$(VersionSuffix) == ''">alpha.7</VersionSuffix>
<VersionSuffix Condition="$(VersionSuffix) == ''">alpha.8</VersionSuffix>
</PropertyGroup>

<PropertyGroup>
Expand Down
8 changes: 6 additions & 2 deletions native/SOEM_wrapper/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
add_subdirectory(virtDev)

if(WIN32)
set(OS "win32")

Expand All @@ -6,9 +8,11 @@ if(WIN32)
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
link_directories(${CMAKE_SOURCE_DIR}/SOEM/oshw/win32/wpcap/Lib)
endif()
elseif(UNIX)
elseif(UNIX AND NOT APPLE)
set(OS "linux")
set(OS_LIBS pthread rt)
elseif(APPLE)
set(OS "macosx")
endif()

file(GLOB SOEM_WRAPPER_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.c)
Expand All @@ -29,4 +33,4 @@ target_include_directories(soem_wrapper PRIVATE ${CMAKE_SOURCE_DIR}/SOEM/osal)
target_include_directories(soem_wrapper PRIVATE ${CMAKE_SOURCE_DIR}/SOEM/osal/${OS})
target_include_directories(soem_wrapper PRIVATE ${CMAKE_SOURCE_DIR}/SOEM/oshw/${OS})

target_link_libraries(soem_wrapper PRIVATE soem)
target_link_libraries(soem_wrapper PRIVATE soem virt_dev)
13 changes: 13 additions & 0 deletions native/SOEM_wrapper/exports.def
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,19 @@ EXPORTS
GetState
DownloadFirmware
RegisterFOECallback
CreateVirtualNetworkDevice
CloseVirtualNetworkDevice
SendEthernetFramesToSlave
ReadEthernetFramesFromSlave
CreateVirtualSerialPort
CloseVirtualSerialPort
SendSerialDataToSlave
ReadSerialDataFromSlave
InitSerial
CloseSerial
RegisterSerialRxCallback
SetTxBuffer
UpdateSerialIo
RequestCommonState
ScanDevices
SdoWrite
Expand Down
Loading

0 comments on commit a393757

Please sign in to comment.