Sending very long raw strings

Moderator: Telldus

Post Reply
zyberzero
Posts: 56
Joined: Fri Mar 17, 2023 9:45 am
Location: Göteborg

Sending very long raw strings

Post by zyberzero »

Hi!

I've bought a Kingpin screen, a NON210. This model is only sold by NetOnNet and it seems to be a simpler screen than the crown series. It has an other control unit which seems to be non-controllable from the standard Tellstick-installation.
I want to controll it from my computer, without hacking the remote, so I hooked the remote up to my logic analyzer.

I've got the following pulse train for one event:

Code: Select all

0.0us   1
5180.0us        0
580.0us 1
600.0us 0
200.0us 1
200.0us 0
600.0us 1
560.0us 0
220.0us 1
200.0us 0
580.0us 1
220.0us 0
580.0us 1
200.0us 0
600.0us 1
560.0us 0
220.0us 1
580.0us 0
200.0us 1
220.0us 0
580.0us 1
200.0us 0
600.0us 1
580.0us 0
200.0us 1
200.0us 0
580.0us 1
220.0us 0
580.0us 1
600.0us 0
200.0us 1
580.0us 0
200.0us 1
580.0us 0
220.0us 1
200.0us 0
580.0us 1
200.0us 0
600.0us 1
180.0us 0
600.0us 1
580.0us 0
220.0us 1
580.0us 0
200.0us 1
200.0us 0
600.0us 1
180.0us 0
600.0us 1
580.0us 0
220.0us 1
580.0us 0
200.0us 1
220.0us 0
580.0us 1
180.0us 0
600.0us 1
580.0us 0
220.0us 1
580.0us 0
200.0us 1
200.0us 0
600.0us 1
180.0us 0
600.0us 1
580.0us 0
220.0us 1
200.0us 0
580.0us 1
220.0us 0
580.0us 1
180.0us 0
600.0us 1
200.0us 0
600.0us 1
200.0us 0
580.0us 1
220.0us 0
580.0us 1
180.0us 0
600.0us 1
600.0us 0
200.0us 1
200.0us 0
600.0us 1
200.0us 0
580.0us 1
180.0us 0
600.0us 1
200.0us 0
600.0us 1
200.0us 0
600.0us 1
200.0us 0
580.0us 1
200.0us 0
580.0us 1
200.0us 0
600.0us 1
200.0us 0
600.0us 1
200.0us 0
580.0us 1
200.0us 0
600.0us 1
180.0us 0
600.0us 1
580.0us 0
220.0us 1
200.0us 0
580.0us 1
600.0us 0
200.0us 1
580.0us 0
200.0us 1
580.0us 0
220.0us 1
580.0us 0
200.0us 1
600.0us 0
200.0us 1
180.0us 0
600.0us 1
200.0us 0
600.0us 1
580.0us 0
200.0us 1
200.0us 0
600.0us 1
580.0us 0
200.0us 1
600.0us 0
(Note: The list shows at which time point the pulse switches to the value, so we see that at 0.0 we go high for 5180 µs)

This consists of 132 state changes, which is far more than the 78 bytes of memory the Tellstick have.
And since there is 7 different values (180,200, 220, 560, 580, 600, 5180) I can't use the extended mode - right? From my readings I can have four different timings. And even if I had, I couldn't use the long (5180µs) pulse anyway, since it consists of 5 bytes of data? (\xFF\x01\xFF\x01\x08).

Is there any chance at all that I can get this to work with Tellstick?

Btw:
I have the Beta of Duo, can that handle extended mode?
Btw #2:
I've created a simple Python-script to convert the output to "simple" mode, but when I run it the telldusd crashes - from the debian apt package as of today.

Best regards,
zyber
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: Sending very long raw strings

Post by micke.prag »

zyberzero wrote:And since there is 7 different values (180,200, 220, 560, 580, 600, 5180) I can't use the extended mode - right?
You could probably combine 180, 200 and 220 into one value. Sending 200 for all three probably works. In the same way you could replace 560 and 580 and only send 600. This leaves you with only three different values.

5180 is to big (one byte is 255 maximum) so you need to combine several 600us into one pulse.
zyberzero wrote:I have the Beta of Duo, can that handle extended mode?
Yes, and it also got a larger memory and can handle 512 bytes of data.
zyberzero wrote:I've created a simple Python-script to convert the output to "simple" mode, but when I run it the telldusd crashes - from the debian apt package as of today.
Not much information provided here...
Micke Prag
Software
Telldus Technologies
zyberzero
Posts: 56
Joined: Fri Mar 17, 2023 9:45 am
Location: Göteborg

Re: Sending very long raw strings

Post by zyberzero »

micke.prag wrote:
zyberzero wrote:And since there is 7 different values (180,200, 220, 560, 580, 600, 5180) I can't use the extended mode - right?
You could probably combine 180, 200 and 220 into one value. Sending 200 for all three probably works. In the same way you could replace 560 and 580 and only send 600. This leaves you with only three different values.

5180 is to big (one byte is 255 maximum) so you need to combine several 600us into one pulse.
Ok, thanks. I'll test tonight!
micke.prag wrote:
zyberzero wrote:I have the Beta of Duo, can that handle extended mode?
Yes, and it also got a larger memory and can handle 512 bytes of data.
OK, thanks. I'll test!
micke.prag wrote:
zyberzero wrote:I've created a simple Python-script to convert the output to "simple" mode, but when I run it the telldusd crashes - from the debian apt package as of today.
Not much information provided here...
I've created the following string:

Code: Select all

S\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\x50\xFF\x01\xFF\x01\x46\xFF\x01\xFF\x01\x5A\xC8\xC8\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x32\xDC\xC8\xFF\x01\xFF\x01\x46\xDC\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x32\xDC\xFF\x01\xFF\x01\x46\xC8\xDC\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x46\xC8\xC8\xFF\x01\xFF\x01\x46\xDC\xFF\x01\xFF\x01\x46\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x46\xDC\xC8\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x5A\xB4\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x46\xDC\xFF\x01\xFF\x01\x46\xC8\xC8\xFF\x01\xFF\x01\x5A\xB4\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x46\xDC\xFF\x01\xFF\x01\x46\xC8\xDC\xFF\x01\xFF\x01\x46\xB4\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x46\xDC\xFF\x01\xFF\x01\x46\xC8\xC8\xFF\x01\xFF\x01\x5A\xB4\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x46\xDC\xC8\xFF\x01\xFF\x01\x46\xDC\xFF\x01\xFF\x01\x46\xB4\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x46\xDC\xFF\x01\xFF\x01\x46\xB4\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x5A\xC8\xC8\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x46\xB4\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x5A\xB4\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x46\xDC\xC8\xFF\x01\xFF\x01\x46\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x46\xDC\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x5A\xC8\xB4\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x46\xC8\xC8\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x5A+
Which, when I run, the telldusd stops responding and I need to restart it. This is not for long for the duo - this is 438 bytes if I can count :)

I'll try later to write something to use the extended mode. Is it possible to use \x01 as a timing, for combining to the 5180 long pulse? Or, can I design a pulse that is 5180 µs long? I think I'll just design a pulse that is 5120 µs long and test with, but my question still remain, is it possible to do something like
T\x3C\x14\x01\x255\x83\xEC....cont
And do I need to modify the pulse count? Does \xEC counts as one long pulse or 4 small?
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: Sending very long raw strings

Post by micke.prag »

zyberzero wrote:I've created the following string:
Which, when I run, the telldusd stops responding and I need to restart it. This is not for long for the duo - this is 438 bytes if I can count
Still no source code to test with...
zyberzero wrote: Is it possible to use \x01 as a timing, for combining to the 5180 long pulse?
Yes
zyberzero wrote:And do I need to modify the pulse count? Does \xEC counts as one long pulse or 4 small?
4, I think
Micke Prag
Software
Telldus Technologies
zyberzero
Posts: 56
Joined: Fri Mar 17, 2023 9:45 am
Location: Göteborg

Re: Sending very long raw strings

Post by zyberzero »

micke.prag wrote:
zyberzero wrote:I've created the following string:
Which, when I run, the telldusd stops responding and I need to restart it. This is not for long for the duo - this is 438 bytes if I can count
Still no source code to test with...
I maybe wasn't clear enough. The above is runned like this:

Code: Select all

echo -e "S\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\xFF\x01\x50\xFF\x01\xFF\x01\x46\xFF\x01\xFF\x01\x5A\xC8\xC8\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x32\xDC\xC8\xFF\x01\xFF\x01\x46\xDC\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x32\xDC\xFF\x01\xFF\x01\x46\xC8\xDC\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x46\xC8\xC8\xFF\x01\xFF\x01\x46\xDC\xFF\x01\xFF\x01\x46\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x46\xDC\xC8\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x5A\xB4\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x46\xDC\xFF\x01\xFF\x01\x46\xC8\xC8\xFF\x01\xFF\x01\x5A\xB4\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x46\xDC\xFF\x01\xFF\x01\x46\xC8\xDC\xFF\x01\xFF\x01\x46\xB4\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x46\xDC\xFF\x01\xFF\x01\x46\xC8\xC8\xFF\x01\xFF\x01\x5A\xB4\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x46\xDC\xC8\xFF\x01\xFF\x01\x46\xDC\xFF\x01\xFF\x01\x46\xB4\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x46\xDC\xFF\x01\xFF\x01\x46\xB4\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x5A\xC8\xC8\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x46\xB4\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x5A\xB4\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x46\xDC\xC8\xFF\x01\xFF\x01\x46\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x46\xDC\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x5A\xC8\xB4\xFF\x01\xFF\x01\x5A\xC8\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x46\xC8\xC8\xFF\x01\xFF\x01\x5A\xFF\x01\xFF\x01\x46\xC8\xFF\x01\xFF\x01\x5A+" | tdtool --raw -
So for this specific case, I haven't written anything by myself yet. (However, I noticed that I forgot to divide all the pulse widths with 10, my bad).
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: Sending very long raw strings

Post by micke.prag »

Yes, all these combined 0xFF+1+0xFF doesnt seem right...
Micke Prag
Software
Telldus Technologies
zyberzero
Posts: 56
Joined: Fri Mar 17, 2023 9:45 am
Location: Göteborg

Re: Sending very long raw strings

Post by zyberzero »

micke.prag wrote:Yes, all these combined 0xFF+1+0xFF doesnt seem right...
OK, so I've been testing a lot. I now that I have the right pulse train, because I've sucessfully got an Arduino to control the screen - by sending the pulse train to an HDR433M.

I must ask again, I have the beta of the duo (I have a "real" duo as well but at another location...). Does the beta, without any upgrades, really accept the \x01 as a "glue"? I have an really old tellstick as well (batch 4 or 6 or so) - somewhere in a box - from witch batch does the tellstick starts to support \x01?

Best regards,
zyber
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: Sending very long raw strings

Post by micke.prag »

zyberzero wrote:Does the beta, without any upgrades, really accept the \x01 as a "glue"?
Depends on the firmware version. The beta-duo needs a hardware upgrade to be able to run newer firmware versions.
zyberzero wrote:I have an really old tellstick as well (batch 4 or 6 or so) - somewhere in a box - from witch batch does the tellstick starts to support \x01?
These doesn't support \x01 and can unfortunately not be firmware upgraded.
Micke Prag
Software
Telldus Technologies
zyberzero
Posts: 56
Joined: Fri Mar 17, 2023 9:45 am
Location: Göteborg

Re: Sending very long raw strings

Post by zyberzero »

micke.prag wrote:
zyberzero wrote:Does the beta, without any upgrades, really accept the \x01 as a "glue"?
Depends on the firmware version. The beta-duo needs a hardware upgrade to be able to run newer firmware versions.
zyberzero wrote:I have an really old tellstick as well (batch 4 or 6 or so) - somewhere in a box - from witch batch does the tellstick starts to support \x01?
These doesn't support \x01 and can unfortunately not be firmware upgraded.
Well, then that's probably why I can't get it to work. Is it possible to get the beta upgraded? To what expense?
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: Sending very long raw strings

Post by micke.prag »

Please open a support ticket and will, for sure, find a solution for you.
http://www.telldus.com/support/index
Micke Prag
Software
Telldus Technologies
Post Reply