<commit_before># py-uio
Userspace I/O in Python

All examples current target the BeagleBone Black.

Copy the stuff in the etc/ dir to the corresponding places in /etc and tweak
the udev rule to taste (user/group/permissions).

The dts/ dir contains example device tree fragments.  If you use a custom dts
then you can simply include such dtsi files, but since most people don't you
can also type `make` to build device tree overlays from them and use the utils
in dts/bin/ to add/remove them.

Example:
```bash
cd dts
make p9.12-irq.dtbo
sudo bin/add-overlay p9.12-irq.dtbo
cd ..
./p9.12-irq.py
# now pull P9.12 to ground to trigger the irq the script is waiting for
```

There's also a little example targeting the l3-sn since it is unusually fussy
about access size, making it good testing ground.

## Known issues

The code may require Python 3.5 currently, I'll work on at least reducing that
to Python 3.4.

Overlays aren't working yet for me currently, they seem to install fine but an
error appears in the kernel log and the uio device never appears.  This may be
kernel version dependent, haven't explored yet.
<commit_msg>Make links in README clickable<commit_after># py-uio
Userspace I/O in Python

All examples current target the BeagleBone Black.

Copy the stuff in the [etc/](etc/) dir to the corresponding places in `/etc` and tweak
the udev rule to taste (user/group/permissions).

The [dts/](dts/) dir contains example device tree fragments.  If you use a custom dts
then you can simply include such dtsi files, but since most people don't you
can also type `make` to build device tree overlays from them and use the utils
in [dts/bin/](dts/bin/) to add/remove them.

Example:
```bash
cd dts
make p9.12-irq.dtbo
sudo bin/add-overlay p9.12-irq.dtbo
cd ..
./p9.12-irq.py
# now pull P9.12 to ground to trigger the irq the script is waiting for
```

There's also a little example targeting the l3-sn since it is unusually fussy
about access size, making it good testing ground.

## Known issues

The code may require Python 3.5 currently, I'll work on at least reducing that
to Python 3.4.

Overlays aren't working yet for me currently, they seem to install fine but an
error appears in the kernel log and the uio device never appears.  This may be
kernel version dependent, haven't explored yet.

{'fraction_non_alphanumeric': 0.06409701169337376, 'fraction_numerical': 0.014724989172802079, 'mean_word_length': 3.863157894736842, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2511650', 'n_tokens_mistral': 713, 'n_tokens_neox': 675, 'n_words': 368}