Hi, Thanks for your answer,
Well, it's just 16 octets or less .... most of the time it works, but somehow the driver decide to interrupt the transfer ...... yes it's a single call to write .... Do you know if there is a configuration to solve this bug ? I'm also wondering if it's because my linux ( 3.8 ) is not a real time kernel .... maybe i should apply the kernel PREEMPT_RT ? I'm really lost .... Micka, On Sat, Jan 4, 2014 at 9:10 AM, Dave Hylands <[email protected]> wrote: > Hi, > > > On Fri, Jan 3, 2014 at 4:08 PM, Micka <[email protected]> wrote: > > > > Ok, > > > > Well, the baudrate is at 38400, the distribution is the Ubuntu from > Robert C Nelson ( 3.8.13 bone 30 ), the driver is the omap . I've modified > a little bit the driver to add RS485 support ( see the patch attached ) , > the only major modification that I've done is to add : > > > > + wait_for_xmitr(up); > > + if (up->rs485.flags & SER_RS485_ENABLED) { > > + if(up->rs485.delay_rts_after_send>0){ > > + udelay(up->rs485.delay_rts_after_send); > > + } > > + /* Disable RS485 TX EN */ > > + val = (up->rs485.flags & SER_RS485_RTS_AFTER_SEND) ? 1 : > 0; > > + gpio_set_value(up->rs485.gpio_pin, val); > > + } > > > > > > in the function serial_omap_stop_tx . > > > > > > It works most of the time, but for an unknown reason there is this weird > behavior ..... > > > > > > Any tips ? lead to follow ? > > How much data are you writing? > > Are you doing it with a single call to write? > > If you're doing multipe calls to write then its quite possible that a > context switch is allowing another task to run and delaying your second > write. > > -- > Dave Hylands > Shuswap, BC, Canada > http://www.davehylands.com > > -- > For more options, visit http://beagleboard.org/discuss > --- > You received this message because you are subscribed to the Google Groups > "BeagleBoard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
