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-29 tråd jan
On Wed, 29 Jul 2015 07:55:33 +
Michael Kjörling mich...@kjorling.se 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 karl
Janne:
 On Wed, 29 Jul 2015 07:55:33 +
 Michael Kjörling mich...@kjorling.se 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 sys/ioctl.h
#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-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



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