Skip to content

Commit

Permalink
Vale based fixes
Browse files Browse the repository at this point in the history
Signed-off-by: Travis F. Collins <travis.collins@analog.com>
  • Loading branch information
tfcollins committed Aug 22, 2024
1 parent c8a5aaa commit 523a456
Show file tree
Hide file tree
Showing 17 changed files with 75 additions and 35 deletions.
40 changes: 40 additions & 0 deletions .github/doc/styles/config/vocabularies/Sphinx/accept.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,43 @@ clk
[xX]ilinx
(?i)fpgas
fpga
Scopy
sysfs
iiod
IIOD
usb
Jetson
Mbed
repo
github
iio_context
iio_device
iio_channel
iio_buffer
iio_scan_context
iio_attr
iio_reg
iio_info
iio_readdev
iio_writedev
iio_rwdev
iio_stresstest
iio_genxml
arg
pid
hostname
data_bits
parity_bits
stop_bits
flow_control
Xon
Xoff

ip
uri
deinterleave
endianness
zeroconf
attr
Doxygen
Nechita
2 changes: 1 addition & 1 deletion docs/source/api.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Library API
-----------

LibIIO at its base is a C library. The API is designed to be as simple as possible, while still providing access to all the features of the IIO subsystem. Support for other languages is provided through bindings to the C API.
libiio at its base is a C library. The API is designed to be as simple as possible, while still providing access to all the features of the IIO subsystem. Support for other languages is provided through bindings to the C API.

This section provides a detailed description of the C API. The API is divided into several categories, each of which is described in a separate page.

Expand Down
2 changes: 1 addition & 1 deletion docs/source/api/python/iio_attr.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
iio_attr
======================
| iio_attr is part of the Libiio package, a library that has been developed to ease the development of software interfacing Linux Industrial I/O (IIO) devices.
| iio_attr is part of the libiio package, a library that has been developed to ease the development of software interfacing Linux Industrial I/O (IIO) devices.
| This tool is written using the libiio Python bindings. It works in a very similar way of how the base iio_attr works. You can find more information about it on this `page <https://wiki.analog.com/resources/tools-software/linux-software/libiio/iio_attr>`_.

Expand Down
2 changes: 1 addition & 1 deletion docs/source/api/python/iio_info.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
iio_info
=====================
| iio_info is part of the Libiio package, a library that has been developed to ease the development of software interfacing Linux Industrial I/O (IIO) devices.
| iio_info is part of the libiio package, a library that has been developed to ease the development of software interfacing Linux Industrial I/O (IIO) devices.
| This tool is written using the libiio Python bindings. It works in the same way as the base iio_info works. You can find more information about it on this `page <https://wiki.analog.com/resources/tools-software/linux-software/libiio/iio_info>`_.

Expand Down
2 changes: 1 addition & 1 deletion docs/source/api/python/iio_readdev.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
iio_readdev
=====================
| iio_readdev is part of the Libiio package, a library that has been developed to ease the development of software interfacing Linux Industrial I/O (IIO) devices.
| iio_readdev is part of the libiio package, a library that has been developed to ease the development of software interfacing Linux Industrial I/O (IIO) devices.
| This tool is written using the libiio Python bindings. It works in the same way as the base iio_readdev works. You can find more information about it on this `page <https://wiki.analog.com/resources/tools-software/linux-software/libiio/iio_readdev?s[]=readdev>`_.

Expand Down
2 changes: 1 addition & 1 deletion docs/source/api/python/iio_writedev.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
iio_writedev
=====================
| iio_writedev is part of the Libiio package, a library that has been developed to ease the development of software interfacing Linux Industrial I/O (IIO) devices.
| iio_writedev is part of the libiio package, a library that has been developed to ease the development of software interfacing Linux Industrial I/O (IIO) devices.
| This tool is written using the libiio Python bindings. It works in the same way as the base iio_writedev works. You can find more information about it on this `page <https://wiki.analog.com/resources/tools-software/linux-software/libiio/iio_writedev>`_.

Expand Down
2 changes: 1 addition & 1 deletion docs/source/examples.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Examples

This page provides a few examples of how to use the libIIO library. The examples are written in C and are intended to be used as a starting point for your own application. For other languages, please refer to the [Bindings](bindings.rst) page.
This page provides a few examples of how to use the libiio library. The examples are written in C and are intended to be used as a starting point for your own application. For other languages, please refer to the [Bindings](bindings.rst) page.

:::{note}
To reduce verbosity, the error handling code has been omitted from the examples. In a real application, you should always check the return value of each function call.
Expand Down
4 changes: 2 additions & 2 deletions docs/source/iiod.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# iiod: libIIO Server Daemon
# iiod: libiio Server Daemon

The `iiod` is a server daemon that provides a remote interface to the libIIO library. It is designed to run on a Linux host, and can communicate with libIIO clients over a network, USB, or serial link. For deeply embedded, resource-constrained systems, a separate server called `tiny-iiod` is available.
The `iiod` is a server daemon that provides a remote interface to the libiio library. It is designed to run on a Linux host, and can communicate with libiio clients over a network, USB, or serial link. For deeply embedded, resource-constrained systems, a separate server called `tiny-iiod` is available.

20 changes: 10 additions & 10 deletions docs/source/index.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,39 @@
# libIIO
# libiio

Thanks for your interest in the libIIO, a C/C++ library that provides generic access to Industrial Input Output (IIO)
devices. IIO started as a [Linux kernel subsystem](https://www.kernel.org/doc/html/latest/driver-api/iio/index.html) to support for devices that included analog-to-digital converters (ADCs) and/or digital-to-analog converters (DACs). While the libIIO continues to provide an easy interface to the Linux kernel IIO subsystem, it has also expanded beyond that, and is now just as common to see this used inside an embedded system or hypervisor as it is on a host PC.
Thanks for your interest in the libiio, a C/C++ library that provides generic access to Industrial Input Output (IIO)
devices. IIO started as a [Linux kernel subsystem](https://www.kernel.org/doc/html/latest/driver-api/iio/index.html) to support for devices that included analog-to-digital converters (ADCs) and/or digital-to-analog converters (DACs). While the libiio continues to provide an easy interface to the Linux kernel IIO subsystem, it has also expanded beyond that, and is now just as common to see this used inside an embedded system or hypervisor as it is on a host PC.

It is portable: Using a single cross-platform API, it provides access to IIO devices on Linux, macOS, Windows, etc across local and remote (USB, Network, Serial) devices. The library is composed by one high-level API, and several backends:
- the *local* backend, which interfaces the Linux kernel through the sysfs virtual filesystem,
- the *remote* backend, which communicates to an *iiod* server through a network, usb or serial ([wired](https://en.wikipedia.org/wiki/RS-232), [USB CDC](https://en.wikipedia.org/wiki/USB_communications_device_class), or [Bluetooth SPP](https://en.wikipedia.org/wiki/List_of_Bluetooth_profiles#Serial_Port_Profile_(SPP))) link. The *iiod* server can run on a:
- Linux host (an [IIO daemon](https://github.com/analogdevicesinc/libiio/tree/master/iiod) is included part of libIIO), this would typically communicate to a libIIO client over the network or USB; or
- a deeply embedded, resource constrained system (like Arduino) managed separately as [tiny-iiod](https://github.com/analogdevicesinc/libtinyiiod); this would typically communicate to a libIIO client over the network, or serial.
- Linux host (an [IIO daemon](https://github.com/analogdevicesinc/libiio/tree/master/iiod) is included part of libiio), this would typically communicate to a libiio client over the network or USB; or
- a deeply embedded, resource constrained system (like Arduino) managed separately as [tiny-iiod](https://github.com/analogdevicesinc/libtinyiiod); this would typically communicate to a libiio client over the network, or serial.

It is entirely user-mode: No special privilege or elevation is required for the application to communicate with a device. One of the most powerful things about libiio is its [Remote Procedure Call](https://en.wikipedia.org/wiki/Remote_procedure_call) style interface. Moving backends from USB to Networking to local embedded does not require any code changes. The users of the libIIO do not need to code any differently for the remote interaction, making it easy to move from remote (debug on PC over Ethernet) to local (deployed on embedded Linux).
It is entirely user-mode: No special privilege or elevation is required for the application to communicate with a device. One of the most powerful things about libiio is its [Remote Procedure Call](https://en.wikipedia.org/wiki/Remote_procedure_call) style interface. Moving backends from USB to Networking to local embedded does not require any code changes. The users of the libiio do not need to code any differently for the remote interaction, making it easy to move from remote (debug on PC over Ethernet) to local (deployed on embedded Linux).

## What platforms are supported?

Any host running Linux, macOS, Windows, or OpenBSD/NetBSD, should be trivial to get libIIO running on. If you are interested in porting to other hosts that support either networking (socket interface), [libusb](https://libusb.info/) or serial, it should be very straightforward. [Pull Requests](https://github.com/analogdevicesinc/libiio/pulls) are always reviewed, and well written ones are normally accepted.
Any host running Linux, macOS, Windows, or OpenBSD/NetBSD, should be trivial to get libiio running on. If you are interested in porting to other hosts that support either networking (socket interface), [libusb](https://libusb.info/) or serial, it should be very straightforward. [Pull Requests](https://github.com/analogdevicesinc/libiio/pulls) are always reviewed, and well written ones are normally accepted.

The local backend and Linux daemon can run on any embedded Linux based system, from purpose built systems like [PlutoSDR](https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/ADALM-PLUTO.html) or [ADALM2000](https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/ADALM2000.html) to [Raspberry Pi](https://www.raspberrypi.org/) or [BeagleBoard](https://beagleboard.org/) to [Jetson](https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/). [tiny-iiod](https://github.com/analogdevicesinc/libtinyiiod) requires a modern C compiler and is known to work on a variety of non-Linux frameworks including [Mbed](https://www.mbed.com/) and [FreeRTOS](https://www.freertos.org/).

## Sounds good! How do I get started?

If you are using Linux, chances are your distribution already includes libIIO, so you probably just need to reference the `iio.h` header in your source.
If you are using Linux, chances are your distribution already includes libiio, so you probably just need to reference the `iio.h` header in your source.

For other platforms, you are encouraged to use one of our [release builds](https://github.com/analogdevicesinc/libiio/releases/latest). If you want to use the very latest, you have the option to use a nightly build or build from source. Please check the Downloads menu.

If you prefer, you can also access the source directly from [github](https://github.com/analogdevicesinc/libiio).

Once you have secured your access to the library and its header, please check the [libIIO API](api.rst) or the [libIIO examples](examples.md).
Once you have secured your access to the library and its header, please check the [libiio API](api.rst) or the [libiio examples](examples.md).

## Where is (insert my favourite language) support?

The mainline library is written in C, and has built in bindings for C++, Python and C# (C-Sharp). [Node.js](https://github.com/drom/node-iio) and [Rust](https://github.com/fpagliughi/rust-industrial-io) are maintained outside the main repo. If you are interested in creating more language bindings, please [reach out](https://github.com/analogdevicesinc/libiio/issues) to the developers by posting an issue on github.

# Licensing

Libiio has been developed and is released under the terms of the GNU Lesser General Public License, version 2 or (at your option) any later version. This open-source license allows anyone to use the library for proprietary or open-source, commercial or non-commercial applications.
libiio has been developed and is released under the terms of the GNU Lesser General Public License, version 2 or (at your option) any later version. This open-source license allows anyone to use the library for proprietary or open-source, commercial or non-commercial applications.

Separately, the IIO Library also includes a set of test examples and utilities, (collectively known as iio-utils) which are developed and released under the terms of the GNU General Public License, version 2 or (at your option) any later version.

Expand Down
4 changes: 2 additions & 2 deletions docs/source/install.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Installation

It is recommended to use the latest releases through pre-built packages when available. If you need the latest features or are developing libIIO itself, you can build from source following guides:
It is recommended to use the latest releases through pre-built packages when available. If you need the latest features or are developing libiio itself, you can build from source following guides:

```{toctree}
:maxdepth: 1
Expand All @@ -21,7 +21,7 @@ The EXE installer is recommend but zip packages include the same files, which ca

### Linux

Most Linux users can install libIIO from their distribution's package manager. For example, on Ubuntu, you can install libIIO with the following command:
Most Linux users can install libiio from their distribution's package manager. For example, on Ubuntu, you can install libiio with the following command:

```bash
sudo apt-get install libiio0
Expand Down
6 changes: 3 additions & 3 deletions docs/source/install/source.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ git checkout v0.25

:::

This section describes how to build libIIO from source. This is useful if you want to use the latest features or if you are developing libIIO itself.
This section describes how to build libiio from source. This is useful if you want to use the latest features or if you are developing libiio itself.

## Install Prerequisites/Dependencies and Build

Expand Down Expand Up @@ -175,7 +175,7 @@ The recommendation is to leave things to the default.
Cmake Options | Default | Target | Description |
---------------------- | ------- | -------| ---------------------------------------------- |
`BUILD_SHARED_LIBS` | ON | All | Build shared libraries |
`LIBIIO_COMPAT` | ON | All | Build Libiio v0.x compatibility layer |
`libiio_COMPAT` | ON | All | Build libiio v0.x compatibility layer |
`WITH_MODULES` | OFF | All | Build modular backends |
'COMPILE_WARNING_AS_ERROR' | OFF | All | Make all C warnings into errors |
`CPP_BINDINGS` | OFF | All | Install C++ bindings (C++17 required for examples) |
Expand Down Expand Up @@ -245,7 +245,7 @@ Cmake Options | Default | Description |
`WITH_IIOD_NETWORK` | ON | Add network (TCP/IP) support |
`WITH_IIOD_SERIAL` | ON | Add serial (UART) support |
`WITH_IIOD_USBD` | ON | Add support for USB through FunctionFS within IIOD |
`WITH_IIOD_V0_COMPAT` | ON | Add support for Libiio v0.x protocol and clients |
`WITH_IIOD_V0_COMPAT` | ON | Add support for libiio v0.x protocol and clients |
`WITH_LIBTINYIIOD` | OFF | Build libtinyiiod |
`WITH_AIO` | ON | Build IIOD with async. I/O support |
`WITH_SYSTEMD` | OFF | Enable installation of systemd service file for iiod |
Expand Down
4 changes: 2 additions & 2 deletions docs/source/theory.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ using those devices in environments like [GNU Radio](https://wiki.analog.com/res

## License and code management

Libiio has been developed and is released under the terms of the GNU Lesser General Public
libiio has been developed and is released under the terms of the GNU Lesser General Public
License, version 2. This open-source license allows anyone to use the library for proprietary or
open-source, commercial or non-commercial applications. This choice was motivated by the fact
that Analog Devices is a company that principally sells hardware, and this library provides the
Expand Down Expand Up @@ -692,7 +692,7 @@ the preprocessor flag HAVE_AVAHI to a non-zero value; the IIOD will then registe
Avahi daemon if one is running on the target, and the network backend will query the local Avahi
server for a IIOD server to use.

## Libiio, now and in the future
## libiio, now and in the future

### Bindings

Expand Down
4 changes: 2 additions & 2 deletions docs/source/tools/iio_genxml.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
iio_genxml
==========

iio_genxml - Generate XML representation of a Libiio context
iio_genxml - Generate XML representation of a libiio context

SYNOPSIS
--------
Expand All @@ -12,7 +12,7 @@ DESCRIPTION
-----------

**iio_genxml** is a utility for generating a XML representation of a
Libiio context.
libiio context.

OPTIONS
-------
Expand Down
4 changes: 2 additions & 2 deletions docs/source/tools/iio_stresstest.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
iio_stresstest
==============

iio_stresstest - Stress test program for Libiio
iio_stresstest - Stress test program for libiio

SYNOPSIS
--------
Expand All @@ -12,7 +12,7 @@ DESCRIPTION
-----------

**iio_stresstest** is a stress-testing program that can be used to find
bugs in Libiio or in the Libiio daemon (IIOD).
bugs in libiio or in the libiio daemon (IIOD).

OPTIONS
-------
Expand Down
2 changes: 1 addition & 1 deletion docs/source/tools/index.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Command Line Tools
==================

libIIO provides a set of command line tools to interact with libIIO contexts. These tools are useful for debugging, testing, and development. They are typically referred to as the iio-tools or iio-utils.
libiio provides a set of command line tools to interact with libiio contexts. These tools are useful for debugging, testing, and development. They are typically referred to as the iio-tools or iio-utils.

.. toctree::
:maxdepth: 1
Expand Down
4 changes: 2 additions & 2 deletions docs/source/training.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Training Material

libIIO has existed for many years and numerous training materials have been created. Here are some of the most popular:
libiio has existed for many years and numerous training materials have been created. Here are some of the most popular:

## Videos

- [Using the Linux IIO framework for SDR](https://av.tib.eu/media/34480)
- [ADALM-PLUTO and IIO Workshop](https://www.youtube.com/watch?v=Yx3RPOtv7x8)
- [Using the Industrial I/O Framework for Easy Prototyping of Software Defined Radio (SDR) Transceivers](https://www.youtube.com/watch?v=8WaVkb5osRs)
- [LibIIO - A Library for Interfacing with Linux IIO Devices - Dan Nechita, Analog Devices Inc](https://www.youtube.com/watch?v=p_VntEwUe24)
- [libiio - A Library for Interfacing with Linux IIO Devices - Dan Nechita, Analog Devices Inc](https://www.youtube.com/watch?v=p_VntEwUe24)
Loading

0 comments on commit 523a456

Please sign in to comment.