since romfs can return the soft link with the kernel change:
commit 67ef70d460db4695b950208d861ff47d4a40bdb3
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Date: Mon Jul 6 00:34:32 2020 +0800
vfs/dirread: Should return the same file type as lstat
by extend the possible value of d_type for the special file
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
should be CONFIG_EXAMPLES_PTYTEST_SERIALDEV, regression in commit:
commit 6ddbffd200
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Date: Sun Jan 3 23:50:50 2021 -0800
examples/pty_test: Remove O_NONBLOCK from open
to avoid the log storm:
ERROR Failed to read from serial: 11
ERROR Failed to read from serial: 11
ERROR Failed to read from serial: 11
ERROR Failed to read from serial: 11
ERROR Failed to read from serial: 11
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
to avoid the log storm:
ERROR Failed to read from serial: 11
ERROR Failed to read from serial: 11
ERROR Failed to read from serial: 11
ERROR Failed to read from serial: 11
ERROR Failed to read from serial: 11
...
Change-Id: I821743411c33b5412165f1e9020b6c9ce6c24660
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
The examples/webserver app can be built in two modes:
(1) in standalone mode, or
(2) as a NSH built-in app.
When run in standalone mode, the webserver program is responsible for
bringing up the network (including DHCP if configured). Also, the
webserver program must never exit, so if httpd fails (i.e., if
httpd_listen() returns), webserver_main() goes into an endless loop.
When run as a NSH built-in app, network bring-up is the responsibility
of other processes and the webserver program assumes the network is
already properly configured when it starts. Also, if httpd_listen()
returns, the webserver program should terminate.
Prior to this change, the webserver program would *not* terminate,
even when running as a NSH built-in app. For example:
nsh> webserver &
webserver [6:100]
nsh> Starting webserver
nsh> kill -9 6
nsh> webserver_main: Still running
nsh> webserver_main: Still running
nsh> webserver_main: Still running
nsh> webserver_main: Still running
The line "webserver_main: Still running" would be forever printed
every 3 seconds, however httpd_listen() is no longer running and the
webserver is not functional.
This change makes the webserver play nicely when running as a NSH
built-in app. With this change applied:
nsh> webserver &
webserver [6:100]
nsh> Starting webserver
nsh> kill -9 6
nsh> webserver_main: Exiting
apps/examples/webserver/webserver_main.c:
* main(): Infer from CONFIG_NSH_BUILTIN_APPS if this is a
standalone program or a NSH built-in app. (See [1], where
similar logic was added to decide whether to do network bring-up
or not.) If standalone, run forever as before. If built-in
app, exit when httpd terminates.
References:
[1] Commit 3a21b0b222
wget is missing from some system (like macOS and Windows native),
it's better to use curl to simplify build environment.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
- Fix bug for multiple PWM outputs (CONFIG_PWM_MULTICHAN). Wrong define
was in use and only the information about the first channel was shown.
- Fix formatting (a few line breaks and spaces missing).
Because the configured signo may have the default action(e.g. SIGPIPE),
and then will generate the bad side effect before the caller wakeup.
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
since isascii isn't a standard defined function and then
may not exist in all cctype header file(e.g. libc++):
cctype_main.cxx: In function 'int cctype_main(int, char**)':
cctype_main.cxx:64:45: error: 'isascii' is not a member of 'std'; did you mean 'isascii'?
64 | std::isspace(i), std::isascii(i), std::isprint(i), std::isgraph(i),
| ^~~~~~~
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I8c4fd5ccf120ae5a1566cd4d90695e47ffc30cad
2schar_main.c: In function 'parse_args':
i2schar_main.c:199:20: error: 'struct i2schar_state_s' has no member named 'rxcount'
199 | i2schar->rxcount = (uint32_t)value;
| ^~
i2schar_main.c:211:20: error: 'struct i2schar_state_s' has no member named 'txcount'
211 | i2schar->txcount = (uint32_t)value;
| ^~
i2schar_main.c: In function 'i2schar_main':
i2schar_main.c:276:16: error: 'struct i2schar_state_s' has no member named 'rxcount'
276 | g_i2schar.rxcount = CONFIG_EXAMPLES_I2SCHAR_RXBUFFERS;
| ^
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ie85a9bc46516f44e4a286da3d40f1b02a2bbfde0
Still has a few errors because of include/nuttx/wireless/nrf24l01.h.
examples/nrf24l01_term/nrf24l01_term.c:125:33: error: Mixed case identifier found
examples/nrf24l01_term/nrf24l01_term.c:129:15: error: Mixed case identifier found
This makes LVGL use malloc/free to handle its memory (instead of
their own memory handling) and supports a tick interface by which
LVGL can ask NuttX the elapsed time, instead of having to periodically
"tick" LVGL internal time in a thread.
since it is wrong to close the builtin stream and specially note
https://pubs.opengroup.org/onlinepubs/9699919799/functions/fclose.html:
Since after the call to fclose() any use of stream results in
undefined behavior, fclose() should not be used on stdin, stdout,
or stderr except immediately before process termination (see XBD
Process Termination), so as to avoid triggering undefined behavior
in other standard interfaces that rely on these streams. If there
are any atexit() handlers registered by the application, such a
call to fclose() should not occur until the last handler is
finishing. Once fclose() has been used to close stdin, stdout, or
stderr, there is no standard way to reopen any of these streams.
and it is also unnecessary because the stream always get flushed.
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit adds structures, modifies function prototypes, and renames data to support the future addition of IPv6 support. This commit does NOT add that IPv6, only the hooks for backward compatible future support.
This commit adds support to access an IPv4 Configuration file similar to the Linux dhpc.client ipfcg file. This version, tailored for deeply embedded systems supports several options to tailor the file and file access to different environments. It supports:
- Writable as well as read-only configuration files.
- ASCII human readable files as well as smaller binary files.
- It supports using character driver access to constrained media (such as EEPROM).
- Add examples/ipcfg to exercise IPv4 Configuration File support
The rest of errors are about cJSON identifiers:
wgetjson_main.c:181:2: error: Mixed case identifier found
wgetjson_main.c:183:9: error: Mixed case identifier found
wgetjson_main.c:186:37: error: Mixed case identifier found
wgetjson_main.c:190:12: error: Mixed case identifier found
wgetjson_main.c:191:6: error: Mixed case identifier found
wgetjson_main.c:203:39: error: Mixed case identifier found
wgetjson_main.c:256:36: error: Mixed case identifier found
wgetjson_main.c:283:2: error: Mixed case identifier found
wgetjson_main.c:286:9: error: Mixed case identifier found
wgetjson_main.c:289:37: error: Mixed case identifier found
wgetjson_main.c:295:6: error: Mixed case identifier found
fb_main.c: In function 'fb_main':
fb_main.c:473:15: warning: passing argument 1 of 'munmap' makes pointer from integer without a cast [-Wint-conversion]
473 | munmap(state.fd, state.fbmem);
| ~~~~~^~~
| |
| int
In file included from fb_main.c:43:
/home/archer/code/upload/incubator-nuttx/include/sys/mman.h:177:22: note: expected 'void *' but argument is of type 'int'
177 | int munmap(FAR void *start, size_t length);
| ~~~~~~^~~~~
fb_main.c:473:25: warning: passing argument 2 of 'munmap' makes integer from pointer without a cast [-Wint-conversion]
473 | munmap(state.fd, state.fbmem);
| ~~~~~^~~~~~
| |
| void *
In file included from fb_main.c:43:
/home/archer/code/upload/incubator-nuttx/include/sys/mman.h:177:36: note: expected 'size_t' {aka 'unsigned int'} but argument is of type 'void *'
177 | int munmap(FAR void *start, size_t length);
| ~~~~~~~^~~~~~
Signed-off-by: chao.an <anchao@xiaomi.com>
- Network initialization codes are not needed
with NSH_NETINIT config.
- Suppport commandline argument to set the URL to get.
- Change stack size to independent
since this config doesn't appear inside examples/helloxx/Kconfig anymore and
there is any c++ compiler can't construct the stack object as far as I know
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I0297d192df3beaa78ae7ee75f24ae51476bb30a9
since the test should work with either uClibc++ or libcxx
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ie6d7b1706314cbe82d4e89eb2d5c47ed36118ea4
since it is moved to the central place in nuttx side instead
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I544d6110f1ca6460f7c82f970870aa9b1e7ab3dd
The camera example will take the specified number of pictures (default 10)
then will exit
To enable the example add the following line in your defconfig
EXAMPLES_CAMERA
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
Adapt to the change in the main repo.
mallinfo is meant to be API compatible with Linux,
where it's provided by malloc.h.
(I think the API actually originated with System V. I don't
remember how it was there though. Anyway, I guess the
compatibility with Linux is more important than System V
these days.)
application just use BUTTONS ioctl and shouldn't take care the implementation detail
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ia4d615700de1ac17302ab9b6379340fb81e69d86
application just use USERLED ioctl and shouldn't take care the implementation detail
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I5b707d86db1bd96d85b6fed1d5a403584739f0d7
Update make dependency for elf/module/nxflat/posix_spawn/sotest/thttpd examples which make use of
mksymtab.sh. This could avoid them built twice in 'make depend' and 'make all' which would result
in file truncated build break. Now only build once by 'make all'.
Change-Id: I5d8f1ebbf73e3b12d7d2118f1f51b4233d0ed007
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
There were several places where default sector and buffer sizes of 2048 were changed to DEFAULT_TASK_STACKSIZE. This is not correct. This was noted by Xiao Xiang.
userfs_main.c:547:7: warning: variable 'ret' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if (*relpath == '\0')
^~~~~~~~~~~~~~~~
userfs_main.c:564:10: note: uninitialized use occurs here
return ret;
^~~
userfs_main.c:547:3: note: remove the 'if' if its condition is always false
if (*relpath == '\0')
^~~~~~~~~~~~~~~~~~~~~
userfs_main.c:543:10: note: initialize the variable 'ret' to silence this warning
int ret;
^
= 0
test_motor.c:1068:14: warning: explicitly assigning value of variable of type 'float' to itself [-Wself-assign]
expected_e = expected_e;
~~~~~~~~~~ ^ ~~~~~~~~~~
This is the companion to PR #766. It removes the CONFIG_CAN_PASS_STRUCT option as recommended by Issue #620
NuttX PR #766 depends on PR being in place but not vice versa. This PR should be merge-able without #766 and then PR #766 should also pass its checks.
Where:
* Under examples and testing
* And the default value is less than 2048
Using a bit more memory for examples and tests should not
be a critical problem.
This commit changes only ones with the default 2048 and
leaves the others.
E.g. this leaves SYSTEM_RAMTEST_STACKSIZE, whose default is 1024.
I guess those need to be inspected one-by-one.
For now, I left the following instances because it isn't
clear to me why they are using the different values.
Maybe they need one-by-one inspection.
examples/igmp/Makefile:STACKSIZE = 1024
examples/powerled/Makefile:STACKSIZE = 1024
examples/powermonitor/Makefile:STACKSIZE = 768
examples/relays/Makefile:STACKSIZE = 512
examples/smps/Makefile:STACKSIZE = 1024
graphics/screenshot/Makefile:STACKSIZE = 4096
system/flash_eraseall/Makefile:STACKSIZE = 1024
testing/cxxtest/Makefile:STACKSIZE = 4096
testing/smart_test/Makefile:STACKSIZE = 4096
It seems in the time window mksymtab.sh redirect to symtab.c, there is chance symtab.c
would also be built meantime. Then if built before symtab.c write done, link errors may
occur. So use rename and mv operation to reduce the possibility.
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
In parallel build, for example maix-bit:module config, it reports:
nm: 'a.out': No such file
This is caused by FSROOT not populated with chardev when symtab.c
generated. So update SYMTAB_SRC dependency to fix it.
Change-Id: I5bb5d17db41f3bba98ae70a2acdd2ec594736611
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
During generating symtab.c, compile seqeuence would start with
incomplete symtab.c. This change will fix such a situation.
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
During generating symtab.c, compile seqeuence would start with
incomplete symtab.c. This change will fix such a situation.
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
tcpblaster_server.c: In function 'tcpblaster_server':
tcpblaster_server.c:256:71: warning: passing argument 1 of 'localtime' from incompatible pointer type [-Wincompatible-pointer-types]
strftime(timebuff, 100, "%Y-%m-%d %H:%M:%S.000", localtime (&curr));
^
In file included from tcpblaster_server.c:50:0:
/usr/include/time.h:123:19: note: expected 'const time_t * {aka const long int *}' but argument is of type 'struct timespec *'
extern struct tm *localtime (const time_t *__timer) __THROW;
^~~~~~~~~
tcpblaster_client.c: In function 'tcpblaster_client':
tcpblaster_client.c:230:71: warning: passing argument 1 of 'localtime' from incompatible pointer type [-Wincompatible-pointer-types]
strftime(timebuff, 100, "%Y-%m-%d %H:%M:%S.000", localtime (&curr));
^
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>