Skip to content

Commit

Permalink
doc: Added some examples
Browse files Browse the repository at this point in the history
  • Loading branch information
mochalins committed Sep 21, 2024
1 parent 2fda69f commit 82b41c0
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,49 @@
# serialport

![Linux Port Iteration Result](assets/Linux_Iteration_Demo.png)

## Examples

### Port Iteration

```zig
// ...
var it = try serialport.iterate();
defer it.deinit();
while (try it.next()) |stub| {
// Stub name used only to identify port, not to open it.
std.log.info("Found COM port {s}", .{stub.name});
std.log.info("Port file path: {s}", .{stub.path});
}
// ...
```

### Polling Reads

```zig
// ...
var port = try serialport.open(my_port_path);
defer port.close();
try port.configure(.{
.baud_rate = .B115200,
});
const reader = port.reader();
var read_buffer: [128]u8 = undefined;
const timeout = 1_000 * std.time.ns_per_ms;
var timer = try std.time.Timer.start();
// Keep polling and reading until no bytes arrive for 1000ms.
while (timer.read() < timeout) {
if (try port.poll()) {
const read_size = try reader.read(&read_buffer);
std.log.info("Port bytes arrived: {any}", .{read_buffer[0..read_size]});
timer.reset();
}
}
// ...
```

0 comments on commit 82b41c0

Please sign in to comment.