Open JohanBenko opened 2 years ago
Please post in the forums with photos of your setup: https://forums.adafruit.com/
You need to call Wire.begin();
before calling tcaselect();
.
Correct (my mistake while copying), but even then it doesn't work. Following script detects the transmitter module(s): `
uint8_t RESETPIN[] = {21, 20, 19, 18, 15, 14, 16, 10};
void tcaselect(uint8_t i) { if (i > 7) return;
Wire.beginTransmission(TCAADDR); Wire.write(1 << i); Wire.endTransmission(); }
// standard Arduino setup() void setup() { while (!Serial); delay(1000); Wire.begin();
Serial.begin(115200); Serial.println("\nTCAScanner ready!");
for (uint8_t t = 0; t < 8; t++) { pinMode(RESETPIN[t], OUTPUT); digitalWrite(RESETPIN[t], LOW); delay(100); digitalWrite(RESETPIN[t], HIGH); delay(5);
tcaselect(t);
Serial.print("TCA Port #"); Serial.println(t);
for (uint8_t addr = 0; addr <= 127; addr++) {
if (addr == TCAADDR) continue;
Wire.beginTransmission(addr);
if (!Wire.endTransmission()) {
Serial.print("Found I2C 0x"); Serial.println(addr, HEX);
}
}
} Serial.println("\ndone"); }
void loop() { } `
@JohanBenko are any of those items from adafruit? they all look like they were purchased from other board vendors
The SI4713 module should be an adafruit module (bought as such). The antenna with the SMA connector I soldered myself. The TCA9548 isn't from adafruit (availability). The black PCB I made myself. Is that the reason of the issue? I suspected the library because I can communicate directly but not through this library when the SI4713 is 'behind' a TCA9548. Always get this: Adafruit Radio - Si4713 Test Couldn't find radio?
kk - please take a pic of the front of the Si4713 module?
Attached you have a picture of the purple board I have used in my setup and you can also see the the blue one.
Can you confirm the library is compatible with the i2c multiplexer?
Johan BENKO
Op 17 apr. 2022 om 02:25 heeft ladyada @.***> het volgende geschreven:
kk - please take a pic of the front of the Si4713 module?
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.
Can you confirm the library is compatible with the i2c multiplexer?
Yes.
#include <Adafruit_Si4713.h>
#define RESETPIN 7
#define TCAADDR 0x70
#define FMSTATION 10230
Adafruit_Si4713 radio = Adafruit_Si4713(RESETPIN);
void tcaselect(uint8_t i) {
if (i > 7) return;
Wire.beginTransmission(TCAADDR);
Wire.write(1 << i);
Wire.endTransmission();
}
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("Adafruit Radio - Si4713 Test");
Wire.begin();
tcaselect(0);
delay(100);
if (!radio.begin()) {
Serial.println("Couldn't find radio.");
while (1);
}
Serial.println("Radio initialized.");
}
void loop() {
}
@JohanBenko the photos did not attach?
thanks, the purple one is not made by adafruit
Thank you for checking and letting me know!
Try one of the Adafruit boards without the TCA to verify it nominally works as expected per the guide: https://learn.adafruit.com/adafruit-si4713-fm-radio-transmitter-with-rds-rdbs-support/test-and-usage
Then, if possible, remove your TCA breakout from the custom PCB assembly. Recreate the breadboard setup shown above and run the same example Arduino sketch. See if you can recreate what is shown there.
Good Day!
Just to let you know everything works now. Important to know:
Johan
Van: "Carter Nelson" @.> Aan: "adafruit/Adafruit-Si4713-Library" @.> Cc: "Johan Benko" @.>, "Mention" @.> Verzonden: Woensdag 20 april 2022 22:05:54 Onderwerp: Re: [adafruit/Adafruit-Si4713-Library] SI4713 behind a TCA9548 I2C multiplexer is not recognised by this library? (Issue #10)
Try one of the Adafruit boards without the TCA to verify it nominally works as expected per the guide: [ https://learn.adafruit.com/adafruit-si4713-fm-radio-transmitter-with-rds-rdbs-support/test-and-usage | https://learn.adafruit.com/adafruit-si4713-fm-radio-transmitter-with-rds-rdbs-support/test-and-usage ]
Then, if possible, remove your TCA breakout from the custom PCB assembly. Recreate the breadboard setup shown above and run the same example Arduino sketch. See if you can recreate what is shown there.
— Reply to this email directly, [ https://github.com/adafruit/Adafruit-Si4713-Library/issues/10#issuecomment-1104408893 | view it on GitHub ] , or [ https://github.com/notifications/unsubscribe-auth/ATVR3HPRQERO6DNYMCQ2GG3VGBPSFANCNFSM5TOBNQLA | unsubscribe ] . You are receiving this because you were mentioned. Message ID: @.***>
Arduino board: Arduino pro micro
Arduino IDE version (found in Arduino -> About Arduino menu): 1.8.19
List the steps to reproduce the problem below (if possible attach a sketch or copy the sketch code in too):
The SI4713 behind a TCA9548 I2C multiplexer is not recognised by this library in this project the Adafruit Si4713 is connected to I2C(0) of the TCA9548. The reset of the Si4713 is connected to pin 21.
Code (based on the example): `
include
include
define _BV(n) (1 << n)
define RESETPIN 21
define TCAADDR 0x70
define FMSTATION 10230 // 10230 == 102.30 MHz
Adafruit_Si4713 radio;
void setup() { Serial.begin(9600); while (!Serial);
Serial.println("Adafruit Radio - Si4713 Test"); tcaselect(0); radio = Adafruit_Si4713(RESETPIN); if (! radio.begin()) { // begin with address 0x63 (CS high default) Serial.println("Couldn't find radio?"); while (1); }
Serial.print("\nSet TX power"); //... } void loop() { //... }
void tcaselect(uint8_t i) { if (i > 7) return; Wire.beginTransmission(TCAADDR); Wire.write(1 << i); Wire.endTransmission(); } `