/tda7786-tuner

Primary LanguageTypeScriptApache License 2.0Apache-2.0

TDA7786 Node.JS Driver

Status

src/temp-develop.ts 파일을 실행하면 동작한다. 하지만 노이즈가 많이 끼고 소리가 매우 작게 들린다. 회로 문제일지도 모르겠지만 코드 문제에 더 가능성을 두고 있다. (회로가 문제 있을 가능성이 낮아서..)

protocol에 대한 정보가 거의 없어서 명령에 대한 성공 실패도 알기 어렵다.

Requirements

  • Connect I2C
  • Connect RSTN to GPIO

GPIO Permission Setting

$ sudo groupadd -r gpio
$ sudo usermod -a -G gpio,i2c <USERNAME>
$ sudo chown root:gpio /sys/class/gpio/*
$ sudo chmod 660 /sys/class/gpio/*

$ cat <<EOF | sudo tee /etc/udev/rules.d/gpio.rules
KERNEL=="gpiochip*", GROUP="gpio"
SUBSYSTEM=="gpio", KERNEL=="gpiochip*", ACTION=="add", PROGRAM="/bin/sh -c 'chown root:gpio /sys/class/gpio/*; chmod 770 /sys/class/gpio; chmod 220 /sys/class/gpio/export /sys/class/gpio/unexport'"
SUBSYSTEM=="gpio", KERNEL=="gpio*", ACTION=="add", PROGRAM="/bin/sh -c 'chown root:gpio /sys%p/active_low /sys%p/direction /sys%p/edge /sys%p/value ; chmod 660 /sys%p/active_low /sys%p/direction /sys%p/edge /sys%p/value'"
EOF

Usage

import * as i2c from 'i2c-bus';
import {Driver, EliteAlignMode} from 'tda7786-driver';

i2c.openPromisified(1) // open i2c-1
  .then((bus) => {
    // 0x61 / 0x64
    const driver = new Driver(
        bus,
        0x61, // address
        4 // GPIO 4 - RSTN
    );
    driver.init()
      .then(() => driver.eliteCmdStartup(EliteAlignMode.AlignVCO_EUUSA))
      .then(() => console.log('init ok'))
      .catch((err) => console.error('init failed: ', err));
  });
...

Thanks

License

Apache License 2.0