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