From bfe2dd30bfd9c14d3167d8c6d211b126c24e0ce5 Mon Sep 17 00:00:00 2001 From: VladislavOstapov Date: Sun, 23 Apr 2023 17:40:24 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BE=D0=B4=20=D0=BF=D0=BE=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20=D0=B4=D0=BB=D1=8F=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20=D1=81=20Rst=20pin=20=D0=BC?= =?UTF-8?q?=D0=BE=D0=B4=D1=83=D0=BB=D1=8F,=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=20=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D1=8B=D0=B9=20antcap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Adafruit_Si4713.cpp | 24 ++++++++++++------------ src/main.cpp | 12 +++++------- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/src/Adafruit_Si4713.cpp b/src/Adafruit_Si4713.cpp index eb3ea2d..6933cbb 100644 --- a/src/Adafruit_Si4713.cpp +++ b/src/Adafruit_Si4713.cpp @@ -47,21 +47,21 @@ Adafruit_Si4713::Adafruit_Si4713(int8_t resetpin) { _rst = resetpin; } * */ bool Adafruit_Si4713::begin(uint8_t addr, TwoWire *theWire) { - if (i2c_dev) + reset(); + delete i2c_dev; - i2c_dev = new Adafruit_I2CDevice(addr, theWire); - if (!i2c_dev->begin()) - return false; - reset(); + i2c_dev = new Adafruit_I2CDevice(addr, theWire); + if (!i2c_dev->begin()) + return false; - powerUp(); + powerUp(); - // check for Si4713 - if (getRev() != 13) - return false; + // check for Si4713 + if (getRev() != 13) + return false; - return true; + return true; } /*! @@ -72,9 +72,9 @@ void Adafruit_Si4713::reset() { if (_rst > 0) { pinMode(_rst, OUTPUT); digitalWrite(_rst, HIGH); - delay(10); + delay(100); digitalWrite(_rst, LOW); - delay(10); + delay(100); digitalWrite(_rst, HIGH); } } diff --git a/src/main.cpp b/src/main.cpp index a80da65..d87f90c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -41,6 +41,8 @@ void do_i2c_scan() { if (!radio->begin()) { // begin with address 0x63 (CS high default) Serial.println("Couldn't find radio?"); + Serial.println("Run I2C scanner..."); + do_i2c_scan(); while (1); } @@ -55,19 +57,15 @@ void do_i2c_scan() { */ Serial.print("\nSet TX power"); - radio->setTXpower(114); // dBuV, 88-115 max + radio->setTXpower(115, 55); // dBuV, 88-115 max, cap надо задать 0 и посмотреть сколько будет Serial.print("\nTuning into freq"); radio->tuneFM(10740); // 100.0 mhz // This will tell you the status in case you want to read it from the chip radio->readTuneStatus(); - Serial.print("\tCurr freq: "); - Serial.println(radio->currFreq); - Serial.print("\tCurr freqdBuV:"); - Serial.println(radio->currdBuV); - Serial.print("\tCurr ANTcap:"); - Serial.println(radio->currAntCap); + Serial.printf("Curr tuned: freq=%d, freqdBuV=%d, ANTcap=%d\n", + radio->currFreq, radio->currdBuV, radio->currAntCap); // begin the RDS/RDBS transmission radio->beginRDS();