Skip to content

Commit 450bba5

Browse files
authored
Merge pull request #5 from OpenAC-Net/doc
Adicionado documentação as classes.
2 parents f851b59 + d1be758 commit 450bba5

File tree

16 files changed

+248
-72
lines changed

16 files changed

+248
-72
lines changed

.github/workflows/publish.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ jobs:
3434
- name: Setup .NET
3535
uses: actions/setup-dotnet@v4
3636
with:
37-
dotnet-version: '9.x'
37+
dotnet-version: |
38+
8.x
39+
9.x
3840
- run: dotnet msbuild OpenAC.Net.Devices.sln -property:Configuration=Release -property:platform="Any CPU"
3941
working-directory: src
4042
- run: dotnet pack --configuration Release --output ${{ env.NuGetDirectory }}

src/.idea/.idea.OpenAC.Net.Devices/.idea/workspace.xml

Lines changed: 46 additions & 29 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/OpenAC.Net.Devices.Blazor/Extensions/MemoryStreamExtensions.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,26 @@
3434

3535
namespace OpenAC.Net.Devices.Blazor.Extensions;
3636

37+
/// <summary>
38+
/// Métodos de extensão para <see cref="MemoryStream"/> relacionados ao Blazor.
39+
/// </summary>
3740
internal static class MemoryStreamExtensions
3841
{
42+
/// <summary>
43+
/// Converte o conteúdo do <see cref="MemoryStream"/> em um <see cref="ArrayBuffer"/>.
44+
/// </summary>
45+
/// <param name="ms">O <see cref="MemoryStream"/> de origem.</param>
46+
/// <returns>Um <see cref="ArrayBuffer"/> contendo os dados do stream.</returns>
3947
public static ArrayBuffer ToArrayBuffer(this MemoryStream ms)
4048
{
4149
using var uint8Array = new Uint8Array(ms.ToArray());
4250
return uint8Array.Buffer;
4351
}
4452

53+
/// <summary>
54+
/// Limpa o conteúdo do <see cref="MemoryStream"/>, zerando o buffer e redefinindo o tamanho e a posição.
55+
/// </summary>
56+
/// <param name="ms">O <see cref="MemoryStream"/> a ser limpo.</param>
4557
public static void Clear(this MemoryStream ms)
4658
{
4759
var buffer = ms.GetBuffer();

src/OpenAC.Net.Devices.Blazor/WebSerial/OpenWebSerialStream.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,20 @@
33

44
namespace OpenAC.Net.Devices.Blazor.WebSerial;
55

6+
/// <summary>
7+
/// Implementa um stream de comunicação serial via WebSerial para uso em aplicações Blazor.
8+
/// </summary>
69
public class OpenWebSerialStream(WebSerialConfig config) : OpenDeviceStream<WebSerialConfig>(config)
710
{
11+
/// <summary>
12+
/// Obtém a quantidade de bytes disponíveis para leitura no buffer.
13+
/// </summary>
814
protected override int Available => (int)((Reader?.BaseStream.Length ?? 0) - (Reader?.BaseStream.Position ?? 0));
915

16+
/// <summary>
17+
/// Limpa o buffer de leitura da porta serial.
18+
/// </summary>
19+
/// <exception cref="InvalidOperationException">Lançada se a porta serial não estiver configurada.</exception>
1020
public override void Limpar()
1121
{
1222
if(Config.Port == null)
@@ -17,6 +27,11 @@ public override void Limpar()
1727
Reader?.BaseStream.Flush();
1828
}
1929

30+
/// <summary>
31+
/// Abre a porta serial com as configurações especificadas.
32+
/// </summary>
33+
/// <returns>Verdadeiro se a porta foi aberta com sucesso, falso caso contrário.</returns>
34+
/// <exception cref="InvalidOperationException">Lançada se a porta serial não estiver configurada.</exception>
2035
protected override bool OpenInternal()
2136
{
2237
if(Config.Port == null)
@@ -47,6 +62,11 @@ protected override bool OpenInternal()
4762
}
4863
}
4964

65+
/// <summary>
66+
/// Fecha a porta serial e libera os recursos associados.
67+
/// </summary>
68+
/// <returns>Verdadeiro se a porta foi fechada com sucesso.</returns>
69+
/// <exception cref="InvalidOperationException">Lançada se a porta serial não estiver configurada.</exception>
5070
protected override bool CloseInternal()
5171
{
5272
if(Config.Port == null)

src/OpenAC.Net.Devices.Blazor/WebSerial/WebSerialConfig.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,43 @@
22

33
namespace OpenAC.Net.Devices.Blazor.WebSerial;
44

5+
/// <summary>
6+
/// Representa a configuração para comunicação via WebSerial.
7+
/// </summary>
58
public class WebSerialConfig() : BaseConfig("WebSerial")
69
{
10+
/// <summary>
11+
/// Porta serial selecionada.
12+
/// </summary>
713
public SerialPort? Port { get; set; }
814

15+
/// <summary>
16+
/// Taxa de transmissão em bauds. Padrão: 9600.
17+
/// </summary>
918
public int BaudRate { get; set; } = 9600;
1019

20+
/// <summary>
21+
/// Tamanho do buffer de leitura/escrita.
22+
/// </summary>
1123
public int? BufferSize { get; set; }
1224

25+
/// <summary>
26+
/// Número de bits de dados.
27+
/// </summary>
1328
public int? DataBits { get; set; }
1429

30+
/// <summary>
31+
/// Tipo de controle de fluxo.
32+
/// </summary>
1533
public FlowControlType? FlowControl { get; set; }
1634

35+
/// <summary>
36+
/// Tipo de paridade.
37+
/// </summary>
1738
public ParityType? Parity { get; set; }
1839

40+
/// <summary>
41+
/// Número de bits de parada.
42+
/// </summary>
1943
public int? StopBits { get; set; }
2044
}

src/OpenAC.Net.Devices.Blazor/WebSerial/WebSerialReadStream.cs

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,36 @@
33

44
namespace OpenAC.Net.Devices.Blazor.WebSerial;
55

6+
/// <summary>
7+
/// Implementa um <see cref="Stream"/> de leitura baseado em <see cref="ReadableStream"/> para WebSerial.
8+
/// </summary>
69
public sealed class WebSerialReadStream : Stream
710
{
811
#region Fields
912

13+
/// <summary>
14+
/// Stream interno para armazenamento dos dados lidos.
15+
/// </summary>
1016
private readonly MemoryStream readStream = new();
17+
18+
/// <summary>
19+
/// Stream legível de onde os dados são recebidos.
20+
/// </summary>
1121
private readonly ReadableStream readableStream;
22+
23+
/// <summary>
24+
/// Token de cancelamento para controle da leitura assíncrona.
25+
/// </summary>
1226
private readonly CancellationTokenSource cts = new();
1327

1428
#endregion Fields
1529

1630
#region Constructors
1731

32+
/// <summary>
33+
/// Inicializa uma nova instância de <see cref="WebSerialReadStream"/>.
34+
/// </summary>
35+
/// <param name="readable">O <see cref="ReadableStream"/> de origem.</param>
1836
public WebSerialReadStream(ReadableStream readable)
1937
{
2038
readableStream = readable;
@@ -24,15 +42,20 @@ public WebSerialReadStream(ReadableStream readable)
2442
#endregion Constructors
2543

2644
#region Properties
27-
45+
46+
/// <inheritdoc/>
2847
public override bool CanRead => true;
2948

49+
/// <inheritdoc/>
3050
public override bool CanSeek => true;
3151

52+
/// <inheritdoc/>
3253
public override bool CanWrite => false;
3354

55+
/// <inheritdoc/>
3456
public override long Length => readStream.Length;
3557

58+
/// <inheritdoc/>
3659
public override long Position
3760
{
3861
get => readStream.Position;
@@ -43,16 +66,24 @@ public override long Position
4366

4467
#region Methods
4568

69+
/// <inheritdoc/>
4670
public override long Seek(long offset, SeekOrigin origin) => readStream.Seek(offset, origin);
4771

72+
/// <inheritdoc/>
4873
public override void SetLength(long value) => readStream.SetLength(value);
4974

75+
/// <inheritdoc/>
5076
public override int Read(byte[] buffer, int offset, int count) => readStream.Read(buffer, offset, count);
5177

78+
/// <inheritdoc/>
5279
public override void Write(byte[] buffer, int offset, int count) => throw new NotSupportedException();
5380

81+
/// <inheritdoc/>
5482
public override void Flush() => readStream.Clear();
55-
83+
84+
/// <summary>
85+
/// Inicia a leitura assíncrona do <see cref="ReadableStream"/> e armazena os dados no <see cref="readStream"/>.
86+
/// </summary>
5687
private void ReadStream()
5788
{
5889
Task.Run(async () =>
@@ -76,7 +107,8 @@ private void ReadStream()
76107

77108
}, cts.Token);
78109
}
79-
110+
111+
/// <inheritdoc/>
80112
protected override void Dispose(bool disposing)
81113
{
82114
if (!disposing) return;

0 commit comments

Comments
 (0)