<?xml version="1.0" encoding="UTF-8"?>        <rss version="2.0"
             xmlns:atom="http://www.w3.org/2005/Atom"
             xmlns:dc="http://purl.org/dc/elements/1.1/"
             xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
             xmlns:admin="http://webns.net/mvcb/"
             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:content="http://purl.org/rss/1.0/modules/content/">
        <channel>
            <title>
									Internet Radio + HD44780 + scroll text - Help Wanted				            </title>
            <link>https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/</link>
            <description>Discussion board for Robotics, Arduino, Raspberry Pi and other DIY electronics and modules. Join us today!</description>
            <language>en-US</language>
            <lastBuildDate>Tue, 10 Mar 2026 18:15:48 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>RE: Internet Radio + HD44780 + scroll text</title>
                        <link>https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31477</link>
                        <pubDate>Thu, 14 Jul 2022 14:28:33 +0000</pubDate>
                        <description><![CDATA[@sinc_int

 Posted by: @sinc_int 
I found a solution.
      strcat(LargeText, info);
Thread to be closed.

That is actually a serious error, and if it worked, it&#039;s only by chance... t...]]></description>
                        <content:encoded><![CDATA[<p>@sinc_int</p>
<blockquote data-userid="4834" data-postid="31431" data-mention="sinc_int">
<div class="wpforo-post-quote-author"><strong> Posted by: @sinc_int </strong></div>
<p>I found a solution.</p>
<p>      strcat(LargeText, info);</p>
<p>Thread to be closed.</p>
</blockquote>
<p>That is actually a serious error, and if it worked, it's only by chance... that's what "undefined behavior" means in C and C++.</p>
<p>Why not just use Arduino "String" type or the in ESP32, the ISO C++ std::string from #include&lt;string&gt;?</p>
<p>Much safer and easier to handle.</p>
<p>Cheers</p>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/help-wanted/">Help Wanted</category>                        <dc:creator>frogandtoad</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31477</guid>
                    </item>
				                    <item>
                        <title>RE: Internet Radio + HD44780 + scroll text</title>
                        <link>https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31431</link>
                        <pubDate>Tue, 12 Jul 2022 12:20:47 +0000</pubDate>
                        <description><![CDATA[I found a solution.
      strcat(LargeText, info);
Thread to be closed.]]></description>
                        <content:encoded><![CDATA[<p>I found a solution.</p>
<p>      strcat(LargeText, info);</p>
<p>Thread to be closed.</p>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/help-wanted/">Help Wanted</category>                        <dc:creator>SinC_int</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31431</guid>
                    </item>
				                    <item>
                        <title>RE: Internet Radio + HD44780 + scroll text</title>
                        <link>https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31383</link>
                        <pubDate>Mon, 11 Jul 2022 12:26:55 +0000</pubDate>
                        <description><![CDATA[#include &quot;Arduino.h&quot;
#include &quot;WiFi.h&quot;
#include &quot;Audio.h&quot;
#include &quot;WiFiManager.h&quot;
#include &quot;time.h&quot;
#include &quot;LiquidCrystal.h&quot;

//Define display pinout
LiquidCrystal lcd(13, 12, 14,...]]></description>
                        <content:encoded><![CDATA[<pre contenteditable="false">#include "Arduino.h"
#include "WiFi.h"
#include "Audio.h"
#include "WiFiManager.h"
#include "time.h"
#include "LiquidCrystal.h"

//Define display pinout
LiquidCrystal lcd(13, 12, 14, 19, 18, 5);

// Define I2S connections
#define I2S_DOUT 25
#define I2S_BCLK 27
#define I2S_LRC 26

// Create audio object
Audio audio;

TaskHandle_t Task1, Task2;

String ssid = "MYSSID";
String password = "MYPASSWORD";
char * LargeText = " Understanding code for scrolling text on 20*2 LCD Display. ";
int iLineNumber = 1; // Line number to show your string (Either 0 or 1)
int iCursor = 0;

void setup() {
Serial.begin(115200); // Start Serial Monitor
lcd.begin (20, 2); // Start LCD display

// Setup WiFi in Station mode
WiFi.disconnect();
WiFi.mode(WIFI_STA);
WiFi.begin(ssid.c_str(), password.c_str());

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}

// WiFi Connected, print IP to serial monitor
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
Serial.println("");
lcd.setCursor(0, 0);
lcd.print("IP: ");
lcd.print(WiFi.localIP());
delay(2000);
lcd.clear();
lcd.print("Radio Italo4you");

// Connect MAX98357 I2S Amplifier Module
audio.setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT);
audio.setVolume(10); // Set thevolume (0-100)
audio.connecttohost("http://s0.radiohost.pl:8018/stream"); //connect to stream

xTaskCreatePinnedToCore( codeForTask1, "stream", 15000, NULL, 2, &amp;Task1, 0);
delay(500); // needed to start-up task1?
xTaskCreatePinnedToCore( codeForTask2, "txt", 15000, NULL, 2, &amp;Task2, 1);
}

void codeForTask1( void * parameter ) {
for (;;) {
audio.loop(); //out radio stream
}
}

void audio_showstreamtitle(const char *info) {
// LargeText = info; // it doesnt work
Serial.print("streamtitle "); Serial.println(info);
}

void UpdateLCDDisplay()
{
int iLenOfLargeText = strlen(LargeText); // Calculate lenght of string.
if (iCursor == (iLenOfLargeText - 1) ){ // Reset variable for rollover effect.
iCursor = 0;
}
//lcd.clear();
lcd.setCursor(0,iLineNumber);
if(iCursor &lt; iLenOfLargeText - 20) // This loop exicuted for normal 20 characters.
{
for (int iChar = iCursor; iChar &lt; iCursor + 20 ; iChar++) {
lcd.print(LargeText);
}
}
else
{
for (int iChar = iCursor; iChar &lt; (iLenOfLargeText - 1) ; iChar++){ // This code takes care of printing charecters of current string.
lcd.print(LargeText);
}
for (int iChar = 0; iChar &lt;= 20 - (iLenOfLargeText - iCursor); iChar++){ // Reamining charecter will be printed by this loop.
lcd.print(LargeText);
}
}
iCursor++;
}

void codeForTask2( void * parameter ) {
for (;;) {
UpdateLCDDisplay(); // Scoll text by 1 character
delay(350); // Change delay to change speed for scrollig text.
}
}
void loop() {
}</pre>
<p>This is my code. </p>
<p>How to display 'info' as 'LagreText'?</p>
<p> </p>
<p>Regards</p>
<p>SinC</p>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/help-wanted/">Help Wanted</category>                        <dc:creator>SinC_int</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31383</guid>
                    </item>
				                    <item>
                        <title>RE: Internet Radio + HD44780 + scroll text</title>
                        <link>https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31239</link>
                        <pubDate>Fri, 08 Jul 2022 17:15:46 +0000</pubDate>
                        <description><![CDATA[@sinc_int Please use the reply link.
I assume you are referring to the sample code I posted. If so just remove the delay, I think the example is flawed, the auto scroll should happen anyway...]]></description>
                        <content:encoded><![CDATA[<p>@sinc_int Please use the reply link.</p>
<p>I assume you are referring to the sample code I posted. If so just remove the delay, I think the example is flawed, the auto scroll should happen anyway.</p>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/help-wanted/">Help Wanted</category>                        <dc:creator>Ron</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31239</guid>
                    </item>
				                    <item>
                        <title>RE: Internet Radio + HD44780 + scroll text</title>
                        <link>https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31236</link>
                        <pubDate>Fri, 08 Jul 2022 17:05:35 +0000</pubDate>
                        <description><![CDATA[Unfortunately, when I add the scrolling function, the radio is stuttering.
The delay line breaks everything.]]></description>
                        <content:encoded><![CDATA[<p>Unfortunately, when I add the scrolling function, the radio is stuttering.</p>
<p>The delay line breaks everything.</p>
<p> </p>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/help-wanted/">Help Wanted</category>                        <dc:creator>SinC_int</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31236</guid>
                    </item>
				                    <item>
                        <title>RE: Internet Radio + HD44780 + scroll text</title>
                        <link>https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31198</link>
                        <pubDate>Thu, 07 Jul 2022 23:04:22 +0000</pubDate>
                        <description><![CDATA[@byron That&#039;s because one of my legs is shorter.
His answer BTW is to call the autoscroll member of the LCD object. A quick look doesn&#039;t tell me how to limit it to just one line, it seems t...]]></description>
                        <content:encoded><![CDATA[<p>@byron That's because one of my legs is shorter.</p>
<p>His answer BTW is to call the autoscroll member of the LCD object. A quick look doesn't tell me how to limit it to just one line, it seems to be the entire display. mylcdobject.autoscroll();</p>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/help-wanted/">Help Wanted</category>                        <dc:creator>Ron</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31198</guid>
                    </item>
				                    <item>
                        <title>RE: Internet Radio + HD44780 + scroll text</title>
                        <link>https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31197</link>
                        <pubDate>Thu, 07 Jul 2022 22:59:03 +0000</pubDate>
                        <description><![CDATA[@zander
you are posting too fast for me to keep up, I guess I will have to drink more coffee, or whatever you are on 😀.   I thought you were an old fogey but you are running circles around ...]]></description>
                        <content:encoded><![CDATA[<p><span>@zander</span></p>
<p>you are posting too fast for me to keep up, I guess I will have to drink more coffee, or whatever you are on 😀.   I thought you were an old fogey but you are running circles around me. 😮 </p>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/help-wanted/">Help Wanted</category>                        <dc:creator>byron</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31197</guid>
                    </item>
				                    <item>
                        <title>RE: Internet Radio + HD44780 + scroll text</title>
                        <link>https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31196</link>
                        <pubDate>Thu, 07 Jul 2022 22:53:12 +0000</pubDate>
                        <description><![CDATA[@byron I just posted the example before I saw your post. Yes, it does appear to be a library function.]]></description>
                        <content:encoded><![CDATA[<p>@byron I just posted the example before I saw your post. Yes, it does appear to be a library function.</p>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/help-wanted/">Help Wanted</category>                        <dc:creator>Ron</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31196</guid>
                    </item>
				                    <item>
                        <title>RE: Internet Radio + HD44780 + scroll text</title>
                        <link>https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31195</link>
                        <pubDate>Thu, 07 Jul 2022 22:51:54 +0000</pubDate>
                        <description><![CDATA[@zander
Good point and you are probably correct, but I would expect if there is any scrolling text ability for the particular screen being used to be in the driver library for the screen.  ...]]></description>
                        <content:encoded><![CDATA[<p><span>@zander</span></p>
<p>Good point and you are probably correct, but I would expect if there is any scrolling text ability for the particular screen being used to be in the driver library for the screen.  </p>
<p>I usually use python these days and the python library for my dinky little 320 x 240 lcd screen does include the ability scroll text. </p>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/help-wanted/">Help Wanted</category>                        <dc:creator>byron</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31195</guid>
                    </item>
				                    <item>
                        <title>RE: Internet Radio + HD44780 + scroll text</title>
                        <link>https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31194</link>
                        <pubDate>Thu, 07 Jul 2022 22:51:35 +0000</pubDate>
                        <description><![CDATA[@sinc_int Here is the sample sketch showing how to do scrolling
 
 
 
// include the library code:
#include &lt;LiquidCrystal.h&gt;

// initialize the library by associating any neede...]]></description>
                        <content:encoded><![CDATA[<p>@sinc_int Here is the sample sketch showing how to do scrolling</p>
<p> </p>
<p> </p>
<p> </p>
<pre contenteditable="false"><span style="color: #434f54">// include the library code:</span>
<span style="color: #5e6d03">#include</span> <span style="color: #434f54">&lt;</span><strong><span style="color: #d35400">LiquidCrystal</span></strong><span style="color: #434f54">.</span><span style="color: #000000">h</span><span style="color: #434f54">&gt;</span>

<span style="color: #434f54">// initialize the library by associating any needed LCD interface pin</span>
<span style="color: #434f54">// with the arduino pin number it is connected to</span>
<span style="color: #00979c">const</span> <span style="color: #00979c">int</span> <span style="color: #000000">rs</span> <span style="color: #434f54">=</span> <span style="color: #000000">12</span><span style="color: #434f54">,</span> <span style="color: #000000">en</span> <span style="color: #434f54">=</span> <span style="color: #000000">11</span><span style="color: #434f54">,</span> <span style="color: #000000">d4</span> <span style="color: #434f54">=</span> <span style="color: #000000">5</span><span style="color: #434f54">,</span> <span style="color: #000000">d5</span> <span style="color: #434f54">=</span> <span style="color: #000000">4</span><span style="color: #434f54">,</span> <span style="color: #000000">d6</span> <span style="color: #434f54">=</span> <span style="color: #000000">3</span><span style="color: #434f54">,</span> <span style="color: #000000">d7</span> <span style="color: #434f54">=</span> <span style="color: #000000">2</span><span style="color: #000000">;</span>
<strong><span style="color: #d35400">LiquidCrystal</span></strong> <span style="color: #000000">lcd</span><span style="color: #000000">(</span><span style="color: #000000">rs</span><span style="color: #434f54">,</span> <span style="color: #000000">en</span><span style="color: #434f54">,</span> <span style="color: #000000">d4</span><span style="color: #434f54">,</span> <span style="color: #000000">d5</span><span style="color: #434f54">,</span> <span style="color: #000000">d6</span><span style="color: #434f54">,</span> <span style="color: #000000">d7</span><span style="color: #000000">)</span><span style="color: #000000">;</span>

<span style="color: #00979c">void</span> <span style="color: #5e6d03">setup</span><span style="color: #000000">(</span><span style="color: #000000">)</span> <span style="color: #000000">{</span>
  <span style="color: #434f54">// set up the LCD's number of columns and rows:</span>
  <span style="color: #000000">lcd</span><span style="color: #434f54">.</span><span style="color: #d35400">begin</span><span style="color: #000000">(</span><span style="color: #000000">16</span><span style="color: #434f54">,</span> <span style="color: #000000">2</span><span style="color: #000000">)</span><span style="color: #000000">;</span>
<span style="color: #000000">}</span>

<span style="color: #00979c">void</span> <span style="color: #5e6d03">loop</span><span style="color: #000000">(</span><span style="color: #000000">)</span> <span style="color: #000000">{</span>
  <span style="color: #434f54">// set the cursor to (0,0):</span>
  <span style="color: #000000">lcd</span><span style="color: #434f54">.</span><span style="color: #d35400">setCursor</span><span style="color: #000000">(</span><span style="color: #000000">0</span><span style="color: #434f54">,</span> <span style="color: #000000">0</span><span style="color: #000000">)</span><span style="color: #000000">;</span>
  <span style="color: #434f54">// print from 0 to 9:</span>
  <span style="color: #5e6d03">for</span> <span style="color: #000000">(</span><span style="color: #00979c">int</span> <span style="color: #000000">thisChar</span> <span style="color: #434f54">=</span> <span style="color: #000000">0</span><span style="color: #000000">;</span> <span style="color: #000000">thisChar</span> <span style="color: #434f54">&lt;</span> <span style="color: #000000">10</span><span style="color: #000000">;</span> <span style="color: #000000">thisChar</span><span style="color: #434f54">++</span><span style="color: #000000">)</span> <span style="color: #000000">{</span>
    <span style="color: #000000">lcd</span><span style="color: #434f54">.</span><span style="color: #d35400">print</span><span style="color: #000000">(</span><span style="color: #000000">thisChar</span><span style="color: #000000">)</span><span style="color: #000000">;</span>
    <span style="color: #d35400">delay</span><span style="color: #000000">(</span><span style="color: #000000">500</span><span style="color: #000000">)</span><span style="color: #000000">;</span>
  <span style="color: #000000">}</span>

  <span style="color: #434f54">// set the cursor to (16,1):</span>
  <span style="color: #000000">lcd</span><span style="color: #434f54">.</span><span style="color: #d35400">setCursor</span><span style="color: #000000">(</span><span style="color: #000000">16</span><span style="color: #434f54">,</span> <span style="color: #000000">1</span><span style="color: #000000">)</span><span style="color: #000000">;</span>
  <span style="color: #434f54">// set the display to automatically scroll:</span>
  <span style="color: #000000">lcd</span><span style="color: #434f54">.</span><span style="color: #d35400">autoscroll</span><span style="color: #000000">(</span><span style="color: #000000">)</span><span style="color: #000000">;</span>
  <span style="color: #434f54">// print from 0 to 9:</span>
  <span style="color: #5e6d03">for</span> <span style="color: #000000">(</span><span style="color: #00979c">int</span> <span style="color: #000000">thisChar</span> <span style="color: #434f54">=</span> <span style="color: #000000">0</span><span style="color: #000000">;</span> <span style="color: #000000">thisChar</span> <span style="color: #434f54">&lt;</span> <span style="color: #000000">10</span><span style="color: #000000">;</span> <span style="color: #000000">thisChar</span><span style="color: #434f54">++</span><span style="color: #000000">)</span> <span style="color: #000000">{</span>
    <span style="color: #000000">lcd</span><span style="color: #434f54">.</span><span style="color: #d35400">print</span><span style="color: #000000">(</span><span style="color: #000000">thisChar</span><span style="color: #000000">)</span><span style="color: #000000">;</span>
    <span style="color: #d35400">delay</span><span style="color: #000000">(</span><span style="color: #000000">500</span><span style="color: #000000">)</span><span style="color: #000000">;</span>
  <span style="color: #000000">}</span>
  <span style="color: #434f54">// turn off automatic scrolling</span>
  <span style="color: #000000">lcd</span><span style="color: #434f54">.</span><span style="color: #d35400">noAutoscroll</span><span style="color: #000000">(</span><span style="color: #000000">)</span><span style="color: #000000">;</span>

  <span style="color: #434f54">// clear screen for the next loop:</span>
  <span style="color: #000000">lcd</span><span style="color: #434f54">.</span><span style="color: #d35400">clear</span><span style="color: #000000">(</span><span style="color: #000000">)</span><span style="color: #000000">;</span>
<span style="color: #000000">}</span>

</pre>]]></content:encoded>
						                            <category domain="https://forum.dronebotworkshop.com/help-wanted/">Help Wanted</category>                        <dc:creator>Ron</dc:creator>
                        <guid isPermaLink="true">https://forum.dronebotworkshop.com/help-wanted/internet-radio-hd44780-scroll-text/#post-31194</guid>
                    </item>
							        </channel>
        </rss>
		