Delay

Moderator: Telldus

Post Reply
jstrom
Posts: 36
Joined: Thu Jan 18, 2018 11:08 am

Delay

Post by jstrom » Thu Jan 18, 2018 11:08 am

Hej!

Ny användare av tellsticken här. Sitter och leker lite med rfcmd på Freebsd 7.2, lite patchning för o få igång (skall bidra med lite vettiga patchar samt försöka få igång det till libtellduscore med, inte provat men vad jag ser och läst verkar det inte funka på FreeBSD, om den som linuxen bara jobbar med vanlig comport funkar det inte, då tellsticken inte verkar bli nån ucom på FreeBSD utan ugen som får accessas genom libftdi).

Anyway, I mitt petande i rfcmd så ville jag försöka få ner delayen mellan kommandona lite, i trunk begränsas detta rätt hårt med en simpel sleep(1). I core väntar man istället på svarskoden från enheten. Portade lite snabbt över detta, och med lite bench så ser det ut att ta runt ~575ms från att ftdi_write_data anropats tills dess att jag får en hel response (0x0A; + kommer in efter 123ms, S efter ytterligare 2ms).
Enl mina beräkningar skickade jag i detta testet med en proove-mottagare ut 52 bytes, ett basic S-kommando (ingen repeat eller så).
Enl protokollet bör varje byte som skickas generera en 10us*bytevärdet lång puls, vilket med de teststrängar jag körde ut skulle bli ca 33.55ms. Lägg till uart-speed på 4400 så blir det ca 10.8ms på transmit till enheten.. Totalt strax under 35ms mao.
Frågan är, har jag räknat fel nånstans, eller är det så mckt arbete för enhetens CPU (lr vad det nu kan va) att 500ms extra går åt nånstans, eller är det nått man kan optimera tro? Tänk tex scenariot att ställa in en "scene" (ett gäng presets för säg 5-6 mottagare), så går det ju åt ett par sekunder innan alla fått sin signal, inte helt optimalt.

Anyway, absolut inget akut, bara lite nördiga funderingar :) Ang core i freebsd, om nån vet om det funkar/inte funkar så kanske ni kan säga till :) Annars ger jag mig nog på att porta det! Såg nån annan tråd om att slippa dependency på QT, nån timeframe för det?
Och ännu en fråga när jag ändå håller på, ticket 48 nämner xPL-stöd, finns det några planer för detta? Annars blir det kanske ett litet projekt för mig :)

En liten tanke när jag läste koden som ni säkerligen redan är medvetna om, de bytes som skickas är i många fall specialtecken, om nån får för sig att råka ändra teckenuppsättning i sourcefilen kan det om man har otur bli väldigt fel... hex/int-koder känns som det är att föredra? Fast ni kanske har nån bra anledning :)

Finally, tack för en nice produkt, och mckt bra intiativ att köra opensource, annars hade jag nog aldrig köpt den :)

Mvh

krambriw
Posts: 654
Joined: Thu Jan 18, 2018 11:08 am

Post by krambriw » Thu Jan 18, 2018 11:08 am

Om xPL är viktigt kan jag nämna att om du använder EventGhost så stöds styrningar av Tellstick via xPL-kommandon.

Jag själv använder xPL, helt suveränt. Kolla på doghouselabs.blogspot.com så hittar du mycket intressant

mvh

jstrom
Posts: 36
Joined: Thu Jan 18, 2018 11:08 am

Post by jstrom » Thu Jan 18, 2018 11:08 am

Nja, vet inte hur viktigt det är eg.. Såg xPL-ticketen häromdagen när jag kollade igenom ticketlisten, och undrade vad xPL var.. :) efter lite research kom jag fram till att det kan ju faktiskt va rätt användbart, och lite idéer började forma sig :) Har inget system annars just nu som kör det, men kan tänka mig att det är vettigt för o knyta ihop lite grejer här hemma..
Finns det nån bra sida om xPL utöver xplproject tro?

Ang EventGhost så är det inget aktuellt för mig, då det är windows only vad jag läste :)

micke.prag
Site Admin
Posts: 2242
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Post by micke.prag » Thu Jan 18, 2018 11:08 am

Hej

Vi har tyvärr ingen möjlighet att själva supporta FreeBSD i dagsläget. Däremot hjälper vi gärna communityt att tillsammans utveckla ett stöd.

Du nämner också libftdi, i telldus-core kommer snart ett par commits där det ska gå att switcha mellan en device i /dev, libftdi och ftdis egna bibliotek ftd2xx. För FreeBSD så borde koden in där.

Angående xPL så utvecklas just nu ett fristående QT-bibliotek så att det ska integreras i TelldusCenter. Först när det är klart kan xPL-ticketen betas av.
Vi har även utvecklat en xpl->telldus-core brygga som använder detta c-bibliotek (d.v.s. ingen qt):
http://www.xpl4java.org/xPL4Linux/
Micke Prag
Software
Telldus Technologies

jstrom
Posts: 36
Joined: Thu Jan 18, 2018 11:08 am

Post by jstrom » Thu Jan 18, 2018 11:08 am

Hej,
nej, delayfrågan var inte så mckt ang freebsd-support som allmän fundering kring tellsticken och dess "prestanda", dvs inte alls freebsd-specifik.
Att ni inte supportar freebsd är jag helt med på :)

Nån aning när dessa commits dyker upp?

Du länkade till libbet som eran brygga använde, men var hittar jag bryggan?

micke.prag
Site Admin
Posts: 2242
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Post by micke.prag » Thu Jan 18, 2018 11:08 am

Delayfrågan undvek jag medvetet att svara för att hinna kolla upp ett par saker.

Tänk på att TellStick repeterar varje paket 10 ggr.

Ett paket 33.55ms + paus 11 ms => ~45 ms

10 paket blir 450 ms.

Mer om protokollet för TellStick kan hittas här:
http://developer.telldus.se/doxygen/TellStick.html
Micke Prag
Software
Telldus Technologies

micke.prag
Site Admin
Posts: 2242
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Post by micke.prag » Thu Jan 18, 2018 11:08 am

xPL-bryggan finns endast internt hos oss. Jag kan skicka den till dig om du är intresserad.
Micke Prag
Software
Telldus Technologies

micke.prag
Site Admin
Posts: 2242
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Post by micke.prag » Thu Jan 18, 2018 11:08 am

jstrom wrote:Nån aning när dessa commits dyker upp?
http://developer.telldus.se/changeset/361

Tänk på att detta är trunk och det finns inga garantier på att det ens går att bygga.
Micke Prag
Software
Telldus Technologies

jstrom
Posts: 36
Joined: Thu Jan 18, 2018 11:08 am

Post by jstrom » Thu Jan 18, 2018 11:08 am

Aha, det förklarar delayen! Hittade inget om det i protokoll-docsen, fann enbart det om R-kommandot för explicit repetering.

Skicka gärna xPL-bryggan så kan jag ta en titt :)

Ska se om jag får liv i core, har nog inte tid närmsta dagarna dock men till helgen så. Återkommer, ev patchning för freebsd kan jag nog nästan utlova!

Tack! :)

joakimsle
Posts: 10
Joined: Thu Jan 18, 2018 11:08 am
Contact:

Post by joakimsle » Thu Jan 18, 2018 11:08 am

Hej,

Tänkte bara säga att jag verkligen ser fram emot FreeBSD-patchen. Kör fortf v1 av mjukvaran då jag inte lyckats få igång v2 på FreeBSD. Skulle vara fantastiskt att kunna sätta absoluta dimnivåer :)

Jag ska bidra på mitt sätt genom att fortsätta att tipsa vänner och bekanta om Tellstick!

Tack på förhand,
Joakim

jstrom
Posts: 36
Joined: Thu Jan 18, 2018 11:08 am

Post by jstrom » Thu Jan 18, 2018 11:08 am

Hej,

micke har fått en patch för rfcmd, men den har ju inga dimmernivåer afaik. Han skulle kolla på det under veckan och lägga in det i trunk om det såg OK ut.

Har fixat tdtool också, så libtelldus-core funkar fint på freebsd, skall skicka patch under dagen för detta med tänkte jag :)

Om du är intresserad kan jag slänga upp patcharna här med så kan du få testa :)

Mvh

micke.prag
Site Admin
Posts: 2242
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Post by micke.prag » Thu Jan 18, 2018 11:08 am

Första omgången patch inne i trunk:
http://developer.telldus.se/changeset/365
Micke Prag
Software
Telldus Technologies

micke.prag
Site Admin
Posts: 2242
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Post by micke.prag » Thu Jan 18, 2018 11:08 am

Micke Prag
Software
Telldus Technologies

joakimsle
Posts: 10
Joined: Thu Jan 18, 2018 11:08 am
Contact:

Post by joakimsle » Thu Jan 18, 2018 11:08 am

Testade just på en nyinstallerad FreeBSD 8.0 och de nya patcharna funkar fint. Tack så hemskt mycket.

Även Tdtool fungerar fint om man sätter deviceNode = "LIBUSB" i /etc/tellstick.conf


Jag var dock tvungen att ta bort både rfcmd.1 och tdtool.1 från respektive cmake_install.cmake-fil för att 'make install' skulle köra klart.

Fick felmeddelandet:

CMake Error at tdtool/cmake_install.cmake:47 (FILE):
file INSTALL cannot find
"/home/joakim/compile/telldus-core/tdtool/tdtool.1".

Tack än en gång!
Joakim

Post Reply