Inlägg

Inlägg som skorpion har skrivit i forumet
Av skorpion

Har du fått det att funka?
Tror jag har samma tv som dig, men när jag köpte den så skulle den enbart stödja foto/musik.
Däremot är det exakt samma tv som den 1000:- dyrare modell som även stödjer film. Man måste bara "hacka" den.
http://www.youtube.com/watch?v=Zc4q2AP-QDM&feature=related
Står lite mer här också, fast gäller en annan tv
http://www.minhembio.com/forum/index.php?showtopic=243105
Det hela går ut på att man tar en vanlig IR-diod från en vanlig fjärrkontroll och löder på den på en 3.5mm hörlurssladd (Tror det var höger och vänster, skippa jord) Sen spelar man upp ett ljudklipp som får en att komma in i servicemenyn på tvn, där man aktiverar filmfunktionen

/Niclas

Av skorpion

Mysql - problem med tid

Hej
Jag har lite problem med att sortera efter tid i min tabell.
Jag har tid i formatet:
2:21:40.0
och
30:05.6

Det första på 2h och den andra på 30min

Om jag bara sorterar på "tid" så kommer 2:21:40.0 före 30:05.6 fastän 30:05.6 är lägre.

Hur gör man för att mysql ska förstå skillnaden?

/Niclas

Av skorpion

PHP - Dela upp text och bearbeta allt som inte är <egen_tag>?

Hej
Jag har en text som innehåller beskrivning av tangenttryckningar. Problemet nu är att jag inte använder standard tangentbordslayout (qwerty). Så all text blir "krypterad".

Ett exempel kan vara i stil med:

äpipi<right>lxsehe<cmd>aooo

Jag har gjort kod för att "dekryptera" min tangentbordslayout, så det är inge problem.
Jag har även lyckats dela upp texten med hjälp av preg_split, men då sparas inte "taggarna" och dem vill jag spara till själva utskriften i slutet:

$newArray[]=preg_split('/<left>|<right>|<up>|<down>|<cmd>|<cntrl>|<fn>|<opt>|<tab>|<del>/',$v,-1);

Jag skulle kort sagt vilja dela upp följande sträng:

äpipi<right>lxsehe<cmd>aooo

Till detta:

Array( [0]=>"äpipi", [1]=>"<right>", [2]=>"lxsehe", [3]=>"<cmd>", [4]=>"aooo" );

Men mina ideer har nu tagit slut, så är det någon som kan bistå med lite hjälp?

MVH Niclas

Av skorpion

VirtualIntent: Du förstod att det hade med Telldus Tellstick att göra, har du gjort något eget program för det?

Jag har en sak som är kvar innan jag kan känna mig någolunda klar och kan börja snygga till allt.
Det är så att jag skulle behöva göra så att allt som skickas är kodat med ISO 8859-1. Just nu så blir tex "Vintrinskåp": Vintrinsk(tecknet för roten ur å sen en punkt)p

Har försökt leta på google men tycker inte att jag hittar något som jag förstår :/

Nån som kan ge mig lite hjälp på vägen?

MVH Niclas

Av skorpion

Tack för hjälpen, jag tror att jag har fixat det nu, återkommer med hur jag löst det senare.

Jag har däremot fått ett annat bekymmer med en annan del av koden nu.

Jag har detta:

int intNumberOfDevices = tdGetNumberOfDevices(); char ts_aliases[255]; int tdName2Id[intNumberOfDevices]; for (int i = 0; i < intNumberOfDevices; i++) { if(i>0){ strcat(ts_aliases,"\n"); } int id = tdGetDeviceId( i ); char *name = tdGetName( id ); char *protocol = tdGetProtocol( id ); tdName2Id[*name]=id; strcpy(ts_aliases,"ALIAS='"); strcat(ts_aliases,name); strcat(ts_aliases,"'\nPROTOCOL='"); strcat(ts_aliases,protocol); strcat(ts_aliases,"' >> "); printf("%d\t%s\t%s\t%i\n", id, name, protocol,tdName2Id[*name]); tdReleaseString(name); tdReleaseString(protocol); }

Det var ett tag sedan jag skrev denna kod (har återupptagit projektet nyss), och jag vet att tanken är att skapa en char (ts_aliases) som innehåller något i stil med:

ALIAS='Lampa'\nPROTOCOL='NEXA'\nALIAS='Soffa'\nPROTOCOL=NEXA >>

Den delen fungerar som den ska, men sen finns det en del som skall fylla tdName2Id med information
Tanken var att jag skulle kunna anropa tdName2Id med en text, tex "Lampa" och sedan returnerar den en int

Tänk er: (denna information ligger lagrad på servern)
id namn protocol
1 Lampa NEXA
2 Soffa NEXA

Om servern får som svar av klienten (klienten har inte jag gjort, så jag kan inte be den skicka id istället) att den skall tända lampan "Soffa", då vill jag att servern ska förstå att "Soffa" är lampan med id 2. Hänger ni med?

Är jag ute och cyklar med min kod ovanför? Hur skulle ni gjort?

MVH Niclas

edit: ser nu att med raden:

printf("%d\t%s\t%s\t%i\n", id, name, protocol,tdName2Id[*name]);

så får jag ju fram id från tdName2Id[*name]
Men om jag klipper ut den raden och lägger den utanför for-loopen så verkar jag inte få "tag" på informationen som är lagrad i den. Typ att den inte är global? Går fortfarande bet på det alltså :/

Av skorpion

Om jag tar bort close(newsockfd) så kvarstår problemet

Om jag däremot lägger in i servern att den ska vänta på ett till svar från klienten så kommer inte felet.....förrens klienten svarat.

Det verkar som att servern spottar ut felet efter den sista kommunikationen är gjord. Tills dess verkar det fungera.

/Niclas

Av skorpion

c++ socket - Bad File Descriptor?

Hej

Jag försöker bygga en socketserver som skall lyssna på en klient och ge svar tillbaka.

Jag kan ansluta till servern men när klienten börjar skicka data så spottar den ut: ERROR on accept: Bad File Descriptor.

Här är koden:

#include <iostream> #include <string> #include <cstring> #include <sstream> #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <arpa/inet.h> using namespace std; void error(char *msg) { perror(msg); exit(1); } int main (int argc, char * const argv[]) { int sockfd, newsockfd, portno; socklen_t clilen; char buffer[256]; struct sockaddr_in serv_addr, cli_addr; int P_value = 6435; string u_value; string p_value; int i; for (i = 1; i < argc; i++) { if (argv[i][0] == '-') { switch (argv[i][1]) { case 'P': P_value = atoi(argv[++i]); break; case 'u': u_value = argv[++i]; break; case 'p': p_value = argv[++i]; break; } } } if (P_value < 2 || u_value.empty() || p_value.empty()) error("ERROR: To few arguments supplied, look at --help"); sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd < 0) error("ERROR opening socket"); bzero((char *) &serv_addr, sizeof(serv_addr)); portno = P_value; serv_addr.sin_family = AF_INET; serv_addr.sin_addr.s_addr = INADDR_ANY; serv_addr.sin_port = htons(portno); if (bind(sockfd, (struct sockaddr *) &serv_addr,sizeof(serv_addr)) < 0) error("ERROR on binding"); listen(sockfd,5); clilen = sizeof(cli_addr); while (1){ newsockfd = accept(sockfd, (struct sockaddr *) &cli_addr, &clilen); if (newsockfd < 0) error("ERROR on accept"); int pid; pid=fork(); if (pid < 0) error("ERROR on fork"); if (pid == 0){ close(sockfd); bzero(buffer,256); write(newsockfd,"This is version 0.1 of the API >> ",34); read(newsockfd,buffer,255); printf("Client said: %s",buffer); stringstream ss; string buff; ss << buffer; ss >> buff; size_t userfound; userfound=buff.find(u_value); if(userfound!=string::npos){ cout << "Give me your password >>"; } } else{ close(newsockfd); } } }

Någon som kan hjälpa mig att förstå problemet?

MVH niclas

Av skorpion

Oj, det där var inte orginalet, här är det:

Denna har inte den drä rutan i slutet.

Av skorpion

Hittade den själv:
**borttaget, då det inte var orginalet, se längre ner istället***

Helt klart sevärd och tänkvärd!

Av skorpion

Söker en filmsnutt. "Har du tak över huvudet, då lever du bättre än 95% av värl..."

Hej
Jag söker en filmsnutt som tar upp skillnader i världen och berättar tex att:
Har du tak över huvudet, så bor du bättre än 95% av världens befolkning
Har du en toalett så bor du bättre än 90% av världens befolkning

mm

Snutten ska nog finnas på youtube, men jag vet inte vad jag ska söka efter.

Den tar helt enkelt upp konkreta exempel så att man kan få lite mer perspektiv på hur det är ställt i världen.

Någon som vet vilken jag menar? Någon som kan länka till den?

MVH Niclas

Av skorpion

Böja rundstav i stål med diameter på ca 5mm?

Hej

Försökte googla men hittade bara hur man böjer rör.

Så är det någon här som vet hur man gör för att böja massiva rundstavar av tex stål?

Tanken jag har är att göra en ram likt en pakethållare som sitter på cyklar, fast till min MC så att packväskor kan sitta bättre och inte komma åt tex varma avgasrörsdelar.

Jag vet att det finns färdiga ramar/byglar att köpa, men min MC är lite moddad så jag måste göra det själv.

Jag vill kunna få rätt skarpa hörn. Måste man värma med gasolbrännare eller liknande innan man böjer? Måste man ha en maskinell bock eller funkar det att bara böja i ett skruvstäd?

MVH Niclas

Av skorpion

Tack!

Om jag har en rad som denna och vill klämma in en variabel i mitten, hur gör jag då?

write(newsockfd,"I got your message",18);

Först tänkte jag typ:

write(newsockfd,printf("Hello %s. Give me your password >>",to),34);

Eller måste man sätta ihop text och variabler till en ny variabel innan man kan använda den i write()?

/Niclas

Av skorpion

c/c++ - Får inte if-sats att stämma fast texten på 2 variabler är (till synes) lika

Hej

Jag har lite kod (se längre ner) som sätter 2 olika variabler som jag sedan vill jämföra med varandra för att se om dem är lika.
För att kolla vad variablerna håller så tog jag och printade ut dem till konsollen:

to: niclas, strlen(to):6 uvalue: niclas, strlen(uvalue):6

Dem verkar till synes vara lika
Så varför blir inte denna sann:

if(to==u_value) printf("to=cvalue");

Definition av variablerna är dessa (se komplett kod längre ner):

char *to = (char*) malloc(6); strncpy(to,buffer+5,strlen(buffer)-6); to[strlen(to)-1]='\0';

char *u_value = NULL; P_value = atoi(argv[++i]);

Hela koden:

#include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <errno.h> #include <string.h> #include <TelldusCore/telldus-core.h> void error(char *msg) { perror(msg); exit(1); } int main(int argc, char *argv[]) { int sockfd, newsockfd, portno, clilen; char buffer[256]; struct sockaddr_in serv_addr, cli_addr; int n; //Checking for correct executing parameters int P_value = 6435; char *u_value = NULL; char *p_value = NULL; int i; for (i = 1; i < argc; i++) { if (argv[i][0] == '-') { switch (argv[i][1]) { case 'P': P_value = atoi(argv[++i]); break; case 'u': u_value = argv[++i]; break; case 'p': p_value = argv[++i]; break; } } } if (P_value < 2 || u_value == NULL || p_value == NULL) error("ERROR: To few arguments supplied, look at --help"); printf("-P = %d\n", P_value); printf("-u = %s\n", u_value); printf("-p = %s\n", p_value); sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd < 0) error("ERROR opening socket"); bzero((char *) &serv_addr, sizeof(serv_addr)); //portno = atoi(argv[1]); portno = P_value; serv_addr.sin_family = AF_INET; serv_addr.sin_addr.s_addr = INADDR_ANY; serv_addr.sin_port = htons(portno); if (bind(sockfd, (struct sockaddr *) &serv_addr,sizeof(serv_addr)) < 0) error("ERROR on binding"); listen(sockfd,5); clilen = sizeof(cli_addr); while (1){ newsockfd = accept(sockfd, (struct sockaddr *) &cli_addr, &clilen); if (newsockfd < 0) error("ERROR on accept"); int pid; pid=fork(); if (pid < 0) error("ERROR on fork"); if (pid == 0){ close(sockfd); bzero(buffer,256); n = write(newsockfd,"This is version 0.1 of the API >>",33); if (n < 0) error("ERROR writing to socket"); n = read(newsockfd,buffer,255); if (n < 0) error("ERROR reading from socket"); //Check if message contains "user" and if submitted user is a valid user char *to = (char*) malloc(6); strncpy(to,buffer+5,strlen(buffer)-6); to[strlen(to)-1]='\0'; int tol=strlen(to); printf("to: %s, strlen(to):%i\n\r",to,tol); int ul=strlen(u_value); printf("uvalue: %s, strlen(uvalue):%i\n\r",u_value,ul); if(to==u_value) printf("to=cvalue"); if(strstr(buffer, "user")){ printf("user finnes. User är: %s och är korrekt\n\r",to); //n = write(newsockfd,printf("Hello %s. Give me your password >>",to),18); //if (n < 0) error("ERROR writing to socket"); } else{ printf("-u:%s, to:%s, buffer:%s",u_value,to,buffer); n = write(newsockfd,"I got your message",18); if (n < 0) error("ERROR writing to socket"); } printf("Here is the message: %s\n",buffer); n = write(newsockfd,"I got your message",18); if (n < 0) error("ERROR writing to socket"); return 0; exit(0); } else{ close(newsockfd); } } }

Vad är det jag inte ser?

Kan tillägga att jag är en gnutta amatör på c/c++ så koden kan nog verka rörig :/

/niclas

Av skorpion

Det ska vara möjligt om du använder ob_flush. Sök på det på google så får du nog ett par resultat

Av skorpion

Just det, jag glömde nämna att jag kör OS X, men wireshark fanns till OS X så ska testa det nu

Av skorpion

Ta reda på hur ett program kommunicerar med en server?

Hej
Jag har ett program som vanligtvis kommunicerar med en router via internet, men jag vill nu ta reda på hur den kommunicerar så att jag kan anpassa ett kod på min server som passar programmet.

Från programmet så kan jag ställa in host, user och pass.
Om jag pekar host mot min webserver så syns inget i loggarna, så programmet kommunicerar inte över port 80.

Så hur går jag vidare för att se hur programmet kommunicerar?

/niclas

Av skorpion
Skrivet av Mikael_Berglund:

Hur ska denna se ut? (x^2/pi)/(pi-z^2) ?

Så som jag förstår så ska den tolkas som: (X^2/PI/PI)-(Z^2)
Man räknar väl "roten ur" och "upphöjt i" först och sedan multiplikation och division, och därefter addition och subtraktion?
Alltså (((X^2) / PI) / P I) - (Z^2)

Är det nå mer oklarheter så fråga gärna!

Tack för att du gett dig på min formel

Av skorpion

Hej
Jag har en formel som jag behöver hjälp med att räkna om lite.
Formeln används för att räkna ut något som vi kallar "kontaktstripp" mellan 2 gummidukar i offsettryckning.
Formeln var uppbyggd så att man skulle mata in 2 värden och sedan kolla i en tabell vart värdet övernsstämmer med ett 3:e värde för att få ut slutvärdet.

Vi har:
Cylinderomkrets: 800mm kallat X
MY (papperstjocklek): 120 kallat Y
Kontaktstripp (mm): 15 kallat Z (detta känner jag vanligtvis inte till)
T= intryckning (detta vill jag ska vara runt 0.3)
Formeln för att räkna ut intryckning utifrån X Y och Z är:
T=X/2/PI - SQRT(0,25*(X^2/PI/PI-Z^2)) + (Y/1000)/2
Räknar jag ut formeln med dem värden jag har så får jag:
T=800/2/PI - SQRT(0,25*(800^2/PI/PI-15^2)) + (120/1000)/2
T=127,323954 - SQRT(16 155,1394) + 0.06
T=127,323954 - 127,102869 + 0.06
T=0.281085

Det jag vill göra om är att bryta ut Z. För det är den siffran jag inte vet i förhand, alla andra vet jag värden på.
Om jag ska bryta ut det så måste man väl tänka som en gungbräda, att det ska väga jämnt. Eftersom Z är inne i hela SQRT så måste jag lägga in det på båda sidorna. Typ:

T=X/2/PI - SQRT(0,25*(X^2/PI/PI-Z^2)) + (Y/1000)/2
SQRT(0,25*(X^2/PI/PI-Z^2)) + T = X/2/PI - SQRT(0,25*(X^2/PI/PI-Z^2)) + (Y/1000)/2 + SQRT(0,25*(X^2/PI/PI-Z^2))

Eller är det helt galet? Jag är ingen hejjare på matte

Hjälp!

Av skorpion

Hej
Hur går det med projektet Delight?
Jag skulle vilja göra precis detta till ett projekt där jag ska styra min kamera i sidled på en bana/räls.
Jag vill kunna styra en motor via en USB>RS232 (comport) adapter.
Så det jag söker är en stegmotor som ansluts till ett drivkort som får signaler från comporten.
Jag ser att följande sida har lite olika byggsatser, men jag kan inte utläsa något om hur man skulle kunna styra en via en dator.
Electrokit Byggsatser Motorstyrning

Någon som kan vara en hjälpande hand och peka mig i rätt riktning

MVH Niclas

Av skorpion

Ett alternativ är att testa PhoneGap
Jag kan inte programmera Obj-C, men html, css och javascript kan jag.
I princip verkar phonegap vara en app som du kompilerar MED en katalog som heter WWW, däri lägger du en webbsida som sedan är själva appen som sedan visas i din iPhone.
Det är inte så svårt som det verkar.

Niclas