~mil/ppbbq10

f5a4420343d6584cdc88892c5c408618db75f7a7 — Miles Alan 3 years ago 6e91b2b
README steps for usage & some cleanup
1 files changed, 32 insertions(+), 11 deletions(-)

M README.md
M README.md => README.md +32 -11
@@ 1,6 1,6 @@
# ppbbq10

Experimental Kernel module for Arturo182's BBQ10 PMOD.
Kernel module for [Arturo182's BBQ10](https://www.tindie.com/products/arturo182/bb-q10-keyboard-pmod/) PMOD.
Forked from: 

Current differences:


@@ 14,17 14,38 @@ Planned:
## Usage Instructions
Tested on pmOS but should generally work on any distro.

1. First test to make sure you're I2C is hooked up properly. Run `i2c-detect -y 3`.
This should show 0x1F showing up. It shouldn't be blank or just -- all throughout.
**1.** First test to make sure you're I2C is hooked up properly. You should
make sure you see 0x1F present in the below command. If not, recheck pin connections.
```
 i2c-detect -y 3
```

2. Fetch the kernel headers. On debian or arch you can probably just install linux-headers
**2.** Setup kernel headers. On debian or arch you can probably just install linux-headers
and be on your merry way. On pmOS linux-headers for linux-postmarketos-allwinner
are currently broken. So instead you can just grab the source from GH and prepare
things:

3. Clone this repo:

4. Build the kernel module

5. Load the kernel module

```
git clone https://github.com/megous/linux
git checkout $REF_KERNEL_BUILT_AGAINST_CHECK_PMAPORTS
cat /proc/config.gz > .config
make modules_prepare
```

**3.** Clone this repo:
```
git clone https://git.sr.ht/~mil/ppbbq10
```

**4.** Build the kernel module
```
make -C ../linux-orange-pi-5.10-20210130-2109/ M=$PWD modules
```

**5.** Load the kernel module
```
insmod ppbbq10
```

## Resources
- Original kernel module forked from: https://github.com/arturo182/bbq10pmod_module
- I2C Protocol: https://github.com/arturo182/bbq10kbd_i2c_sw