According to https://pubs.opengroup.org/onlinepubs/9699919799/functions/open.html
"
When opening a FIFO with O_RDONLY or O_WRONLY set:
* If O_NONBLOCK is set, an open() for reading-only shall return
without delay. An open() for writing-only shall return an error
if no process currently has the file open for reading.
* If O_NONBLOCK is clear, an open() for reading-only shall block
the calling thread until a thread opens the file for writing.
An open() for writing-only shall block the calling thread until
a thread opens the file for reading.
"
This commit has an equivalent on nuttx-apps: EXAMPLES_PIPE app
was updated to be able to check pipes and named pipes behavior.
Implement local mode control (ECHO only) for telnet, this allow application to disable ECHO of telnet, it's useful to input password during shell login and other case.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
If TELNET_CHARACTER_MODE is set, the ECHO must be handled by the telnet server.
So this option is useless. We need a new approach to control the ECHO behavior.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
It's better to raise error before client sends its (NIOVEC+1)th buffer
(and release buffers held by server), otherwise the client may stuck at
getting (NIOVEC+1)th tx buffer if NIOVEC is equal to rpmsg buffer num.
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
Found a problem:
When sendto handler gets an error, it will release all its rx buffer,
then iov_base becomes NULL. But it cannot let client stop its request,
then the next data from client cannot be handled by usrsock server
correctly.
It's better to note down the remaining bytes, then we can stop at
correct time.
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
Summary:
- Support arm64 pmu api, Currently only the cycle counter function is supported.
- Using ARM64 PMU hardware capability to implement perf interface, modify all
perf interface related code.
- Support for pmu init under smp.
Signed-off-by: wangming9 <wangming9@xiaomi.com>
After enabling this option, you can automatically trace the function instrumentation without adding tracepoint manually.
This is similar to the Function Trace effect of the linux kernel
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
Using the interrupt pipe is recommended in the Get_Report
request section of the HID standard. This option has been
added to support some keyboards that refuse to return valid
keys when polled using the Get_Report request. Support for
the Caps Lock key, including LED, has also been added.
Support mirror display by X/Y axis, it's useful for
single portrait/landscape but need to mirror specific direction.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
Choose a divider value that matches the description provided within
the same header file.
Include stddef.h to fix compiler errors because NULL is not defined.
Make logs print protocol, vid and pid consistently, (decimal hex hex).
note/note_driver.c:154:7: warning: unsigned conversion from ‘int’ to ‘unsigned char’ changes value from ‘65535’ to ‘255’ [-Woverflow]
154 | , CONFIG_SCHED_INSTRUMENTATION_CPUSET
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
Align the pty behavior to linux/bsd,
Also fix the ECHO issue with microadb after https://github.com/apache/nuttx/pull/8691.
adb shell will echo normally with this patch.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
CONFIG_SERIAL_TERMIOS only decide whether to support c_cflag field since
many terminal application need the first three fields to work correctly.
For more information please reference:
https://www.mail-archive.com/dev@nuttx.apache.org/msg09321.html
before this change(olimexino-stm32:tiny):
text data bss dec hex filename
34884 328 1768 36980 9074 nuttx
after this change:
text data bss dec hex filename
35052 340 1768 37160 9128 nuttx
delta
text data bss dec hex filename
168 12 0 180 b4 nuttx
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
MMC_CMD1 command is used to check whether card is MMC type (checked if
CONFIG_MMCSD_MMCSUPPORT is enabled). This commit inserts nxsig_usleep
wait if this check fails. This is to ensure the communication recovers
from invalid response as this may take some time on some platforms (
samv7 for example). Following command for SDHC check may fail if sleep
is not used.
Signed-off-by: Michal Lenc <michallenc@seznam.cz>
There is a rookie mistake introduced by https://github.com/apache/nuttx/pull/8691,
ECHO flag is a part of Local Mode (c_lflags) instead of c_iflags.
nuttx-apps should do the same change in nsh_login and termcurse_vt100.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
PWM drivers usually supports dead time generators that automatically
insert output activation delay for complementary PWM outputs. This
is usefull for some control purposes as control of H bridge for example.
This commit adds an application to driver interface that can be used
to set up those delays (if supported by the selected architecture)
directly from the application. The set up remains the same as for duty
cycle value.
The whole addition is by default disabled. It can be enabled by config
option PWM_DEADTIME.
Signed-off-by: Michal Lenc <michallenc@seznam.cz>
Echoing console's input is now performed by the serial driver
(https://github.com/apache/nuttx/pull/8691). In order to keep old
behavior of CR being echoed by the device, it's needed to detected
whenever NL is being echoed and send CR before sending it.
NuttX only treat \n as new line after https://github.com/apache/nuttx/pull/8628,
so need this conversion to interact with terminal emulator.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
since both aren't suitable after:
commit 98ab55ef68
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Date: Fri Dec 30 12:02:47 2022 +0800
drivers/note: Replace the scritical section with spin_xxx_wo_note
to avoid to generate the unexpected schedule information
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
since after the below commit, noteram driver can work even when
the instrumentation of csection, spinlock and smp is enabled
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
since the chip/board vendor could disable dirvers/note and
provide the implementation of sched_note_xxx by self
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Generic drivers shoud not use architecture related config options like
CONFIG_SAMV7_PWM. This commit adds PWM pin overwrite under generic
configuration option CONFIG_PWM_OVERWRITE.
Now the overwrite can be used on other architectures as well or can be
completely disabled for SAMv7.
Signed-off-by: Michal Lenc <michallenc@seznam.cz>