From: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be>
To: Mark Santacesaria <mark@keeptruckin.com>
Cc: linux-can@vger.kernel.org
Subject: Re: j1939: recv >8 bytes
Date: Mon, 28 Sep 2015 10:58:05 +0200 [thread overview]
Message-ID: <20150928085805.GA16669@airbook> (raw)
In-Reply-To: <CAKoHjFxUqnPb+QEnTUjEinQHWjhiO-2kwapyjza1iFvGGg2C6g@mail.gmail.com>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=utf-8, Size: 3079 bytes --]
Hi Mark,
see my comments below,
--- Original message ---
> Date: Sun, 27 Sep 2015 22:24:33 -0400
> From: Mark Santacesaria <mark@keeptruckin.com>
> To: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be>
> Subject: Re: j1939: recv >8 bytes
>
> hey Kurt.... thanks again for the help.... i was hoping to ask you
> something else.... the three main things that i want to do are:
> - request and receive an address claim
You may take a look at jacd, in my can-utils j1939 branch.
> - request and receive a VIN
> - listen to the traffic to monitor a handful of messages
> i was planning on setting up a state machine that handles sending the
> messages and a receive section that takes in all of the messages and
> processes them..... i think this should work fine except as you
> mentioned in your reply the number of bytes received is specified so
> can i set up to listen to single packet and multi-packet messages at
> the same time? Â i may not know the order that things are going to be
> received....
The #bytes you give to the recv() call is the size of the buffer.
The #received bytes is the return value (if successfull).
So, a single
ret = recv(sock, buf, sizeof(buf), 0);
may receive single packet & multi-packet. My goal was to make this
transparent indeed. Just make sure the buffer 'buf' is big enough
to receive the largest packet that you expect.
'ret' may be 8, <8, or >8, or in case of failure, <0.
Kind regards,
Kurt
> thanks!!! I appreciate the help a bunch...
>
> On Fri, Sep 25, 2015 at 4:28 AM, Kurt Van Dijck
> <[1]dev.kurt@vandijck-laurijssen.be> wrote:
>
> Hi Mark,
> I added linux-can mailing list in CC, and altered the subject.
> See my answer to your question below.
> --- Original message ---
> > Date: Thu, 24 Sep 2015 11:21:48 -0400
> > From: Mark Santacesaria <[2]mark@keeptruckin.com>
> > To: [3]kurt.van.dijck@eia.be
> > Subject: j1939 linux kernel...
> >
> >Â Â hey kurt.... thanks for the effort that you put in to the
> j1939
> >Â Â code.... i was trying to receive a VIN request which is a
> multi-packet
> >Â Â message, and while i found examples of sending more that 8
> bytes but i
> >Â Â am not sure how to receive.....
> A "multi-packet message" is treated as a single j1939 packet.
> You receive it like any other j1939 packet:
> Â Â Â Â uint8_t buf[1024];
> Â Â Â Â int ret;
> Â Â Â Â ret = recv(sock, buf, sizeof(buf), 0);
> will receive up to 1024 bytes from the next j1939 packet.
> You may use any buffer size you like here.
> see also
> Â Â Â Â man recv
> Kind regards,
> Kurt
>
> --
> Mark Santacesaria
> Design Engineer
> Keep Truckin
> 716-208-9681
> KeepTruckin logo
>
> References
>
> 1. mailto:dev.kurt@vandijck-laurijssen.be
> 2. mailto:mark@keeptruckin.com
> 3. mailto:kurt.van.dijck@eia.be
prev parent reply other threads:[~2015-09-28 8:58 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAKoHjFzLoME76fmon+O7oS5_pKQk2j7QujnMsOfL7aLrr8xDWg@mail.gmail.com>
2015-09-25 8:28 ` j1939: recv >8 bytes Kurt Van Dijck
[not found] ` <CAKoHjFxUqnPb+QEnTUjEinQHWjhiO-2kwapyjza1iFvGGg2C6g@mail.gmail.com>
2015-09-28 8:58 ` Kurt Van Dijck [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150928085805.GA16669@airbook \
--to=dev.kurt@vandijck-laurijssen.be \
--cc=linux-can@vger.kernel.org \
--cc=mark@keeptruckin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.