Re: OT: bra exempel på serieportskod i C

2015-07-29 tråd jan
Tack för hjälpen!

Speciellt Karl. Jag ska titta i din kod senare.

Problemet är löst.
Jag letade fram ett gammalt projekt, klippte och klistrade lite och
fick till en minimal programsnutt. Fungerade direkt.

Jag tror jag initierade porten fel i min misslyckade ansträngning. Nu
ska jag bara jämföra och se vad jag gjorde fel.

Stort tack igen.
/Janne


--
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150729132157.2e21bb17@igor



Re: OT: bra exempel på serieportskod i C

2015-07-29 tråd karl
Janne:
> On Wed, 29 Jul 2015 07:55:33 +
> Michael Kjörling  wrote:
> > On 29 Jul 2015 06:22 +0200, from j...@lillahusetiskogen.se:
> > > Det enda jag vill göra är lite "trivial" skicka och ta emot
> > > textsträngar via serieporten.
...
> > Om du bara vill skicka och ta emot data (inte behöver ha kontroll över
> > enstaka pins på porten, t.ex.) så räcker det väl fint att öppna
> > lämplig /dev/ttyS* med fopen() och sen hantera den som vilken filström

Fungerar det även om CRTSCTS är satt (jag har inte provat så jag vet inte) ?

Exempel på hur man öppnar en serieport finns i tty_openraw() i:

 http://turkos.aspodata.se/git/c/libaspoutil/tty_util.c

exempel på användning:

 http://turkos.aspodata.se/git/openhw/bungard/

> Jag missade att berätta att jag vill kunna vifta på RTS också.

För att läsa av kontrollinjerna, se statserials källkod eller 
exempelvis:

#include 
#define LOG_IFERRNO(a,b) if (a)
int home(void) {
  int ix;
  unsigned value;

  LOG_IFERRNO( (ix = ioctl(fd, TIOCMGET, &value)) == -1, LOG_ERR) return -1;

  if (value & TIOCM_RNG) return 1; // RI  pin 9 / 22 (9pin/25pin d-sub)
  if (value & TIOCM_CAR) return 1; // DCD pin 1 /  8
  return 0;
}

Det borde vara något liknande för att sätta utsignaler.
Titta på tty_ioctl(4) under "Modem control".

Hälsningar,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sverige
0173 140 57



-- 
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150729102809.6a4b98039...@turkos.aspodata.se



Re: OT: bra exempel på serieportskod i C

2015-07-29 tråd jan
On Wed, 29 Jul 2015 07:55:33 +
Michael Kjörling  wrote:

> On 29 Jul 2015 06:22 +0200, from j...@lillahusetiskogen.se:
> > Det enda jag vill göra är lite "trivial" skicka och ta emot
> > textsträngar via serieporten. Det är det som gör det så
> > frustrerande, att det egentligen är så simpelt men ändå inte
> > lyckas. Och att det gick så bra för ett decennium sedan.
> 
> Om du bara vill skicka och ta emot data (inte behöver ha kontroll över
> enstaka pins på porten, t.ex.) så räcker det väl fint att öppna
> lämplig /dev/ttyS* med fopen() och sen hantera den som vilken filström
> som helst? fprintf(), fputs(), fgets(), fscanf(), fread(), fwrite(),
> fsync(fileno(...)), ..., och så fclose() på slutet. Då får du dessutom
> som bonus att du kan använda t.ex. Unix sockets istället utan
> ändringar i koden om du skulle vilja.
> 

Jag missade att berätta att jag vill kunna vifta på RTS också.

/Janne


--
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150729113530.5e71bcc5@igor



Re: OT: bra exempel på serieportskod i C

2015-07-29 tråd Michael Kjörling
On 29 Jul 2015 06:22 +0200, from j...@lillahusetiskogen.se:
> Det enda jag vill göra är lite "trivial" skicka och ta emot
> textsträngar via serieporten. Det är det som gör det så frustrerande,
> att det egentligen är så simpelt men ändå inte lyckas. Och att det gick
> så bra för ett decennium sedan.

Om du bara vill skicka och ta emot data (inte behöver ha kontroll över
enstaka pins på porten, t.ex.) så räcker det väl fint att öppna
lämplig /dev/ttyS* med fopen() och sen hantera den som vilken filström
som helst? fprintf(), fputs(), fgets(), fscanf(), fread(), fwrite(),
fsync(fileno(...)), ..., och så fclose() på slutet. Då får du dessutom
som bonus att du kan använda t.ex. Unix sockets istället utan
ändringar i koden om du skulle vilja.

-- 
Michael Kjörling • https://michael.kjorling.se • mich...@kjorling.se
OpenPGP B501AC6429EF4514 https://michael.kjorling.se/public-keys/pgp
 “People who think they know everything really annoy
 those of us who know we don’t.” (Bjarne Stroustrup)


-- 
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150729075533.gb1...@yeono.kjorling.se



Re: OT: bra exempel på serieportskod i C

2015-07-28 tråd jan
On Wed, 29 Jul 2015 01:57:12 +0200 (CEST)
k...@aspodata.se wrote:

> Janne:
> > För ~10år sedan skrev jag serieportskod för Linux och lyckades rätt
> > bra (tyckte jag) även om det inte var trivialt.
> > 
> > Idag försöker jag mig på samma sak och misslyckas kapitalt. Jag
> > undrar om någon har någon pekare till några bra exempel på
> > serieportskod. Jag har sökt på nätet men får inte till det.
> > Frustrerande!
> 
> Jag har lite serieportskod utspridd i http://turkos.aspodata.se/git/c/
> vad är det du vill göra ?
> 
> Hälsningar,
> /Karl Hammar
> 
> ---
> Aspö Data
> Lilla Aspö 148
> S-742 94 Östhammar
> Sverige
> 0173 140 57
> 
> 
> 

Tack Karl!

Jag ska ta en liten titt på det.

Det enda jag vill göra är lite "trivial" skicka och ta emot
textsträngar via serieporten. Det är det som gör det så frustrerande,
att det egentligen är så simpelt men ändå inte lyckas. Och att det gick
så bra för ett decennium sedan.

Jag snokade runt lite och kan konstatera att vi har snarlika intressen,
ARM, JTAG etc.

mvh
/Janne


--
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150729062221.0983447c@igor



Re: OT: bra exempel på serieportskod i C

2015-07-28 tråd karl
Janne:
> För ~10år sedan skrev jag serieportskod för Linux och lyckades rätt bra
> (tyckte jag) även om det inte var trivialt.
> 
> Idag försöker jag mig på samma sak och misslyckas kapitalt. Jag undrar
> om någon har någon pekare till några bra exempel på serieportskod. Jag
> har sökt på nätet men får inte till det. Frustrerande!

Jag har lite serieportskod utspridd i http://turkos.aspodata.se/git/c/
vad är det du vill göra ?

Hälsningar,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sverige
0173 140 57



-- 
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150728235712.a38fa8039...@turkos.aspodata.se



OT: bra exempel på serieportskod i C

2015-07-28 tråd jan
Hej!

För ~10år sedan skrev jag serieportskod för Linux och lyckades rätt bra
(tyckte jag) även om det inte var trivialt.

Idag försöker jag mig på samma sak och misslyckas kapitalt. Jag undrar
om någon har någon pekare till några bra exempel på serieportskod. Jag
har sökt på nätet men får inte till det. Frustrerande!

/Janne


--
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150728151002.7ed45727@igor