All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dehann Fourie <dehann.fourie@domain.hid>
To: xenomai@xenomai.org
Subject: [Xenomai-help] RT Serial, rt_dev_read blocking problem
Date: Fri, 17 Apr 2009 16:49:13 +0200	[thread overview]
Message-ID: <2b490f270904170749m3ec39cc8vddab1b5aa50f4b4c@domain.hid> (raw)

[-- Attachment #1: Type: text/plain, Size: 1534 bytes --]

Hi,

I am having trouble with reading data from the serial port. I initially
followed the RT Serial example from captain. I changed the read task to a
periodic 20ms task, from which I read from the serial port (rtser0). This is
all that the rt_task is doing. The serial port config is:

static const struct rtser_config
<http://www.xenomai.org/documentation/trunk/html/api/structrtser__config.html>
read_config = {
        .config_mask       = 0xFFFF,
        .baud_rate         = 57600,
        .parity            = RTSER_NO_PARITY,
        .data_bits         = RTSER_8_BITS,
        .stop_bits         = RTSER_1_STOPB,
        .handshake         = RTSER_NO_HAND,
        .fifo_depth        = RTSER_DEF_FIFO_DEPTH,
        .rx_timeout        = RTSER_DEF_TIMEOUT,
        .tx_timeout        = RTSER_DEF_TIMEOUT,
        .event_timeout     = RTSER_DEF_TIMEOUT,
        .timestamp_history = RTSER_RX_TIMESTAMP_HISTORY,
        .event_mask        = RTSER_EVENT_RXPEND,
};

I am reading data into a buffer, char buf[300]. I am able to read data but
the task is repeating at a rate of about 50ms. Execution also only returns
from the rt_dev_read() call when 300 chars have been read, but the external
hardware is only sending a couple of chars (+-35) at a rate of 171Hz. Is the
rt task maybe blocking? How can I get it to only read the available chars in
the serial buffer and then return to my program?

I am on a Geode 500MHz single board computer with kernel 2.6.23 and xeno
2.4.3.

Thanks in advance.

Kind regards,

-- 
Dehann Fourie

[-- Attachment #2: Type: text/html, Size: 1918 bytes --]

             reply	other threads:[~2009-04-17 14:49 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-17 14:49 Dehann Fourie [this message]
2009-04-17 15:09 ` [Xenomai-help] RT Serial, rt_dev_read blocking problem Gilles Chanteperdrix
2009-04-19  8:51   ` Dehann Fourie
2009-04-19  9:16     ` Gilles Chanteperdrix
2009-04-23  7:02       ` Dehann Fourie
2009-04-23  9:15         ` Gilles Chanteperdrix

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=2b490f270904170749m3ec39cc8vddab1b5aa50f4b4c@domain.hid \
    --to=dehann.fourie@domain.hid \
    --cc=xenomai@xenomai.org \
    /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.