Since the current fb display format of vela qemu is rgb565, it is necessary to convert the frame obtained by v4l2 to rgb565
Signed-off-by: yangsen5 <yangsen5@xiaomi.com>
Usage:
device /dev/audio/compress0p
play /data/test.sbc
This function requires the platform to support compress decoding and playback
Signed-off-by: shipei <shipei@xiaomi.com>
rb_main.c:219:42: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
219 | snprintf(temp, PATH_MAX, "%s/%s", priv->foldname,
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
Get help to use ./sbrb.py -h
./sbrb.py -h
usage: sbrb.py [-h] [-k KBLOCKSIZE] [-t TTY] [-b BAUDRATE] [-r [RECVFROM ...]] [-s SENDTO] [--debug DEBUG] [filelist ...]
positional arguments:
filelist if filelist is valid, that is sb, else is rb
options:
-h, --help show this help message and exit
-k KBLOCKSIZE, --kblocksize KBLOCKSIZE
This opthin can set a customsize block size to transfer
-t TTY, --tty TTY Serial path
-b BAUDRATE, --baudrate BAUDRATE
-r [RECVFROM ...], --recvfrom [RECVFROM ...]
recvfile from board path like this: ./sbrb.py -r <file1 [file2 [file 3]...]> -t /dev/ttyUBS0
-s SENDTO, --sendto SENDTO
send file to board path like this: ./sbrb.py -s <path on board> -t /dev/ttyUBS0 <file1 [file2 [file3] ...]>
--debug DEBUG This opthin is save debug log on host
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
1.Timeout processing
2.clear error count when received successfully once
3.fix the bug of insufficient header memory application
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
The standard popen uses the pipeline internally, so the stream
returned by it can only support read-only or write-only.
Now this patch is expanded through sockpair, which can support both
read and write. Therefore, we can use the stream to read and write
access this task (posix_spawn start).
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
Compared to the previous version, the following factors have been taken into account in the new version of cachespeed:
1. the user needs to care about getting a piece of available memory (even if this piece of memory may memory stomp during use)
2. High repetition of test code, poor readability, and overall high test coupling
3. Not taking into account the alignment cache line situation
4. When comparing values between different test tools, there is a little error because of the different ways to get the values (different fine reading)
Therefore, in the new version according to the above problems have been improved:
1. Provide a "test_skeleton", which contains the overall testing process
2. The user only needs to execute, not to care about how to get the available memory address, and the memory allocated by the program also ensures the memory security and data accuracy
3. The system to obtain the data required for the test reduces the difficulty of use and the possibility of inaccurate results due to data errors.
4. Provide two kinds of precision data results, which can be configured through Kconfig
5. Optimize the output log, now more intuitive and concise, to help the subsequent data organization and observation
6. New test items for aligned/unaligned cache line
7. Better readability and extensibility, making it easier to add/remove test items
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
Partially implement the gdb rsp protocol,
you can debug the nuttx kernel through the serial port or the network
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
CC: pthread/pthread_mutexinconsistent.c libuv/src/unix/getaddrinfo.c:103:9: warning: implicit declaration of function ‘getaddrinfo’; did you mean ‘uv_getaddrinfo’? [-Wimplicit-function-declaration]
103 | err = getaddrinfo(req->hostname, req->service, req->hints, &req->addrinfo);
| ^~~~~~~~~~~
| uv_getaddrinfo
libuv/src/unix/getaddrinfo.c: In function ‘uv_freeaddrinfo’:
libuv/src/unix/getaddrinfo.c:222:5: warning: implicit declaration of function ‘freeaddrinfo’; did you mean ‘uv_freeaddrinfo’? [-Wimplicit-function-declaration]
222 | freeaddrinfo(ai);
| ^~~~~~~~~~~~
| uv_freeaddrinfo
CC: misc/lib_crc16ccitt.c libuv/src/unix/getnameinfo.c: In function ‘uv__getnameinfo_work’:
libuv/src/unix/getnameinfo.c:45:9: warning: implicit declaration of function ‘getnameinfo’; did you mean ‘uv_getnameinfo’? [-Wimplicit-function-declaration]
45 | err = getnameinfo((struct sockaddr*) &req->storage,
| ^~~~~~~~~~~
| uv_getnameinfo
Signed-off-by: fangxinyong <fangxinyong@xiaomi.com>
In this change, we have added a malloc from the heap to get the address when the user does not pass an address.
We took into account that the user would be testing the memory after the device was started, but this required them to focus on how to get a piece of address available. To improve the experience of tool users, we can simply ask them to get a size for testing purposes, while also keeping the ability to test for a given address
This change is mainly in the 'parse_commandline' function, so there are a few changes in the way it is used, see usage for details.
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
Add missing FAR and CODE to pointers
Remove FAR for non-pointer variables
Remove extra spaces and align the parameters
Add do {} while(0) wrapper in macro
Use nitems to calculate number of elements in arrays
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
Test on sim/nsh (CONFIG_SYSTEM_CUTERM_DISABLE_ERROR_PRINT=y):
text data bss dec hex filename
397049 26704 4128 427881 68769 nuttx /* before */
396481 26704 4128 427313 68531 nuttx /* after */
-568
Signed-off-by: chao an <anchao@xiaomi.com>
CONFIG_FILE_STREAMS now defaults to 'n' when DEFAULT_SMALL is enabled. This
is a good change, but this source file fails to compile when file streams
are disabled.
Fix this by using dprintf.
Let remote machine handle special character except Ctrl-C, make cu's behavior more close to linux/bsd system.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
Previously, if the read bytes were less than the requested, the
file was closed immediately. This behavior, however, does not
consider the fact that the read operation may be blocking when
no bytes are available at the moment. That is true for a named pipe
(FIFO), for instance. Thus, reading it again lets to the underlying
file system the decision of 1) blocking until bytes become
available or 2) return 0 immediately (the case for actual files) or
3) read available bytes.
If the code only change c_oflag, c_iflag and c_lflag, not c_cflag in termios.
Follow up the change from kernel: https://github.com/apache/nuttx/pull/8843
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Fix https://github.com/apache/nuttx/issues/8731, don't rely on the vt100 to report
the cursor position.
This avoid the implicit input (response of get cursor command) during the user inputs.
Notice: This assume that the nsh prompt is always shown at line start.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
Since termcurse will control whole echo and vt100 command itself.
This fix the dupped character in VI's command mode and some display issue in editor mode, like:
```
~
~
~
~
:qq!!
```
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
Let's echo character by serial driver,
this will imporve the experience of telnetd,
which will display input command and newline twice.
And also enhance the compatiblity with some third party
linux readline based application (like WAMR repl).
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
Replace all fwrite/fread/fgets/... to write/read/...
Before:
```
text data bss dec hex filename
109827 601 6608 117036 1c92c nuttx/nuttx
```
After:
```
text data bss dec hex filename
108053 601 6608 115262 1c23e nuttx/nuttx
```
After with CONFIG_FILE_STREAM disabled:
```
text data bss dec hex filename
105667 601 6608 112876 1b8ec nuttx/nuttx
```
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
| In file included from libuv/src/uv-common.h:42,
| from libuv/src/uv-common.c:23:
| libuv/src/uv-common.c: In function 'uv_walk':
| libuv/src/queue.h:68:19: warning: storing the address of local variable 'queue' in '((void * (**)[2])MEM[(void *[2] * *)loop_13(D) + 8B])[1]' [-Wdangling-pointer=]
| 68 | QUEUE_PREV(q) = (n); \
| | ^
| libuv/src/queue.h:78:7: note: in expansion of macro 'QUEUE_SPLIT'
| 78 | QUEUE_SPLIT(h, q, n); \
| | ^~~~~~~~~~~
Signed-off-by: chao an <anchao@xiaomi.com>
The old flagging was insufficient, only '\r' was accepted as a line terminator
if CONFIG_EOL_IS_EITHER_CRLF was set.
I noticed this regression after:
https://github.com/apache/nuttx/pull/8454