How can I find the internal write buffer limits for ttyHS0 / ttyHSL1?


#1

Hi,
I use a Mangoh Green with WP8548 and Legato 16.10.3.
My testapplication can write and read from ttyHS0 and ttyHSL1, using fdMonitor variables.

I use the function-calls below:

  • int fdSerialPort2 = le_tty_open("/dev/ttyHSL1", 0_RDWR | 0_NOCTTY | 0_NDELAY)
  • le_tty_SetBaudRate(fdSerialPort2, LE_TTY_SPEED_9600)
  • le_tty_SetFraming(fdSerialPort2, ‘N’, 8, 1)
  • le_tty_SetFlowControl(fdSerialPort2, LE_TTY_FLOW_CONTROL_NONE)
  • le_tty_SetRaw(fdSerialPort2, 0, 0)

When I use the write() function to write a buffer of 5000 bytes to my serial ports,
it seems there is an upper limit of the internal write-buffer.
For ttyHSL1, the system can output 3840 of the 5000 bytes,
and for ttyHS0, the system can output 4095 of the 5000 bytes.

Which specification describes these upper limits, and where can this be changed ?


#2

Usualy you can declare or set the limits of the buffer by taking the total size which is needed to transfer and can send the data.
so that you can increase the buffer limit size and check the maximum size of data it can take.
i checked from my side too with which 4096 is maximum bytes it was taking.
However, there will be some uart will have an hardware buffer with which size is configured and we can transfer that amount of data which buffer can hold.