Latest commit e2cddfe
Jul 29, 2015
- NONATOMIC_RESTORESTATE comes from <util/atomic.h>
|Failed to load latest commit information.|
Arduino Si4735 (and family) Library Written by Ryan Owens for SparkFun Electronics on 5/17/2011 Altered by Wagner Sartori Junior <firstname.lastname@example.org> on 9/13/2011 Actively being developed by Jon Carrier <email@example.com> Refactoring, cosmetic changes and I2C mode by Radu - Eosif Mihailescu <firstname.lastname@example.org> 3/29/2012 Painstaking hardware testing by Todd Scott Canaday <email@example.com> 4/03/2012 I2C bug fixes pointed out by Ray Dees 4/03/2012 Bug spotting in begin() -> setMode() interaction by Albert Tejera 5/24/2012 This library is intended for use with the SparkFun Si4735 Shield or Breakout Board, however it should work with most Si47xx chips that share the same command language. At the time of this writing, the list includes: Si4704->Si4707, Si471x, Si472x, Si473x, Si4784 and Si4785. Originally released under the 'Buy Me a Beer' license (if we ever meet, you buy me a beer). To the furthest extent that this is legally possible, the fork maintained by Radu - Eosif Mihailescu and published here https://github.com/csdexter/Si4735 is hereby released under the LGPL version 3. To the furthest extent that this is legally enforceable, the copyright remains with the authors listed above. See the example sketches to learn how to use the library in your code. Note that the RDS decoding functionality has moved to the RDSDecoder library. HARDWARE NOTES: * The Si4735 is a 3.3V I/O chip whereas the Arduino Uno/Mega are 5V I/O. This means you will need to use logic level shifters if you are trying to use the Breakout Board version with the latter. If you're using the Shield, you should be OK save for a few fatal design mistakes SparkFun introduced. There are various ways to work around those, my personal recommendation is that you go for a real level shifter. Please note that BOB-12009 is cheaper than BOB-11771 mainly because it's a lot slower. For casual applications speed shouldn't matter, but if you need to push the SPI interface to its limit, go for the expensive version if you need to translate between a 5V I/O Arduino and the Si4735. On the same vein, ONLY the BOB-11955 will work for logic level shifting in I2C mode. * If you're using the Breakout Board, make sure you tell the code whether or not you connected a 32768Hz oscillator to the RCLK and DCLK pins. See the schematic for the Shield for reference. * Quick connection reference: SPI Mode, Si4735 -> Arduino: SDIO -> MOSI (Arduino output) GPO1 -> MISO (Arduino input) SCLK -> SCK (Arduino output) #SEN -> SS (Arduino output) #RESET -> D9 (Arduino output) GPO2/#INT -> D2/INT0 (Arduino bidirectional) I2C Mode, Si4735 -> Arduino: SDIO -> SDA (Arduino bidirectional) SCLK -> SCL (Arduino output) #SEN -> tied high or low, tell the code which one with SI4735_PIN_SEN_HW* #RESET -> D9 (Arduino output) GPO1 -> left floating GPO2/#INT -> D2/INT0 (Arduino input) or (left floating or tied high, if not using interrupts) For general questions and updates on this library please contact the fork maintainer at <firstname.lastname@example.org>.