Skip to content

Commit

Permalink
Doc
Browse files Browse the repository at this point in the history
  • Loading branch information
pu2clr committed Dec 4, 2024
1 parent 1cf6f39 commit 26542d0
Show file tree
Hide file tree
Showing 8 changed files with 18 additions and 14 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@


This Arduino library was developed to work with the **SI4822, SI4826, SI4827, SI4840, 4844A, and 4844B** "BROADCAST ANALOG TUNING DIGITAL DISPLAY AM/FM/SW RADIO RECEIVER" devices.
It is available on Arduino IDE. This library is intended to provide an easier interface to control the SI48XX family.
It is available on Arduino IDE. This library is intended to provide an easier interface to control the SI48XX family. **When appropriate, this documentation will use the acronym SI48XX to refer to the following devices: SI4822, SI4826, SI4827, SI4840, SI4844A, and SI4844B. In most cases, references to the SI4844 device also apply to the other aforementioned devices.**

The SI4844, along with other devices in its family, provides the ideal combination of analog tuning and digital interface, enabling the development of receivers reminiscent of the iconic models from the 1970s and 1980s. These classic receivers featured visual interfaces using liquid crystal displays or LEDs, offering a unique and nostalgic user experience. Therefore, a notable application for the SI4844 is the construction of a vintage-style receiver that blends retro aesthetics with modern technology.

Expand Down Expand Up @@ -82,7 +82,7 @@ __The SI4844 is a 3.3V part. If you are not using a 3.3V version of Arduino, you

A good alternative to the Arduino Uno or Arduino Nano for a project using the SI48XX device is a board based on the LGT8F328 microcontroller. This device offers excellent compatibility with the Arduino Nano and Uno, including pin configuration, with the added advantage of operating at 3.3V, eliminating the need for a bidirectional converter, and being more affordable. Other viable alternatives include the ESP32, ESP8266, and STM32.

Another approach to respecting the operating voltages of the SI484X is to use the ATmega328 without the Arduino board (Standalone). This allows you to configure the system at 3V, a voltage compatible with both the SI484X and the ATmega328. Additionally, you can configure the ATmega328 to use its internal oscillator, thereby simplifying the development of the electronic circuit.
Another approach to respecting the operating voltages of the SI48XX is to use the ATmega328 without the Arduino board (Standalone). This allows you to configure the system at 3V, a voltage compatible with both the SI48XX and the ATmega328. Additionally, you can configure the ATmega328 to use its internal oscillator, thereby simplifying the development of the electronic circuit.


## MIT License
Expand Down Expand Up @@ -475,7 +475,7 @@ The sketch [SI4844_BASS_TREBLE.ino](https://github.com/pu2clr/SI4844/tree/master
2. [Prova de Conceito com SI4844 e Arduino (vídeo sobre este projeto)](https://youtu.be/DAQbXZZR7VQ)


## Receivers based on SI482X and SI484X devices
## Receivers based on SI482X and SI48XX devices

* [Degen DE321 DSP shortwave radio](https://swling.com/blog/2011/11/a-review-of-the-degen-de321-dsp-shortwave-radio/)
* [ShouYu SY-X5 DSP shortwave radio](https://swling.com/blog/2013/07/a-review-of-the-shouyu-sy-x5-dsp-shortwave-radio/)
Expand Down
6 changes: 3 additions & 3 deletions examples/SI4844_02_LCD16x02_V2/SI4844_02_LCD16x02_V2.ino
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ const int eeprom_address = 0;

/*
The following band table can be adjusted according to the user's preferences or local conditions.
All bands on this receiver use a custom method rather than the standard SI484X method.
All bands on this receiver use a custom method rather than the standard SI48XX method.
The FM band has been divided into two bands.
There are two MW bands, allowing the receiver to be configured according to the regional band plan and regulations.
Finally, the SW bands can be modified to provide a better experience for users.
Expand Down Expand Up @@ -101,7 +101,7 @@ typedef struct {
8) For SW: 5 corresponds to 5 kHz spacing.
9) Fifth parameter: A descriptive name for the band, making it easier to identify.
In the following example, except for the MW1 and MW2 bands, all bands have been customized and do not follow the SI484X device's internal defaults.
In the following example, except for the MW1 and MW2 bands, all bands have been customized and do not follow the SI48XX device's internal defaults.
Based on the datasheet "AN610 - Si48XX ATDD PROGRAMMING GUIDE" pages 17 and 18, you can select additional bands or configure them according to
your preferences.
Expand Down Expand Up @@ -162,7 +162,7 @@ void setup() {
}


// Start the SI484X device and link it to the MCU pins.
// Start the SI48XX device and link it to the MCU pins.
// -1 means no band is selected here and 400000 means 400kHz I2C bus speed
rx.setup(RESET_PIN, INTERRUPT_PIN, -1, 400000);

Expand Down
6 changes: 3 additions & 3 deletions examples/SI4844_04_NOKIA5110/SI4844_04_NOKIA5110.ino
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ const int eeprom_address = 0;

/*
The following band table can be adjusted according to the user's preferences or local conditions.
All bands on this receiver use a custom method rather than the standard SI484X method.
All bands on this receiver use a custom method rather than the standard SI48XX method.
The FM band has been divided into two bands.
There are two MW bands, allowing the receiver to be configured according to the regional band plan and regulations.
Finally, the SW bands can be modified to provide a better experience for users.
Expand Down Expand Up @@ -98,7 +98,7 @@ typedef struct {
8) For SW: 5 corresponds to 5 kHz spacing.
9) Fifth parameter: A descriptive name for the band, making it easier to identify.
In the following example, except for the MW1 and MW2 bands, all bands have been customized and do not follow the SI484X device's internal defaults.
In the following example, except for the MW1 and MW2 bands, all bands have been customized and do not follow the SI48XX device's internal defaults.
Based on the datasheet "AN610 - Si48XX ATDD PROGRAMMING GUIDE" pages 17 and 18, you can select additional bands or configure them according to
your preferences.
Expand Down Expand Up @@ -161,7 +161,7 @@ void setup() {
}


// Start the SI484X device and link it to the MCU pins.
// Start the SI48XX device and link it to the MCU pins.
// -1 means no band is selected here and 400000 means 400kHz I2C bus speed
rx.setup(RESET_PIN, INTERRUPT_PIN, -1, 400000);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ long elapsedButton = millis();

/*
The following band table can be adjusted according to the user's preferences or local conditions.
Most bands on this receiver use a custom method rather than the standard SI484X method.
Most bands on this receiver use a custom method rather than the standard SI48XX method.
The FM band has been divided into two bands.
There are two MW bands, allowing the receiver to be configured according to the regional band plan and regulations.
Finally, the SW bands can be modified to provide a better experience for users.
Expand Down Expand Up @@ -89,7 +89,7 @@ typedef struct {
8) For SW: 5 corresponds to 5 kHz spacing.
9) Fifth parameter: A descriptive name for the band, making it easier to identify.
In the following example, except for the MW1 and MW2 bands, all bands have been customized and do not follow the SI484X device's internal defaults.
In the following example, except for the MW1 and MW2 bands, all bands have been customized and do not follow the SI48XX device's internal defaults.
Based on the datasheet "AN610 - Si48XX ATDD PROGRAMMING GUIDE" pages 17 and 18, you can select additional bands or configure them according to
your preferences.
Expand Down
2 changes: 1 addition & 1 deletion extras/apidoc/def/doxygen.def
Original file line number Diff line number Diff line change
Expand Up @@ -1609,7 +1609,7 @@ _EnD_oF_dEf_TeXt_;
sec-mem-documentation = <<_EnD_oF_dEf_TeXt_
0 = Use external RCLK (crystal oscillator disabled).
\ilinebr\ilinebr 1 = Use crystal oscillator (XTALI and XTALO with external 32.768 kHz crystal).
\ilinebr\ilinebr See the Si484x Data Sheet Application Schematic for external BOM details.
\ilinebr\ilinebr See the SI48XX Data Sheet Application Schematic for external BOM details.
@see See Table 8. Pre-defined Band Table in Si48XX ATDD PROGRAMMING GUIDE; AN610; pages 17 and 18 <br>

@param XOSCEN 1 = Enable (XTALI and XTALO with external 32.768 kHz crystal)
Expand Down
2 changes: 1 addition & 1 deletion extras/apidoc/html/group___g_b1.html
Original file line number Diff line number Diff line change
Expand Up @@ -1289,7 +1289,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#gab97f73b03943a4c0f4dbb3f
<p>Sets Crystal Oscillator Enable. </p>
<p>0 = Use external RCLK (crystal oscillator disabled).</p>
<p>1 = Use crystal oscillator (XTALI and XTALO with external 32.768 kHz crystal).</p>
<p>See the Si484x Data Sheet Application Schematic for external BOM details. </p><dl class="section see"><dt>See also</dt><dd>See Table 8. Pre-defined Band Table in Si48XX ATDD PROGRAMMING GUIDE; AN610; pages 17 and 18 <br />
<p>See the SI48XX Data Sheet Application Schematic for external BOM details. </p><dl class="section see"><dt>See also</dt><dd>See Table 8. Pre-defined Band Table in Si48XX ATDD PROGRAMMING GUIDE; AN610; pages 17 and 18 <br />
</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
Expand Down
4 changes: 3 additions & 1 deletion src/SI4844.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
* @mainpage SI48XX Arduino Library implementation
* This is a library for the SI4822, SI4826, SI4827, SI4840, 4844A, and 4844B, BROADCAST ANALOG TUNING DIGITAL DISPLAY AM/FM/SW RADIO RECEIVER,
* ICs from Silicon Labs.
* When appropriate, this documentation will use the acronym SI48XX to refer to the following devices: SI4822, SI4826, SI4827, SI4840, SI4844A, and SI4844B.
* In most cases, references to the SI4844 device also apply to the other aforementioned devices.
* This library is intended to provide an easier interface to control the SI4844.
*
* This library can be freely distributed using the MIT Free Software model.
Expand Down Expand Up @@ -328,7 +330,7 @@ void SI4844::powerUp(void)
* @brief Sets Crystal Oscillator Enable
* @details 0 = Use external RCLK (crystal oscillator disabled).
* @details 1 = Use crystal oscillator (XTALI and XTALO with external 32.768 kHz crystal).
* @details See the Si484x Data Sheet Application Schematic for external BOM details.
* @details See the SI48XX Data Sheet Application Schematic for external BOM details.
* @see See Table 8. Pre-defined Band Table in Si48XX ATDD PROGRAMMING GUIDE; AN610; pages 17 and 18
*
* @param XOSCEN 1 = Enable (XTALI and XTALO with external 32.768 kHz crystal)
Expand Down
2 changes: 2 additions & 0 deletions src/SI4844.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
* @brief SI4844 ARDUINO LIBRARY
*
* @details This is an Arduino library for the SI4822, SI4826, SI4827, SI4840, 4844A, and 4844B, BROADCAST AM/FM/SW RADIO RECEIVER IC family from Silicon Labs.
* @details When appropriate, this documentation will use the acronym SI48XX to refer to the following devices: SI4822, SI4826, SI4827, SI4840, SI4844A, and SI4844B.
* @details In most cases, references to the SI4844 device also apply to the other aforementioned devices.
* @details This library is intended to provide an easier interface for controlling the SI47XX by using Arduino platform.
* @details The communication used by this library is I2C.
* @details This file contains: const (#define), Defined Data type and Methods declarations
Expand Down

0 comments on commit 26542d0

Please sign in to comment.