diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000..ba69430 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,59 @@ +### Linux example (Raspberry Pi 3B) + +#### Cross compile +Requirements: +```bash +$ apt-get install -qq gcc-arm-linux-gnueabihf libc6-armhf-cross libc6-dev-armhf-cross +``` + +Rustup: +```bash +$ rustup target add armv7-unknown-linux-gnueabihf +``` +To configure the linker use `.cargo/config` file + +cross-compile with +```bash +$ cargo build --examples --target=armv7-unknown-linux-gnueabihf +``` +Copy binary to rpi, once steps below are successfully completed. + +#### On RPi (RPi OS lite, 15.02.21) + +##### Install i2c dependencies +```bash +$ sudo apt-get install i2c-tools libi2c-dev python-smbus -y +``` + +##### Enable and load kernel modules at boot +1. edit `/etc/modules` and add + ``` + i2c-dev + i2c-bcm2708 + ``` +2. edit `/boot/config.txt` and add/uncomment + ``` + dtparam=i2c_arm=on + dtparam=i2c1=on + ``` +3. reboot +4. check if working with `sudo i2cdetect -y 1` or `sudo i2cdetect -y 0`. You should bet a signal similar to this + ``` + 0 1 2 3 4 5 6 7 8 9 a b c d e f + 00: -- -- -- -- -- -- -- -- -- -- -- -- -- + 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + 60: -- -- -- -- -- -- -- -- -- -- -- 68 -- -- -- -- + 70: -- -- -- -- -- -- -- -- + ``` +5. Wire up + + | [RPi GPIO](https://www.raspberrypi.org/documentation/usage/gpio/) | MPU6050 | + |:---|---:| + | 5V Power | VCC | + | Ground | GND | + | GPIO 2 | SCL | + | GPIO 3 | SDA |