8400 text cutting off
Does anyone have the answer???
I also tried 3 different 8400 with 2.83.9 firmware - same results
I even transfered the CV12 TP4 file to the 8400
The end of the string doesn't show in the the 8400 panels.
Yes there are 7 spaces after the '|' carriage return.
Send text to a CV12 ver 2.57.80 or an older version 8400 - works fine: //////////////////////////////////////// Line 22 (19:20:10):: Command To [10001:5:1]-[^TXT-41,0,01. Home - Evening ~ ON: Sunset +30| All days of the week] Send text to a 8400 ver 2.83.9 - only the first line is received by the panel //////////////////////////////////////// Line 3 (19:21:03):: Command To [10002:5:1]-[^TXT-41,0,01. Home - Evening ~ ON: Sunset +30| All days ] Line 4 (19:21:03):: Command To [10002:5:1]-[of the week]
I also tried 3 different 8400 with 2.83.9 firmware - same results
I even transfered the CV12 TP4 file to the 8400
The end of the string doesn't show in the the 8400 panels.
Yes there are 7 spaces after the '|' carriage return.
0
Comments
Gary,
According to AMX-PI there is a limitation of 50 characters of new text when using the ^TXT command although you seem to be getting a couple of more characters than that. I can?t explain why you were able to get much more text out to an older version 8400.
I use the ^TXT command in conjunction with the ^BAT command if I want to get more than 50 characters of text on a button.
Here is some code I used when I had to send text to a button that was sometimes greater than 50 characters but I knew was always going to be less than 100 characters. You can obviously use a FOR or WHILE loop to break the string into 50 character chunks to make a more generic text sending routine but this sufficed for what I needed at the time.
//timerstring may be > 50 characters but will be < 100 IF (LENGTH_ARRAY(timerstring > 50)) { SEND_COMMAND dvTP,"'^TXT-',ITOA(nTimerOnTxts[x]),',0,',LEFT_STRING(timerstring,50)" SEND_COMMAND dvTP,"'^BAT-',ITOA(nTimerOnTxts[x]),',0,',MID_STRING(timerstring,51,LENGTH_ARRAY(timerstring)-50)" } ELSE { SEND_COMMAND dvTP,"'^TXT-',ITOA(nTimerOnTxts[x]),',0,',timerstring" }HTH
if (sForecastsSent[1].description != sForecasts[1].description) { SEND_COMMAND dvTPWeatherArray,"'!T',nFeedback[VT_forecast_1],LEFT_STRING(sForecasts[1].description,100)" SEND_COMMAND dvTPWeatherArray,"'^BAT-',ITOA(nFeedback[VT_forecast_1]),',0,',MID_STRING(sForecasts[1].description,101,100)" SEND_COMMAND dvTPWeatherArray,"'^BAT-',ITOA(nFeedback[VT_forecast_1]),',0,',MID_STRING(sForecasts[1].description,201,100)" SEND_COMMAND dvTPWeatherArray,"'^BAT-',ITOA(nFeedback[VT_forecast_1]),',0,',MID_STRING(sForecasts[1].description,301,100)" sForecastsSent[1].description = sForecasts[1].description } if (sForecastsSent[2].title != sForecasts[2].title) { SEND_COMMAND dvTPWeatherArray,"'!T',nFeedback[VT_fcastTitle_2],sForecasts[2].title" sForecastsSent[2].title = sForecasts[2].title } if (sForecastsSent[2].description != sForecasts[2].description) { SEND_COMMAND dvTPWeatherArray,"'!T',nFeedback[VT_forecast_2],LEFT_STRING(sForecasts[2].description,100)" SEND_COMMAND dvTPWeatherArray,"'^BAT-',ITOA(nFeedback[VT_forecast_2]),',0,',MID_STRING(sForecasts[2].description,101,100)" SEND_COMMAND dvTPWeatherArray,"'^BAT-',ITOA(nFeedback[VT_forecast_2]),',0,',MID_STRING(sForecasts[2].description,201,100)" SEND_COMMAND dvTPWeatherArray,"'^BAT-',ITOA(nFeedback[VT_forecast_2]),',0,',MID_STRING(sForecasts[2].description,301,100)" sForecastsSent[2].description = sForecasts[2].description } if (sForecastsSent[3].title != sForecasts[3].title) { SEND_COMMAND dvTPWeatherArray,"'!T',nFeedback[VT_fcastTitle_3],sForecasts[3].title" sForecastsSent[3].title = sForecasts[3].title } if (sForecastsSent[3].description != sForecasts[3].description) { SEND_COMMAND dvTPWeatherArray,"'!T',nFeedback[VT_forecast_3],LEFT_STRING(sForecasts[3].description,100)" SEND_COMMAND dvTPWeatherArray,"'^BAT-',ITOA(nFeedback[VT_forecast_3]),',0,',MID_STRING(sForecasts[3].description,101,100)" SEND_COMMAND dvTPWeatherArray,"'^BAT-',ITOA(nFeedback[VT_forecast_3]),',0,',MID_STRING(sForecasts[3].description,201,100)" SEND_COMMAND dvTPWeatherArray,"'^BAT-',ITOA(nFeedback[VT_forecast_3]),',0,',MID_STRING(sForecasts[3].description,301,100)" sForecastsSent[3].description = sForecasts[3].description } if (sForecastsSent[4].title != sForecasts[4].title) { SEND_COMMAND dvTPWeatherArray,"'!T',nFeedback[VT_fcastTitle_4],sForecasts[4].title" sForecastsSent[4].title = sForecasts[4].title } if (sForecastsSent[4].description != sForecasts[4].description) { SEND_COMMAND dvTPWeatherArray,"'!T',nFeedback[VT_forecast_4],LEFT_STRING(sForecasts[4].description,100)" SEND_COMMAND dvTPWeatherArray,"'^BAT-',ITOA(nFeedback[VT_forecast_4]),',0,',MID_STRING(sForecasts[4].description,101,100)" SEND_COMMAND dvTPWeatherArray,"'^BAT-',ITOA(nFeedback[VT_forecast_4]),',0,',MID_STRING(sForecasts[4].description,201,100)" SEND_COMMAND dvTPWeatherArray,"'^BAT-',ITOA(nFeedback[VT_forecast_4]),',0,',MID_STRING(sForecasts[4].description,301,100)" sForecastsSent[4].description = sForecasts[4].description }I've been using ^TXT for YEARS without the 50 char limitation. It's the new firmware that implemented the limit. When I try sending ^TXT will an older firmware I get up to 187 chars.
I also use ^BAT for larger text like my weather/headline news modules, but I never had to use in on smaller text.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
One more example why AMX should have a site to inform use when things change.
I now have to change all my modules to a different text sending method.
Also, the ^BAT now has a limit of 50 chars.
Vining
I see in your code you are limiting your text to 100 chars. I would test your weather module to see if you are getting text over 50 using the ^BAT. I was informed that ^TXT and ^BAT is now only 50 chars max.
Another reason not to upgrade any firmware on a working system. I'll have to back track now and see which firmware revision implemented the change and see what the TPs are running. Like I needed something else to do.
It's shocking to think AMX would change the way a system command functions w/o anticipating the consequence it would have on all the existing systems and the subsequent problems it would cause all their loyal programmers and dealers.