Skip to content

Latest commit

 

History

History
55 lines (39 loc) · 1.54 KB

README.md

File metadata and controls

55 lines (39 loc) · 1.54 KB

Zig Serial Port Library

Library for configuring and listing serial ports.

Features

  • Basic serial port configuration
    • Baud Rate
    • Parity (none, even, odd, mark, space)
    • Stop Bits (one, two)
    • Handshake (none, hardware, software)
    • Byte Size (5, 6, 7, 8)
  • Flush serial port send/receive buffers
  • List available serial ports
  • API: supports Windows, Linux and Mac

Example

// Port configuration.
// Serial ports are just files, \\.\COM1 for COM1 on Windows:
var serial = try std.fs.cwd().openFile("\\\\.\\COM1", .{ .mode = .read_write }) ;
defer serial.close();

try zig_serial.configureSerialPort(serial, zig_serial.SerialConfig{
    .baud_rate = 19200,
    .word_size = 8,
    .parity = .none,
    .stop_bits = .one,
    .handshake = .none,
});

Usage

Library integration

Integrate the library in your project via the Zig package manager:

  • add serial to your .zig.zon file by providing the URL to the archive of a tag or specific commit of the library
  • to update the hash, run zig fetch --save [URL/to/tag/or/commit.tar.gz]

Running tests

The build.zig file contains a test step that can be called with zig build test. Note that this requires a serial port to be available on the system;

  • Linux: /dev/ttyUSB0
  • Mac: /dev/cu.usbmodem101
  • Windows: COM3

Building the examples

You can build the examples from the ./examples directory by calling zig build examples. Binaries will be generated in ./zig-out/bin by default.

  • Note that the list_port_info example currently only works on Windows