-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSmdn.Net.SkStackIP.csproj
More file actions
77 lines (63 loc) · 3.75 KB
/
Smdn.Net.SkStackIP.csproj
File metadata and controls
77 lines (63 loc) · 3.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<!--
SPDX-FileCopyrightText: 2021 smdn <smdn@smdn.jp>
SPDX-License-Identifier: MIT
-->
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net8.0;netstandard2.1</TargetFrameworks>
<VersionPrefix>1.6.0</VersionPrefix>
<VersionSuffix></VersionSuffix>
<PackageValidationBaselineVersion>1.0.0</PackageValidationBaselineVersion>
<NoWarn>CA1848;$(NoWarn)</NoWarn> <!-- CA1848: For improved performance, use the LoggerMessage delegates instead of calling 'LoggerExtensions.LogXxxxx(...)' -->
<NoWarn>CS1591;$(NoWarn)</NoWarn> <!-- CS1591: Missing XML comment for publicly visible type or member 'Type_or_Member' -->
</PropertyGroup>
<PropertyGroup Label="metadata">
<Description>Provides APIs for operating devices that implement Skyley Networks' SKSTACK IP.</Description>
<CopyrightYear>2021</CopyrightYear>
</PropertyGroup>
<PropertyGroup Label="package properties">
<PackageTags>SKSTACK,SKSTACK-IP,PANA,Route-B,ECHONET,ECHONET-Lite</PackageTags>
<GenerateNupkgReadmeFileDependsOnTargets>$(GenerateNupkgReadmeFileDependsOnTargets);GenerateReadmeFileContent</GenerateNupkgReadmeFileDependsOnTargets>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.IO.Pipelines" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0" />
<PackageReference Include="Polly.Core" Version="8.0.0" />
<PackageReference Include="Smdn.Fundamental.ControlPicture" Version="[3.0.0.1,4.0.0)" />
<PackageReference Include="Smdn.Fundamental.Encoding.Buffer" Version="[3.0.0,4.0.0)" Condition="$(TargetFramework.StartsWith('netstandard'))" />
<PackageReference Include="Smdn.Fundamental.PrintableEncoding.Hexadecimal" Version="[3.0.0,4.0.0)" />
</ItemGroup>
<ItemGroup>
<!-- Third party notice -->
<None
Include="$(MSBuildThisFileDirectory)..\..\ThirdPartyNotices.md"
Pack="true"
PackagePath="ThirdPartyNotices.md"
CopyToOutputDirectory="None"
/>
</ItemGroup>
<Target Name="GenerateReadmeFileContent" DependsOnTargets="ReadReadmeFileNoticeSectionContent">
<PropertyGroup>
<PackageReadmeFileContent><' [SKSTACK IP](https://www.skyley.com/wiki/?SKSTACK+IP+for+HAN).
This library supports to use any `Stream` or `PipeReader`/`PipeWriter` as the communication channel for the SKSTACK IP protocol, so it has the ability to communicate with devices that use other than serial ports, e.g., pseudo devices.
## Getting started
First, add package [$(PackageId)](https://www.nuget.org/packages/$(PackageId)) and [System.IO.Ports](https://www.nuget.org/packages/System.IO.Ports) to the project file.
```
dotnet add package $(PackageId)
dotnet add package System.IO.Ports
```
Next, open the serial port to which the SKSTACK-IP device is connected using with the `SerialPort` class.
Then, create a `SkStackClient` instance from the `SerialPort.BaseStream` and call the `SkStackClient`'s method to send the command.
```cs
$([System.IO.File]::ReadAllText('$(MSBuildThisFileDirectory)..\..\examples\$(PackageId)\getting-started\Program.cs').TrimEnd())
```
More examples can be found on the [GitHub repository]($(RepositoryUrl)/tree/main/examples/$(PackageId)/), including examples of using library features.
## Contributing
This project welcomes contributions, feedbacks and suggestions. You can contribute to this project by submitting [Issues]($(RepositoryUrl)/issues/new/choose) or [Pull Requests]($(RepositoryUrl)/pulls/) on the [GitHub repository]($(RepositoryUrl)).
## Notice
$(ReadmeFileNoticeSectionContent)
]]></PackageReadmeFileContent>
</PropertyGroup>
</Target>
</Project>