Commit Graph

622 Commits

Author SHA1 Message Date
chao.an
bd9174a3b6 wireless/wapi: add set country code support
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-01-05 08:00:29 +01:00
ligd
ee3787e4a0 include/system/nx: include mqueue.h explicitly
Change-Id: I95407d435e60a94946ca22ec0693939b12424e7f
Signed-off-by: ligd <liguiding1@xiaomi.com>
2020-12-31 10:05:43 -06:00
danguanghua
a4f240e0e1 system: nxlooper: add nxlooper for loopback test
N/A

which record and play raw data using audio subsystem
to verify audio record and playback function

Signed-off-by: danguanghua <danguanghua@xiaomi.com>

Change-Id: I2c768b8e8234a31f9622cb9955f785329cf402a5
Signed-off-by: danguanghua <danguanghua@xiaomi.com>
2020-12-25 02:26:52 -06:00
Juha Niskanen
2a11d60246 netutils/ftpc: fix incorrect comments, nxstyle
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-12-13 11:14:43 -06:00
YAMAMOTO Takashi
73fb7baa05 webclient: Distinguish request size and buffer size in body callback
This fixes the case when webclient_set_static_body is used
for data larger than webclient_context::buflen.

Note: as of writing this, webclient_set_static_body is the
only user of body_callback in NuttX apps tree.
2020-11-19 18:46:38 -08:00
YAMAMOTO Takashi
cbec960c59 graphics/nxwidgets: Fix type mismatches
Use int for getCursorPosition/moveCursorToPosition.
2020-11-13 05:51:23 -08:00
chao.an
937b67bfa0 wapi/wireless: add get sensitivity support
Change-Id: I9906810466edaad59edf3d63b534959541609aab
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-11-10 19:37:29 -08:00
chao.an
3959f7535e wireless/wapi: add channel frequency set during associate
Therefore, the associate can support the connection of specified
channel if the scan results contain the multiple AP with same essids.

Change-Id: I4e657c52e638693e7ae19aea2a4fe8a431885547
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-11-10 19:36:17 -08:00
Sebastian Ene
fce08ec029 arch/sim: Fix NXWM test failure
## Summary of changes

Fixed the crash caused by a NULL memory access to an invalid background
window.

Signed-off-by: Sebastian Ene <sene@apache.org>
2020-11-01 11:56:57 -08:00
Xiang Xiao
8a63e58936 Change all 'Nuttx' to 'NuttX'
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-10-18 22:27:57 -07:00
Gregory Nutt
f65b16bb2e Incorporate IP configuration files into netinit.
Uses logic from apps/fsutils/ipcfg to obtain the IP address configuration from a file, if available.  This only effects the behavior of netinit if CONFIG_FSUTILS_IPCFG is selected and if an IP configuration file is available on a file system. Otherwise, it reverts to the preceding behavior.

Also adds definitions to apps/include/fsutils/ipcfg.h to formalize a bit encoding of the prototype which was already in use, but not documented.

Also fixes some bad assertions (duplication of PR #420) and makes use of variable names consistent in ipcfg.h comments and in ipcfg_text implementation.
2020-10-06 10:42:35 -07:00
Gregory Nutt
a627561c8f apps/fsutils/ipcfg: Add support for IPv6 2020-10-05 00:07:05 +08:00
Gregory Nutt
707e827ded ipcfg: Add hooks for future IPv6 support.
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.
2020-10-02 12:30:47 -07:00
YAMAMOTO Takashi
a1db71fa43 webclient improvements
Highlights:

* TLS support (a hook to allow users to provide TLS implementation)
* ability to add extra request headers
* ability to use PUT method
* ability to report http status
* error handling improvements

Proposed on the ML while ago:
https://www.mail-archive.com/dev@nuttx.apache.org/msg03803.html

The original API is kept for now.
I plan to remove them after adapting the existing users.
(examples in this repo)
2020-10-01 15:32:25 +08:00
David Sidrane
16dc85417b fsutils:ipcfg Add extern 'C' under cpp 2020-09-30 14:09:18 -06:00
YAMAMOTO Takashi
b78370dbf2 webclient: move WGET_USE_URLENCODE definiton to the header
Because it's used by the header.

This fixes warnings while building wgetjson.
2020-09-30 08:22:16 +02:00
Gregory Nutt
5e1ba408b4 Add IPv4 Configuration File Access Helper
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
2020-09-29 12:24:07 -07:00
licheng
a375f64f81 nxplayer&nxrecoder: add channel map support
Change-Id: I5e5534e7330d816533a6894cf3cd8c4e19984c6f
Signed-off-by: ligd <liguiding1@xiaomi.com>
2020-09-27 00:35:49 -07:00
chao.an
3061dbf2f8 wireless/wapi: add option to associate with bssid
Change-Id: I68ef42edfc50ef5baf0f02a570d0e7f79669659f
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-09-19 04:20:43 -07:00
chao.an
a0f6b14c0d wireless/wapi: add scan partial channel support
Change-Id: I2279406a9ca0cc3a9535ce79fbf651dbaf14ad4c
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-09-19 01:14:45 -07:00
Xiang Xiao
ecae66fe59 Replace all CONFIG_NFILE_STREAMS with CONFIG_FILE_STREAM
follow up the kernel side change

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ic27ad65d7cc2ea570921e0c17098dcb6bfe1893a
2020-09-11 17:57:58 +08:00
Xiang Xiao
837b405624 Change all files come from Xiaomi/Pinecone to Apache License 2.0
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-08-23 15:44:32 -06:00
Xiang Xiao
9d80399bd5 nsh: Accept the command line arguments like sh
Usage: nsh [<script-path>|-c <command>]

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ifb76b27e7fd09d26b1f6e48c391fed0972018041
2020-08-19 14:32:53 -07:00
Maciej Wójcik
d85cbea7f8 Don't copy header outside of LVGL, export LVGL, add README, fix example 2020-07-16 09:16:20 -05:00
Xiang Xiao
b217de70e5 apps: Remove all stuff related to CONFIG_xxx_CXXINITIALIZE
since it is moved to the central place in nuttx side instead

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I544d6110f1ca6460f7c82f970870aa9b1e7ab3dd
2020-07-01 10:03:12 -06:00
Peter van der Perk
839b3530d4 netlib: add AF_CAN family and CONFIG_NET_CAN support 2020-06-15 07:23:37 -06:00
YAMAMOTO Takashi
984b80d7cf netlib.h: Fix nxstyle complaints 2020-05-27 16:41:13 +08:00
YAMAMOTO Takashi
4e32615ab7 netlib: #if 0 out unimplemented fields in url_s
- Avoid giving a wrong impression to users
- Save a little memory
2020-05-27 16:41:13 +08:00
chao.an
018c9420ac netutils/dhcpd: cancelable dhcp daemon
Change-Id: Iea3c0b8f91b0d6d8ececcd3932d8756a9d021608
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-05-09 13:31:15 -06:00
Juha Niskanen
2aabd1c9a7 webclient: run through nxstyle
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-04-23 09:29:36 -06:00
Juha Niskanen
f8f16975a9 webclient: use getaddrinfo to get IPv4 addresses on dual stack systems
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-04-23 09:29:36 -06:00
Alin Jerpelea
2749e6467b system: nxplayer & nxrecorder: nxstyle fixes
nxstyle fixes for nxplayer & nxrecorder apps

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2020-04-21 16:41:51 -06:00
Xiang Xiao
63288eb81f fix apps/include/graphics/nxwidgets/cwidgetcontrol.hxx:550:20: error: ‘m_xyinput’ was not declared in this scope
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-04-20 07:08:56 -06:00
Xiang Xiao
650b58d6b2 nshlib: Fix nxstyle warning
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-04-19 08:07:06 -06:00
Xiang Xiao
de8a56d149 nshlib: Split shell functionality from nsh to sh
1.Improve the compatiblity as other OS
2.Avoid call nsh_initialize more than once

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-04-19 08:07:06 -06:00
Alan C. Assis
6e403fc343 Fix remaining issues with nxstyle 2020-04-16 20:39:47 -06:00
Alan C. Assis
04856ccfde Rescue incorrectly removed line 2020-04-16 20:39:47 -06:00
Alan C. Assis
d10eb2ae3a Fix nxstyle issue for Juha patch 2020-04-16 20:39:47 -06:00
Xiang Xiao
5720d72b71 apps: Fix the nightly build warning
src/cwindowfactory.cxx: In member function 'void Twm4Nx::CWindowFactory::redrawIcons(const nxgl_rect_s*)':
src/cwindowfactory.cxx:461:38: warning: 'iconPos.nxgl_point_s::y' may be used uninitialized in this function [-Wmaybe-uninitialized]
  461 |           iconBounds.pt2.y = iconPos.y + iconSize.h - 1;
      |                              ~~~~~~~~^
src/cwindowfactory.cxx:460:38: warning: 'iconPos.nxgl_point_s::x' may be used uninitialized in this function [-Wmaybe-uninitialized]
  460 |           iconBounds.pt2.x = iconPos.x + iconSize.w - 1;
      |                              ~~~~~~~~^

nsh_netcmds.c:424:20: warning: 'nsh_addrconv' defined but not used [-Wunused-function]
 static inline bool nsh_addrconv(FAR const char *hwstr,
                    ^
nsh_netcmds.c:446:20: warning: 'nsh_sethwaddr' defined but not used [-Wunused-function]
 static inline void nsh_sethwaddr(FAR const char *ifname,
                    ^

nsh_envcmds.c:94:21: warning: 'nsh_getdirpath' defined but not used [-Wunused-function]
 static inline char *nsh_getdirpath(FAR struct nsh_vtbl_s *vtbl,
                     ^

In file included from bas.c:84:0:
bas.c: In function 'bas_interpreter':
bas_error.h:110:37: warning: left-hand operand of comma expression has no effect [-Wunused-value]
 #define NOSUCHLINE         STATIC+40, _("No such line")
                                     ^
bas.c:2425:52: note: in expansion of macro 'NOSUCHLINE'
                           FS_putChars(STDCHANNEL, (NOSUCHLINE));
                                                    ^~~~~~~~~~
bas_fs.c:107:22: warning: 'g_vt100_colormap' defined but not used [-Wunused-const-variable=]
 static const uint8_t g_vt100_colormap[8] =
                      ^~~~~~~~~~~~~~~~
<stdout>:4048:16: warning: 'input' defined but not used [-Wunused-function]

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I62610b4c90e67637250cbd0107c2935c8abc542f
2020-04-13 08:32:42 -06:00
chao.an
df1d0e73f8 wireless/wapi: add save_config/reconnect support
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-04-03 13:29:19 +01:00
chao.an
6bafe90db4 wireless/wapi: independent scan and scan_results
add scan <ssid> support

Signed-off-by: chao.an <anchao@xiaomi.com>
2020-04-03 13:29:19 +01:00
Gregory Nutt
1a9444a68b Remove support for CONFIG_FS_WRITABLE and CONFIG_FS_READABLE 2020-03-22 08:23:28 -05:00
chao.an
52ad01f0bf netutils: save wapi config to file system
save and reload the wapi config from file system
2020-02-26 16:11:46 +00:00
chao.an
ee615f0568 net/wapi: remove unnecessary cast 2020-02-26 16:11:39 +00:00
Xiang Xiao
41d88f06e7 Run codespell -w with the latest dictonary again 2020-02-23 07:10:14 -06:00
Xiang Xiao
d660492289 Run codespell -w against all files
and fix the wrong correction
2020-02-22 14:41:36 -06:00
Xiang Xiao
779197c63e Ensure all source code end with one and only one newline
by this command:
git ls-files -z | while IFS= read -rd '' f; do tail -c1 < "$f" | read -r _ || echo >> "$f"; done
2020-02-09 08:14:49 -06:00
Xiang Xiao
bf3e6e2367 Improvements for telnet server
Author: Xiang Xiao <xiaoxiang@xiaomi.com>

    Check POLLHUP and POLLERR in telnet poll loop

      to handle the remote end close correctly

    Send "NVT"(network virtual terminal) as the default if getenv("TERM") return NULL

      telnet should trigger the error handling if inet_pton return zero
      since zero mean the string has format error

    Don't return 1 in _environ_telnet to avoid trigger the compression
    and remove the redundant TELNET_TELOPT_COMPRESS2 check

    Change telnet_error_u to telnet_error_e required by the coding standard

    Ensure telnet object get freed before the abnormal exit
2020-02-04 19:09:22 -03:00
Xiang Xiao
1154735ca6 Refine the preprocess conditional guard style 2020-01-31 11:04:10 -06:00
Xiang Xiao
e0dcfa0c55 Remove extra whitespace from files (#43)
* Remove multiple newlines at the end of file
* Remove the white space from the end of line
2020-01-31 08:29:24 -06:00
Ouss4
eb1af03259 examples/sendmail: Few fixes to make the example run on a local SMTP
server.
2020-01-25 16:39:21 -06:00
chao.an
7612221df6 apps/wireless/wapi/scan: Add frequency/rssi printf
Scan print layout:

nsh> wapi scan wlan0
bssid / frequency / signal level / ssid
**:**:**:**:**:**       2437    -38     <ssid>
**:**:**:**:**:**       2427    -36     <ssid>
...
2020-01-22 07:53:02 -06:00
Xiang Xiao
6d22dd0013 Author: Gregory Nutt <gnutt@nuttx.org>
Run all .c and .h files in last PR through nxstyle and fix all complaints.

Author: Xiang Xiao <xiaoxiang@xiaomi.com>

    Wapi improvement (#16)

    * wireless: add passphrase control
    * wireless: add disconnect control
2020-01-16 12:21:45 -06:00
Xiang Xiao
db61c92100 Fix dhcpd #17
apps/netutils/dhcpd/dhcpd.c:  Fix unused const variable

dhcpd.c:273:29: warning: 'g_anyipaddr' defined but not used [-Wunused-const-variable=]
 static const uint8_t        g_anyipaddr[4] = {0, 0, 0, 0};

apps/netutils/dhcpd:  Make dhcpd interface configurable

apps/netutils/dhcpd:  Lease address directly if hit in address range

apps/netutils/netinit: Initialize dhcpc_state

update the addresses only on request success
2020-01-16 12:06:25 -06:00
Xiang Xiao
857158451b Unify the void cast usage
1.Remove void cast for function because many place ignore the returned value witout cast
2.Replace void cast for variable with UNUSED macro

Change-Id: Ie644129a563244a6397036789c4c3ea83c4e9b09
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-01-02 23:21:01 +08:00
Gregory Nutt
64bc8f5b7f Run all .c and .h files modified in last PR through nxstyle. 2019-12-31 10:57:34 -06:00
Xiang Xiao
49c997501a Wapi simplify (#1)
apps/wireless/wapi:  Simplify usage of command line.  Remove duplicate extensions
2019-12-31 10:39:53 -06:00
Gregory Nutt
3da8091d30 Include nuttx/symtab.h instead of nuttx/binfmt/symtab.h since symtab.h under binfmt folder is for internal use. 2019-12-10 08:39:22 -06:00
Gregory Nutt
3ebf71095e Remove all support for the ancient Pascal compiler and pcode interpreter. 2019-11-21 07:04:34 -06:00
Gregory Nutt
1859f56380 apps/netutils/netinit, apps/netutils/netlib/, and apps/include/netutils/netlib.h: Extend a few definitions to permit building netutils and netinit with only Netlink sockets enabled. 2019-11-19 09:49:36 -06:00
Gregory Nutt
449290c8da apps/examples/netlink_route: Add test/example of NETLINK_ROUTE 'get' opeations. apps/netutils/netlib: Fixes to NETLINK_ROUTE helpers found by testing with apps/examples/netlink_route. 2019-11-11 13:40:57 -06:00
Gregory Nutt
438777cd38 netutils/netlib/netlib_getroute.c: Add function to retrieve routing tables using netlink. 2019-11-10 12:36:34 -06:00
Gregory Nutt
e260ea779c apps/netutils/netlib/netlib_getnbtab.c: Add a utility function that will return a list of all network devices in the UP state. 2019-11-09 17:38:02 -06:00
Gregory Nutt
2507cc15e8 netutils/netlib/netlib_getnbtab.c: Add support for retrieving a snapshot of the IPv6 neighbor table using Netlink sockets. 2019-11-08 11:30:32 -06:00
Gregory Nutt
b65c3dac0e netutils/netlib/netlib_getarptab.c: Misc fixes from initial testing with the 'arp -t' commeand. 2019-11-03 19:29:20 -06:00
Gregory Nutt
400995dec6 nshlib/nsh_netcmds.c: Add a -t option to the arp command which will enable printing the entire ARP table. 2019-11-03 16:19:14 -06:00
Gregory Nutt
768218ee81 netutils/netlib/netlib_getarptab.c: Add a function to read the entire ARP tableusing NETLINK_ROUTE protocol. 2019-11-03 15:13:47 -06:00
Dave Marples
b4134a674d nshlib/ and system/cle: Add basic color support to the CLE editor. 2019-10-12 00:47:29 +08:00
raiden00pl
ab7c5a7d4e Merged in raiden00/apps (pull request #200)
Some improvements to netutils/cjson and testing/unity

* netutils/cjson/Makefile: fix the error when creating Make.dep

* testing/unity/Makefile: fix the error when creating Make.dep

* include/.gitignore: ignore cJSON headers

* netutils/cjson/Kconfig: update default version to 1.7.12. Previous releases raise compilation warnings about redefined true/false

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-10-06 11:55:23 +00:00
Nathan Hartman
664e8a1410 Fix minor typos in docs and comments. 2019-09-29 12:53:39 -06:00
Gregory Nutt
e1d262e5d9 system/symtab: Remove system/symtab since the same functionality exist in nuttx now. 2019-09-28 11:05:31 -06:00
Nathan Hartman
b2a3ba57ff Fix typos 2019-09-11 08:59:08 -06:00
Nathan Hartman
6a6e9d1aa8 NxWidgets::CGraphicsPort: Fix small typo 2019-09-08 16:02:15 -06:00
Gregory Nutt
ac61c18fcc Move apps/builtins/builtin_forindex.c to nuttx/libs/libc/builtin since it is required by kernel logic as well. Other changes account for movement of builtin.h from nuttx/include/nuttx/binfmt/built.h to nuttx/include/lib/builtin.h. 2019-08-23 09:12:45 -06:00
Anthony Merlino
906f77a62d Merged in antmerlino/apps/libmac_fcslen (pull request #192)
wireless/ieee802154/libmac: Adds support for getting/setting the FCS length

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-10 18:17:54 +00:00
Gregory Nutt
735644766f apps/fsutils/passwd: Handle the improved the format of the /etc/passwd format. It is now a little similar to other systems. 2019-08-03 10:37:27 -06:00
Anthony Merlino
28f57f1007 Merged in antmerlino/apps/i8sak-improvements (pull request #188)
I8sak improvements

* wireless/ieee802154: Adds support for getting/setting maxretries and promsicuous mode from i8sak

* wireless/ieee802154/i8sak: Fixes a build warning and handles a few cases where a fault can occur due to not catching missing arguments.

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-07-26 01:54:30 +00:00
Masayuki Ishikawa
9eff955556 Merged in masayuki2009/nuttx.apps/fix_webserver_with_period (pull request #183)
netutils/webserver: Fix directory listing containing period in name

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-07-06 13:05:45 +00:00
Masayuki Ishikawa
0b352178c1 Merged in masayuki2009/nuttx.apps/add_dirlist_to_webserver (pull request #181)
netutils/webserver: Add directory listing to httpd

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-07-05 02:58:53 +00:00
Masayuki Ishikawa
b12b61df69 Merged in masayuki2009/nuttx.apps/fix_webserver (pull request #179)
apps/examples/webserver: Fix to compile with CONFIG_NETUTILS_HTTPD_SENDFILE=y

Also, in this PR, some configs such as CONFIG_NETUTILS_HTTPDFILESTATS
can be selected by menuconfig.

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-07-03 12:20:29 +00:00
Alan Carvalho de Assis
656157399d industry/abnt_codi, include/industry/abnt_code.h, examples.abntcodi: Adds support for ABNT CODI library. This is an energy meter protocol used in Brazil. 2019-06-15 08:38:04 -06:00
Gregory Nutt
bd14bf7165 apps/netutils/json: Removed. Replaced with apps/netutils/cjson. 2019-06-03 19:17:25 -06:00
Gregory Nutt
c1bb142e18 Squashed commit of the following:
apps/graphics/tmw4nx and apps/graphics/slcd:  This seems the last of the show stopper bugs.  All seems functional.

    apps/graphics/slcd:  Correct some errors found in early texting.  Now the Twm4Nx::CClock window comes up, but there are problems with the way that the segments are being displayed.

    apps/graphicx/twm4nx:  CClock is complete and compiles correctly.  Crashes with a hardware when the clock is selected from the Main Menu, however.
2019-06-01 13:00:02 -06:00
Gregory Nutt
51c3d3a054 Squashed commit of the following:
apps/graphics/slcd:  With these changes the CSLcd class now compiles
    successfully.  Still untested.

    apps/graphics/slcd:  Finish off rendering.  Hook into configuration and build system.

    apps/graphics/nxglyphs:  Add images that will eventually be used for clock icons

    apps/graphics/slcd:  Completes all CLcd methods except for rendering to the window.

    apps/graphics/slcd:  Add beginning of SLCD class.

    Add ASCII to SLCD character mapping.

    apps/graphics/slcd:  Represent segments as runs rather than trapezoids.  Trapezoids will be synthesized later.

    A little more SLCD logic

    apps/graphics/slcd:  Flesh out more trapezoids in the decomposition.
2019-05-31 20:44:02 -06:00
Gregory Nutt
9fd60f1908 apps/include/netutils/cJSON.h: Restore file that was accidentally removed with commit f730108adb. The normal way to recover from errors like this is to revert the change, then reapply it without the error. But I could not do that in this cast because there were too many conflicts when try to revert the commit. Instead, this commit just restores the file, losing its history. This lost history on this file is not long and is duplicated in its entirety here:
Author: Pierre-Noel Bouteville <pnb990@gmail.com>
  Date:   Sun Dec 4 08:01:56 2016 -0600

      Remove some garbage characters added by error.

  commit f8d425f0ad
  Author: Pierre-noel Bouteville <pn_bouteville@yahoo.fr>
  Date:   Tue Jul 12 16:27:14 2016 -0600

      apps/netutils/cJSON: Eliminate some warnings

  commit b9cf7acb1a
  Author: Gregory Nutt <gnutt@nuttx.org>
  Date:   Sun Apr 13 16:24:28 2014 -0600

      More trailing whilespace removal

  commit 2a038d1bc0
  Author: patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>
  Date:   Sat Oct 27 18:21:26 2012 +0000

      Add port of cJSON from Darcy Gong

      git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5267 42af7a65-404d-4744-a932-0658087f49c3
2019-05-31 09:17:30 -06:00
Gregory Nutt
41765ebe81 apps/graphics/twm4nx: Fix some errors found when enabling NX keyboard support. The most important being that the mouse and keyboard drivers need to be opened non-blocking. 2019-05-26 12:37:18 -06:00
Gregory Nutt
636e3e2278 Squashed commit of the following:
apps/graphics/twm4nx:  Revise logic to detect clicks on the background image.  The original implementation had some side effects.

    apps/graphics/twm4nx:  Remove some remaining, unused stuff from TWM that was never used.  Menus need to close after the 'terminal' selection is made.  Otherwise, the menu can become buried under a newly open menu and not easily recovered.

    apps/graphics/twm4ndx:  Add a 'critical' bit to the eventID.  While resizing, all events will be ignore except those marked critical.

    apps/graphics/twm4nx:  CBackground now brings up the main menu if the background image is click.  This makes the behavior the same across all of the background except when an icon is clicked.
2019-05-23 10:20:12 -06:00
Gregory Nutt
dd35a7cacc apps/: Removed all references to CONFIG_DISABLE_POLL. The standard POSIX poll() can not longer be disabled. 2019-05-21 19:08:12 -06:00
Gregory Nutt
320e660e85 apps/graphics/twm4nx: Add a configuration option to control the number of buttons in one column of the Icon Manager. The Icon Manager now long relies the default window width; now it determines a preffered window with based primarily on the font size. 2019-05-21 16:00:19 -06:00
Gregory Nutt
0a00a9950c Squashed commit of the following:
apps/graphics/twm4nx:  Adds some colors and better style control to support the CONTEMPORARY theme.  Still getting a few artifacts on the display.

    apps/graphics/twm4nx:  Use custom CWidgetStyle to force Icon background to match selected desktop background.

    apps/graphics/nxglyphs:  Add more modern looking button images for the Twm4Nx CONTEMPORARY theme

    apps/graphics/twm4nx:  Add some definitions to support Themes.  Background image is now optional.
2019-05-21 14:48:01 -06:00
Gregory Nutt
891ea23356 Squashed commit of the following:
apps/graphics/twm4nx:  Fix an uninitialized variable that was causing toolbar buttons to randomly come up enabled or disabled.  Remove some unused event definitions.

    apps/graphics/twm4nx:  Fix a calibration screen startup issue.  Make an initial calibration scrren optional
2019-05-20 12:06:06 -06:00
Gregory Nutt
a06b47394b This commit adds a calibration screen
Squashed commit of the following:

    apps/graphics/twm4nx:  The calibration seems to be functional.  Needs more testing.

    apps/graphics/twm4nx:  Extend event handling to support receiving raw, uncalibaated touchscreen inputs.  This is needed for touchscreen calibration.

    apps/graphics/twm4nx:  Extend event handling to support shutting down of externally controlled windows.  This is need to end the calibration sequence.

    apps/graphics/twm4nx:  CCalibration now compiles okay, but is missing event handling logic for touchscreen input and for window termination.

    apps/graphics/twm4nx:  Move application-related files into different directories to separate them from the core Twm4Nx files.

    apps/graphics/twm4nx:  A little more progress on calibration display.

    app/graphics/twm4ndx:  Add files that will support a calibration display.  This initial commit is simply the calibration display from NxWM and is not hooked into the configuration or build systems.

    apps/graphics/twm4ndx:  Compile out cursor support if we are using a mouse
2019-05-20 11:01:46 -06:00
Gregory Nutt
d237001bc3 apps/graphics/nxglyphs: Add a new resize cursor image. apps/graphics/twm4nx: Use new resize cursor image. 2019-05-17 10:52:16 -06:00
Gregory Nutt
6b303da968 Squashed commit of the following:
apps/graphics/twm4nx:  Clean up some build issues.

    apps/graphics/nxglyphs:  Remove some warnings due to coupling with NXWM.

    apps/graphics/twmndx:  Separate out the main() entry point for ctwm4nx.cxx.  There is functionality there that does not involve CTwm4Nx and so it is better if the main function were totally separate.
2019-05-17 08:53:25 -06:00
Gregory Nutt
5fc0e6c1a8 apps/graphics/twm4nx: During resizing, when the tool bar is drawn, the toolbar background must be redraw before the butttons and title are redrawn. 2019-05-16 16:39:13 -06:00
Gregory Nutt
e76bfbb74e Squashed commit of the following:
apps/graphics/twm4nx:  Other toolbar buttons need to be disabled while resizing.  Lots of problems if you decide to iconify or exit while resizing.  CResize now disables all buttons except for the RESIZE button while resizing.

    apps/graphics/twm4nx:  Add an event and logic to support notification of changes in the size of a window to NxTerm.

    Various updates to adapt to change in boardctl() interface.

    apps/graphics/twm4nx:  Correct an error in the NxTerm resize logic

    apps/graphics/twm4nx:  Update debug output when failures to send a message occur.  The returned value of -1 is not interested, need to show the errno value instead.

    apps/graphics/twm4nx:  Correct the maximum size of a message.  Recent changes caused message send failures because a message exceed that previous maximum size.

    apps/graphics/twm4nx:  Fix routing of redraw events.
2019-05-16 13:51:57 -06:00
Gregory Nutt
11fc2e4621 Squashed commit of the following:
apps/graphics/twm4nx:  Fix a bad width calculation.

    apps/graphics/twm4nx:  Debugging resize.  Only partially functional.

    apps/graphics/twm4nx:  Forgot to install the IEventTap instance.  No resizing kind of works, but I can't get out of it!  There is a basic problem in the window needs to be updated for the new size and there is no mechanism in place to do that (at least not with RAM backed windows).

    apps/graphics/twm4nx:  Add missing part of the resize logic.  Initial testing is mixed.  The resize window appears, but nothing else good happens.  No hardfaults though.

    apps/graphics/twm4nx:  This is a complete redesign of the CResize class.  Unverified on initial commit.

    apps/graphics/twm4nx:  Commit of in-progress resize changes
2019-05-15 17:21:25 -06:00
Gregory Nutt
e6b642308f Squashed commit of the following:
apps/graphics/nxwidgets/src/cbuttonarray.cxx:  Correct an error CButtonArray.  Was not correctly resizing the widget when the dimensions of the button array changed.

    apps/graphics/twm4nx:  Trival correcion of some typos in comments.
2019-05-15 07:55:57 -06:00
Gregory Nutt
7d28294b45 Squashed commit of the following:
apps/graphics/twm4nx:  Rename IDragEvent interface to IEventTap.  I intend to reuse this interface for window resizing as well as dragging.

    apps/graphics/twm4nx:  Some trivial elimination of some unused logic in CResize.
2019-05-14 16:55:02 -06:00
Gregory Nutt
f57ea060ea apps/graphics/twm4nx: Rename twm4nx_widgetevents.hxx to twm4m_events.hxx. The name was misleading because it includes other types of events as well. 2019-05-14 14:00:21 -06:00
Gregory Nutt
d91fb4e8c9 Squashed commit of the following:
apps/graphics/twm4nx:  In the Icon Manager, do not use the window name to identify which button press corresponds to which Window.  Window names are not unique.  Instead, it now keeps track of thich row x column was assigned to the window name.  That row x column uniquely associates a window with a button and does not depend on the window name in any way.

    apps/graphics/twm4nx:  Fix an error in event notification sent by the Icon Manager when a window is selected.

    apps/graphics/twm4nx:  Correct logic in Icon Manager for the case where the number of windows causes the Icon Manager to increase in size by one row.
2019-05-14 10:41:00 -06:00
Gregory Nutt
eeb5d4433c Squashed commit of the following:
apps/graphics/twm4nx:  Add logic to detect collisions with reserved regions in the backgroud or with other icons when moving an icon on the desktop.

    apps/graphics/twm4nx:  When moving icons, erase the old icon image before drawing the new one.
2019-05-14 08:15:36 -06:00
Gregory Nutt
75fc1a2dd3 apps/graphics/twm4nx: Icons can now be moved, but there are artifacts: Need to erase the old icon region on the background before drawing the new icon image during the move. 2019-05-13 18:09:20 -06:00
Gregory Nutt
3cd7b371d5 apps/graphics/twm4nx: Fix error in place of icons on the desktop
apps/graphics/twm4nx:  Fix several errors associated with the NxTerm buttons.  Most changes involved fixing crashes with the exit button is pressed.  Now the NxTerm windows behave well.  However, they are not receiving console input so there is still more to be done.
2019-05-13 09:09:33 -06:00
Gregory Nutt
668fe4e366 Squashed commit of the following:
apps/graphics/twm4nx:  Various fixes to get the NxTerm window to come up properly.  It does now come up okay, but the system basically loses its mind thereafter.  Goods good until some buttons are pressed.

    apps/graphics/twm4nx:  Simpify application startup.

    apps/graphics/twm4nx:  Fix some errors in debug statements.
2019-05-12 17:40:02 -06:00
Gregory Nutt
abd7c9a165 This commit incorporates the NxTerm window hosting NSH. This is just code complete and just compiles with no errors. The NxTerm item does not appear in the Main Menu, however, selecting the menu item does not yet bring up the NxTerm window.
Squashed commit of the following:

    apps/graphics/twm4nx:  Revamp the event system to support notification of external applications when the window is being closed.

    apps/graphics/twm4nx:  A little NxTerm progress

    apps/graphics/twm4nx:  Clean up some logic associated with use of multiple Icon Managers.

    apps/graphics/twm4nx:  Add CNxterm to the build.  It is a long way from compiling.
2019-05-12 11:57:45 -06:00
Gregory Nutt
77d10f9028 apps/graphics/twm4nx: Add an IApplicationFactory interface. 2019-05-11 15:48:46 -06:00
Gregory Nutt
c6802efc38 apps/graphics/twm4nx: Modify how applications register with the main menu. Add logic to support all possible menu selection notification methods: But putting up a subment, by starting an application, or be sending an event. 2019-05-11 13:17:19 -06:00
Gregory Nutt
2b2e17d126 Squashed commit of the following:
apps/graphics/twm4nx:  Add new logic to place an icon at a reasonable spot on the background.

    apps/graphics/twm4nx:  Remove some unused logic.
2019-05-11 09:47:27 -06:00
Gregory Nutt
dbb5211060 Squashed commit of the following:
apps/graphics/twm4nx:  This resolves the problems noted in the previous commit comments.  Window events are now communicated properly to the appliation-specific event handler.  Menus now seem to be receiving events and working well.

    apps/graphics/twm4nx:  Revamp application event handler.  Better design but still crashes when a main menu entry is clicked.

    apps/graphics/twm4nx:  First cut at application window event distribution.  Has some issues.  Not ready for prime time.

    apps/graphics/twm4nx:  Add more controls for the events that will be generated on basic window redraw, mouse/keyboard input, and keyboard input.

    apps/graphpics/twm4nx:  Add a 'Desktop' item to the main menu that will iconify all windows and menus and just show the open desktop.
2019-05-10 15:22:27 -06:00
Gregory Nutt
28b4be1913 Squashed commit of the following:
apps/graphics/twm4nx:  Remove some unnecessary twiddling with widget settings.

    apps/graphics/twm4nx:  Correct an error in how menu windows are created.

    apps/graphics/twm4nx:  Use button array vs list box for menus.
2019-05-10 09:20:43 -06:00
Gregory Nutt
71de56bca8 Squashed commit of the following:
apps/graphics/twm4nx: Mostly cosmetic stuff.

    apps/graphics/twm4ndx:  In icon manager, fixing some places where width was used when height was intended.  Fixe uninitialized variable.
2019-05-09 17:54:01 -06:00
Gregory Nutt
06f479c471 Squashed commit of the following:
apps/graphics/twm4nx:  The Icon Manager now adds a Main Menu entry that will de-iconify the Icon Manager or raise to the top of the hieararchy if not iconfified.  This is useful when there are many open windows.

    apps/graphics/twm4nx:  In resize operation, don't let window get narrower than the minimum toolbar width.

    apps/graphics/twm4nx:  Add logic so that the main menu is place at (or near) the position where the background was clicked.

    apps/graphics/twm4nx:  Better integrate menus and iconifiction:  Bringup up a menu is like de-iconifcation, except there is no icon to be erases; taking down a menu is like iconification except that there is no icon to present.

    apps/graphics/nxwidgets:  Add methods to all windows to query if a window is visible or hidden.

    apps/graphics/twm4nx:  Use NxWidgets methods which work in all contexts instead of trying to come up with a way to know if a window is displayed through complex flags.
2019-05-09 13:31:12 -06:00
Gregory Nutt
fea0109ab3 Squashed commit of the following:
apps/graphics/twm4nx:  CWindow: Add a global function that can be used to determine the minimum width of a window.  If the window is set to a width smaller than this, then toolbar items will overlap and the toolbar will be corrupted.  This is a global function (rather than a method of CWindow) because in some cases, this minimum width must be known before the window is created.

    apps/graphics/twm4nx:  CMenus now uses CWindows, rather that raw NX windows.  This rippled through to many other things due to conflicts between NUL-terminated C strings and NXWidgets::CNxStrings.
2019-05-08 22:11:28 -06:00
Gregory Nutt
944fd507fe With these changes, the main menu appears when any location on the background no occupied by an icon is clicked.
apps/graphics/nxwidgets:  CWidgetControl::handleLeftClick now returns a value to indicate if the click was actually processed or not.  CWidgetControl::pollMouseEvents:  Correct return value.

apps/graphics/twm4nx:  CBackground::event():  Implement logic to handle a left click on the background and to bring up the main Menu.  CWindowEvent: Extend message to distinguish between keyboard and mouse input.  Mouse position and buttons now accompany the mouse input data. CMenus: Add methods to query and control the visibility of the menu.
2019-05-08 15:28:06 -06:00
Gregory Nutt
9e1257deed apps/graphics/twm4nx: (1) Update the README file, (2) add initial files to support an NxTerm application. On this initial commit, these are just the NxWM NxTerm files with some renaming. That are not finished and have not yet been hooked into the build system. Some applicatino is needed in order to verify the functionality of the main menu. 2019-05-08 11:15:44 -06:00
Gregory Nutt
598bf28f34 apps/graphics/twm4nx: Extend the IDragEvents interfaces and user's thereof to better handle the cases when dragging where the mouse position gets ahead of the window updates and the reported mouse position lies not in the toolbar window, but in the main window or even outside of the window. 2019-05-07 18:20:42 -06:00
Gregory Nutt
d244b7a11d Squashed commit of the following:
apps/graphics/twm4nx:  Additional redesign.  Window draggin now sort of works in an unreliable hurky-gurky way.  More to be done.

    apps/graphics/twm4nx:  First cut at redesigned dragging logic
2019-05-07 16:16:47 -06:00
Gregory Nutt
b0d39372fb apps/graphics/twm4nx: Exploit the new feature to create hidden windows. This cleans up some brief window startup anomalies. Also fixes an initialization error in CMenus. 2019-05-07 08:51:37 -06:00
Gregory Nutt
b512ec0235 Trival removal of spaces dangling at the end of lines. 2019-05-06 18:13:03 -06:00
Gregory Nutt
eaffa13f54 Squashed commit of the following:
apps/graphics/twm4nx:  Replace most usage of NUL-terminated C strings with NXWidgets::CNxString.

    apps/graphics/twm4nx:  Add initial support for the main menu.  The main menu will come up when a left click is performed on the background.  The main menu is used for starting applications.  The adds the CMainMenu class that implements the main menu and an IApplication interface class the provides th template for how any external C++ application can add itself to the Main Menu.

    Still missing is the logic that responds to the meny item selection and sends the event to the Main Menu as well as the logic in the Main Menu that handles the event and either brings up a sub-menu or starts and application.

    Things are still basically functional after these changes, but my gut feeling is these changes added some instabilities that will need to be smoothed out.
2019-05-06 18:10:45 -06:00
Gregory Nutt
02c148e07e Squashed commit of the following:
apps/graphics/twm4nx:  Try to improve icon text spacing.  Not noticeably better, however.

    apps/graphics:  Split long icon title on two lines below the icon image.

    apps/graphics/twm4nx:  Both iconification and de-iconification work.

    apps/graphics/twm4nx: Various fixed toward de-iconifying a window.  Progress but still not there yet.
2019-05-06 12:05:53 -06:00
Gregory Nutt
1879949cdc apps/graphics/twm4nx: Add logic to hide the window when it is iconified and restore the window when it is de-iconfied. Iconification works, de-iconification does not. 2019-05-05 15:23:50 -06:00
Gregory Nutt
1e4dfd7193 apps/graphics/twm4nx: Trying (unsuccessfully so far) to get events from iconified windows. 2019-05-05 11:50:08 -06:00
Gregory Nutt
64cf50e2eb graphics/twm4nx/src/cbackground.cxx: Add logic to handle polling for background icon events.
graphics/twm4nx/src/window.cxx:  Add flags to CWindow initializer to support customization of toolbar buttons and other window properties.  Add framework to handle toolbar button presses.  Window minimization (aka, iconification) does not work.

graphics/twm4nx/src/input.cxx:  Add support to scaling touchscreen.  Not needed for the current testing because the touchscreen naturally matches the display size.  But will be needed, along with calibration scren, in the future.
2019-05-05 10:23:46 -06:00
Gregory Nutt
f64df4a376 apps/graphics/twm4nx: Additional changes needed to use touchscreen with no keyboard. 2019-05-04 14:51:49 -06:00
Gregory Nutt
afbb51eb1e apps/graphics/twm4nx: Add option to use touschreen instead of mouse input. 2019-05-04 12:26:14 -06:00
Gregory Nutt
f3b3d1fc72 apps/graphics/NxWidgets: CNxTkWindow, CNxWindow, CNxServer: Add support to create RAM backed windows.
apps/graphics/twm4nx:  IconMgr window now comes up correctly.  Need to revisit window width setup.  All windows are no created as RAM backed windows.
2019-05-04 11:45:15 -06:00
Gregory Nutt
b5ae79b8f3 graphics/twm4nx/Kconfig: Add configuration disable keyboard/mouse input for testing purposes.
graphics/twm4nx/src/ciconmgr.cxx:  Correct initial window size and position in the upper righthand corner;  Need to fill draw the button array immediately on window creation.

graphics/twm4nx/src/cwindow.cxx:  Need to fill the toolbar initially with the widget background color.
2019-05-04 10:33:16 -06:00
Sebastien Lorquet
fc7aa92b57 apps/netutils/libcurl4nx: This is an initial comit libcurl4nx. It is not complete yet, but I still wish to commit the unfinished bits to describe the roadmap, and because it is already usable. It will be updated and fixed in the future weeks and months, certainly including POST support and later, SSL.
Some improvements could be made by anyone.  For example, I know the main routine in perform() shall be split into several parts for readability. I apologize in advance for this kind of spaghetti code, but I was short on time to refactor it.  Also chunked HTTP transfer encoding would be a nice contribution from anyone interested. It is detected but not yet supported.
2019-05-03 07:26:13 -06:00
Gregory Nutt
445e0eef79 apps/graphic/twm4nx: Fix junk varialbe that was shadowing variable of the same name in the base CNxWidget class. Resolves all start up crash issues. Now I need to figure out why the host VNC client drops the connection. 2019-05-02 16:40:10 -06:00
Gregory Nutt
2fff83d60d apps/graphics/twm4nx: Correct design of input event logic. Still getting a hardfault. 2019-05-02 14:41:53 -06:00
Gregory Nutt
358f32bfdc Squashed commit of the following:
apps/graphics/twm4nx:  Fix various bugs found in bringup:  Re-order object instantiation to account for inter-object dependencies.  Correct mq_receive() buffer size.  Fix a backward comparison.

    apps/graphics/twm4nx:  Twm4Nx debug can now be separately enabled so that it does not get overwhelmed by other graphics debug output.
2019-05-02 09:19:45 -06:00
Gregory Nutt
a11f55ca4c apps/graphics/twm4nx: Fixes two bugs. Now gets further but is still non-functional. 2019-05-01 14:54:54 -06:00
Gregory Nutt
278b40b766 include/graphics/nxwidgets/cwidgetcontrol.hxx: Add handshare to getWindowHandle() to avoid returning a NULL handle. But now Twm4Nx hangs waiting for the non-NULL handle, 2019-05-01 12:19:14 -06:00
Gregory Nutt
f730108adb Squashed commit of the following:
apps/graphics/NxWidgets:  Fix a possible deadlock condition when waiting for window geometry data that will never come.  Fixed by re-requesting geometry data if we don't already have it.

    apps/graphics/twm4nx:  Add some debug output.

    apps/graphics/twm4nx:  Rethink how background events are handled.

    apps/grephics/twm4nx:  Expermimental organization to capture background events.
2019-05-01 11:11:43 -06:00
Gregory Nutt
8f5944c4a8 Squashed commit of the following:
include/ and netutils/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    nshlib/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    system/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    testing/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    examples/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
2019-04-29 14:53:38 -06:00
Gregory Nutt
ad57b3de4d apps/graphics/twm4nx: Add options to initialize the system via boardctl() and to bring up the network using the new apps/netutils/netinit. This latter is only necessary because VNC is being used to provide graphics. 2019-04-29 11:49:15 -06:00
Gregory Nutt
94a0d92b54 This commit removes the private network initialization logic from NSH and puts in a common location at apps/netutils/netinit. Now that netork initialization logic can be used by applications that do not include NSH.
Squashed commit of the following:

    apps/nshlib:  Remove NSH initialization.  Now uses the common apps/netutils/netinit logic (which was cloned from nshlib to begin with).

    apps/netutils/netinit:  Clone network initialization logic from NSH to this directory so that it can be available for general use.
2019-04-29 10:22:56 -06:00
Gregory Nutt
6a970ec4e9 apps/graphics/twm4nx: Suppress input thread if using the VNC server. We don't need to catch input fromo keyboard and mouse devices in that case; those inputs will be injected into NX directly by the VNC server. Includes a couple of fixes from initial bringup attempts. 2019-04-28 12:47:49 -06:00
Gregory Nutt
e742f97674 Squashed commit of the following:
apps/graphics/twm4nx:  Remove Icon Windows; replace with IconWidgets that are draw on the background.
    apps/graphics/twm4nx:  Add CIconWidget event generation.
    apps/graphics/twm4nx:  Add event handling logic to CIconWidget.
2019-04-28 09:24:05 -06:00
Gregory Nutt
0c6f41912c apps/graphics/twm4nx: Add compount widget CIconWidget. This will eventually replace the icon Windows with widgets that can be drawn on the Background. 2019-04-27 17:53:02 -06:00
Gregory Nutt
9030bf631d apps/graphics/twm4nx: Flesh out some of the Resize logic. Still missing the pull events needed to do the resize. 2019-04-27 12:05:18 -06:00
Gregory Nutt
c144919a4e apps/graphics/twm4nx: Finsh menu-related event handling. Extended menu handling. Allow external application event handling using a new base class (CTwm4NxEvent). 2019-04-27 09:35:05 -06:00
Sebastien Lorquet
fe0954cd62 netutils/netlib/netlib_parseurl.c: Add a more flexible version of netlib_parsehttpurl. This one can parse any URL, and is extensible so future improvements keep the same API. 2019-04-26 13:08:38 -06:00
Gregory Nutt
601659ff59 Squashed commit of the following:
graphics/twm4nx/src/ciconmgr.cxx:  Integrate use of CButtonArray; implement first cut at event handling.

    graphics/nxwidgets/src/cbuttonarray.cxx:  Add a method to CButtonArray that will allow us to dynamically resize the array (at the cost of losing all button labels).

    graphics/twm4nx/src/ciconmgr.cxx:  Add some fragments of CButtonArray logic.

    graphics/twm4nx/src/cwindow.cxx:  Finishes first cut at window event management.
2019-04-26 12:50:35 -06:00
Gregory Nutt
950b4cb604 wm4Nx is a port of twm, Tab Window Manager (or Tom's Window Manager)
version 1.0.10 to NuttX NX windows server.  No, a port is not the right
word.  It is a re-design of TWM from the inside out to work with the NuttX
NX server.  The name Twm4Nx reflects this legacy.  But Twm4Nx is more a
homage to TWM than a port of TWM.

The original TWM was based on X11 which provides a rich set of features.
TWM provided titlebars, shaped windows, several forms of icon management,
user-defined macro functions, click-to-type and pointer-driven keyboard
focus, graphic contexts, and user-specified key and pointer button bindings,
etc.

Twm4Nx, on the other hand is based on the NuttX NX server which provides
comparatively minimal support.  Additional drawing support comes from
the NuttX NxWidgets library (which necessitated the change to C++).

Twm4Nx is greatly stripped down and targeted on small embedded systems
with minimal resources.  For example, no assumption is made about the
availability of a file system; no .twmrc file is used.  Bitmaps are not
used (other than for fonts).

The TWM license is, I believe compatible with the BSD license used by NuttX.
The origin TWM license required notice of copyrights within each file and
a full copy of the original license which you can find in the COPYING file.
within this directory.

STATUS:

This port was brutal.  Much TWM logic was removed because it depending on X11 features (or just because I could not understand how to use it).  The logic is partial.  A lot more needs to be done to have a complete system (hence, it is marked EXPERIMENTAL).  The kinds of things that need to done are:

1. Update some logic that is only fragmentary for how like resizing, and menus.
2. Integrate NxWidgets into the windows:  The resize menu needs a CLabel, the menus are CListBox'es, but not completely integrated, the Icon Manager needs to be a button array.
3. Resit Icons.  They are windows now, but need to be compound widgets lying on the background.
4. Widget events are only partially integrated.  A lot more needs to be done.  A partial change to thoe event system that hints at the redesign is in place but it is far from complete.
2019-04-25 16:54:17 -06:00
Gregory Nutt
63efade0fc apps/include/graphics: Minor cleanup of typos noted in review. 2019-04-18 08:23:10 -06:00
Gregory Nutt
f2b486c281 include/graphics/nxwidgets/cnxserver.hxx: Add Cursor methods to the CNxServer class. 2019-04-13 16:56:29 -06:00
Gregory Nutt
99382df286 apps/examples/pwfb: Extend example to verify software cursors. Untested on initial commit. 2019-04-10 09:24:08 -06:00
Gregory Nutt
c6dbcb2b17 graphics/nxglyphs/Makefile: Fixes error 'No rule to make target preconfig' 2019-04-05 14:41:00 -06:00
Gregory Nutt
ef26c25994 graphics/nxwidgets and inclu/graphics/nxwidgets: Add support for modal windows. 2019-04-05 09:05:19 -06:00
Gregory Nutt
755ee18504 apps/graphics/nxwm: nxwm_main.c is no longer a unit test. Need to remove some dangling dependencies on UNITTEST and also some testing that is inappropriate in its new role. 2019-04-04 20:04:12 -06:00
Gregory Nutt
dee7f14b49 Squashed commit of the following:
apps/system/nxplayer:  Fix some logical errors from recent comments.  They broke the build of the nxplayer as a library vs. a task.  apps/graphics/nxglyphs:  Fix yet more namespace problems.

    graphics/nxwm/src/nxwm_main.cxx:  Move from graphics/nxwidgets/UnitTests/nxwm/nxwm_main.cxx.

    apps/graphicx/nx*:  Fixes numerous build issues mostly associated with include paths and namespaces.

    apps/nxglyphs:  Decouple (mostly) from nxwidgets and nxwm so that they can be used elsewhere.  Creates include/graphics/nxglyphs.h

    apps/graphics/nxglyphs:  Put all NxWidgets and NxWM glyphs into a common directory where they can eventually be shared.  Not very sharable at the moment due to header file entanglements.  Need a separate nxglyps.hxx header file.

    Separate nxwidets and nxwm into separate directories.  Remove old, common NxWidgets directory.
2019-04-04 18:53:29 -06:00
Gregory Nutt
b167bebabc graphics/NxWidgets/nxwidgets/src/ccallback.cxx and include/graphics/nxwidgets/: Add a synchronize method to every window. This is a wrapper arounc nx[tk]_sync and permits C++ applications to synchronize with the NX server. 2019-03-27 13:50:52 -06:00
Gregory Nutt
11b6bc9447 exmamples/, graphics/NxWidgets: Update NX window clients so that they use the new 'event' callback (vs. the obsoluted 'blocked' callback). 2019-03-25 13:01:52 -06:00
Gregory Nutt
66af5b46dd apps/Nxwidgets: Fix some recently introduced errors found in build testing. 2019-03-08 16:26:34 -06:00
Alan Carvalho de Assis
c019c9d7af apps/examples/modbusmaster/mbmaster_main.c: eMBMasterRegHoldingCB cannot be static. 2019-03-07 16:11:45 -06:00
Gregory Nutt
061b4338c9 apps/examples/nxterm and graphics/NxWidgets/nxwm: Replace direct calls to nxtk_register with legal, indirect calls via boardctrl(BOARDIOC_NXTERM). Replace calls to (deleted) nxterm_unregister(). The correc way to delete a driver is by unlink'ing it. 2019-03-06 10:53:13 -06:00
Gregory Nutt
9db029e318 The file system can no longer be disabled. Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS==0 2019-02-11 13:10:10 -06:00
ligd
557cd8e454 netutils/codecs/base64.c: Add base64_[de|en]code_length() API 2019-01-27 07:20:25 -06:00
Xiang Xiao
4d2f580568 apps/netutils/codecs/base64.c: Remove the big stack array 2019-01-27 07:17:07 -06:00
Ken Pettit
8132c38064 graphics/pdcurs34: This commit adds a configuration option to pdcurses to enable line-drawing character (ALTCHARSET) when using the short 16-bit chtype. This is done by limiting the characters to 7-bit ASCII values and using the 8-th bit as the A_ALTCHARSET bit. This allows a significant RAM savings 4K - 20K depending on terminal size) while still allowing the nicer line-graphic characters for border drawing. 2019-01-08 08:28:27 -06:00
Ken Pettit
e1237bfefd apps/graphics/pdcurs34/nuttx and system/termcurses: This commit fixes two issues:
1. A memory corruption issue that occurs from a paste operation that would overflow the fixed buffer size for keyboard processing.

2. A stall in getch() processing when there are cached keycodes in the termcurses emulation (tcurses_vt100.c).
2019-01-08 08:28:27 -06:00
Ken Pettit
73fc5eb199 apps/graphics/pdcurs34: Integration of termcurses into pdcurses, plus pdcurses updates for multi-thread support 2019-01-05 13:25:12 -06:00
Gregory Nutt
e88a529010 From patch attached to nuttx/ Bitbucket Issue #136 from Vlado Vidovic:
The patch provided in issue 135, which adds support for HTTP Chunked Encoding, covers all paths in the webserver app except CGI callbacks. As a result, if a page being served happens to use CGI, it could generate stream content that does not comply with HTTP Chunked Encoding.

The patch attached amends the webserver app's CGI callbacks to use the HTTP Chunked Encoding sender function instead of using send() directly.
2018-11-23 17:29:07 -06:00
Gregory Nutt
d3c36663d0 netutils/webserver: Contributed by "Anonymous" via attachment to Bitbucket issue #135: "webserver broken when scripting support enabled - support for chunked encoding fixes it"
The webserver/httpd app is currently broken when script support is enabled (CONFIG_NETUTILS_HTTPD_SCRIPT_DISABLE). The root cause has been tracked down to the "Content-length" not being available ahead of time in this case (length of -1 passed to send_headers() ). On the other hand, the server closing the socket does not result in FIN being sent to the browser either (FIN not supported by NuttX yet).

Simple solution: Add support for HTTP Chunked Encoding to webserver/httpd (attached patch).

The attached patch is simple. It adds a configuration option to enable chunked encoding. When enabled, the implementation will auto-detect the cases where content length is not available ahead of time, and will automatically engage chunked encoding transfers.

Without this patch, the browser/client hangs forever, as it is expecting more data. With this patch, the browser displays the content.
2018-11-23 10:13:34 -06:00
Gregory Nutt
7488a65e17 Updates from coding style review of PR 160 2018-11-09 10:21:42 -06:00
Petteri Aimonen
66d4ed9912 Merged in paimonen/apps/pullreq_nxwidgets (pull request #160)
NxWidgets improvements

* NxWidgets: fix garbage returned when CCycleButton::getValue() is called after removeAllOptions().

    It's a bit questionable whether returning 0 here is reasonable or
    if it would be better to assert(). But either is better than reading
    into random memory and returning a garbage value.

* NXWidgets CScrollingPanel: Don't draw outside the widget area.

    The port->move() function doesn't support clipping the
    copied area to the client area, so we have to manually
    calculate the part that can be moved without going outside
    the widget.

* CNxString: Add string + operator and ::format() function

* CNumericEdit: Add option to include unit name after the value

* NxWidgets: CNxWidget: Make useWidgetStyle() public

    Makes it easier to update styles when multiple controls are nested.

* NxWidgets: Add CLabelGrid control for displaying text in grid format.

Approved-by: GregoryN <gnutt@nuttx.org>
2018-11-09 16:00:50 +00:00
ligd
f954b15cac pps/system/ping and pings and apps/netutils/ping: Extract icmp ping and icmpv6 ping6 logic from system/ to C-callable library in netutils/. 2018-11-08 09:32:05 -06:00
Xiang Xiao
cddfda99f0 apps/netutils/pppd: Refine and fix pppd code.
Reviewers note:  Reviewing the changes I also see that these file did not follow the NuttX codings standard.  I ran all files through nuttx/tools/indent.sh, manually reviewed all files for coding style issues.  I also changed occurrences of non-standard types u8_t, u16_t, and u32_t to the standard uint8_t, uint16_t, and uint32_t.
2018-11-07 12:43:42 -06:00
Xiang Xiao
c1f0653c85 apps/netutils/chat and apps/examples/chat: 'constify' chat variables and parameters 2018-11-07 11:55:09 -06:00
Gregory Nutt
7b56c9c336 apps/include/netutils/ipmsfilter.h: Eliminate error generated by bad pre-processor logic. 2018-11-02 08:32:18 -06:00
Gregory Nutt
a26a7f9767 apps/netutils/netlib and apps/examples/igmp: Adapt to use the corrected, semi-standard version of struct ip_msfilter. 2018-10-29 06:51:56 -06:00
Gregory Nutt
c558fce8ad This commit moves the NxWidgets include directories into the correct position in the apps/ source tree.
Squashed commit of the following:

    Clean-up some include path problems introduced with the previous set of changes.

    app/include/graphics, apps/NxWidgets/UnitTests:  Update include paths for file in new location.

    apps/NxWidgets/nxwidgets and nxwm:  Update include paths for file in new location.

    apps/graphics/NxWidgets:  Move nxwidgets and nxwm include/ directories to apps/include/graphics
2018-09-16 17:23:45 -06:00
ZhongAn
392943a0a0 apps/system/nxrecorder: Add nxrecorder application 2018-08-27 08:20:11 -06:00
ZhongAn
09a3bc44b4 system/nxplayer/nxplayer.c: Add playraw command 2018-08-27 08:04:48 -06:00
Xiang Xiao
8116d10da3 apps/fsutils/mksmartfs: Add a check to see if the SmartFS is already formatted. apps/nshlib: Add a force flag (-f) to mksmartfs. SmartFS will be formatted only if (1) the FLASH does not already hold a SmartFS, or (2) the force flag is set 2018-08-23 07:14:30 -06:00
Xiang Xiao
ddd86d31ca apps/system/zmodem:
- fix error "sz_main.o: No such file or directory"
  - support -p <path> for rz to change the folder for the recevied file
  - switch debug output from printf to syslog
  - send the next packet for ZME_ACK in ZMS_SENDING to avoid rz on the host side stuck
  - make send work reliable even without hardware flow control
2018-08-23 06:33:39 -06:00
Gregory Nutt
a57610c2c4 Remove trailing spaces at the end of lines. 2018-08-13 07:47:26 -06:00
Gregory Nutt
3e81973cd5 include/netutils/netlib.h: Eliminate a warning about AF_UNSPEC and AF_INET not defined. 2018-08-03 10:50:24 -06:00
Mateusz Szafoni
0abe34183b Merged in raiden00/apps (pull request #142)
testing/unity: add configuration options for exclude setjmp and output color

Approved-by: GregoryN <gnutt@nuttx.org>
2018-06-23 14:58:25 +00:00
Mateusz Szafoni
133f239763 Merged in raiden00/apps (pull request #141)
testing: add Unity - unit testing library from ThrowTheSwitch.org

* examples/powerled: add arch initialization; examples/smps: fixes in some printf and in Kconfig

* testing: add Unity - unit testing library from ThrowTheSwitch.org

Approved-by: GregoryN <gnutt@nuttx.org>
2018-06-15 12:44:22 +00:00
Gregory Nutt
0094b411da apps/netutils/netlib: Various fixes needed to get a clean netlib build with Bluetooth only. 2018-04-03 10:01:55 -06:00
Gregory Nutt
28ce015fbb Remove canutils/libuavcan and examples/uavcan. libuavcan has not built for a year or so. The basic problem is that as NuttX advances, the old frozen versino of libuavcan has become absolute because it violates the portable POSIX OS interface. No one is maintaining the port so there is no alternative but to remove it. 2018-03-23 07:29:06 -06:00
Gregory Nutt
b0a0a39f7a Squashed commit of the following:
apps/examples/ft80x:  Fix some size calculations.  Add option to disable primitive tests... just too boring to have to watch over and over again.
    apps/graphics/ft80x:  Fix a typo in backlight fade logic; Fix error in formmatted display light debug dump output.
    apps/graphics/ft80x:  Fix some warnings when debug features are enabled.
2018-03-09 12:31:29 -06:00
Sebastien Lorquet
3211ab9069 apps/netutils/tftpc: This commit modifies the TFTP client functions to use a data read/write callback instead of a file.This allows TFTP to write to arbitrary destination (in my case, a MTD device - for firmware update). Two new functions are introduced for this, named tftpget_cb and tftpput_cb. They are just made of most of the existing code. The previously existing tftpget/tftpput functions are now wrappers on the new ones, with callbacks that read/write from files, so my modifications are backwards compatible with existing applications, eg the associated nsh commands dont need to be changed. 2018-03-09 07:08:06 -06:00
Gregory Nutt
305e470a90 apps/graphics/ft80x: Add controls for enabling/disabling the audio amplifier; Add general interfaces for controlling FT80x GPIOs. 2018-02-27 08:48:15 -06:00
Gregory Nutt
9f6338566f apps/graphics/ft80x: Add basic support for GPIO and configuration for eventual support of FT80x GPIO audio shutdown controls 2018-02-26 19:08:24 -06:00
Gregory Nutt
685d379542 apps/graphics/ft80x: Add interface to play midi sounds; apps/examples/ft80x: Add an example using stencils. 2018-02-26 15:26:11 -06:00
Gregory Nutt
9d2b92d75d apps/graphics/ft80x: Audio buffer size/offset is now configurable. 2018-02-26 09:58:52 -06:00
Gregory Nutt
e734ab1b36 apps/graphics/ft80x: Add 'prototype' quality logic for playing audio files. 2018-02-25 17:14:07 -06:00
Gregory Nutt
4eeadd7b5d apps/graphics/ft80x: Ooops 5 touch points, not 4. apps/examples/ft80x: Re-order to some tests. 2018-02-25 11:45:56 -06:00
Gregory Nutt
e15526f683 apps/graphics/ft80x: Add more touchscreen interfaces. apps/examples/ft80x: Add an interactive example using buttons, keys, and touchscreen input. 2018-02-25 11:20:39 -06:00
Gregory Nutt
9095bd4f1b apps/graphics/ft80x: Add interfaces to control the backlight. apps/examples/ft80x: Fade the display on and off between each example. 2018-02-23 10:49:38 -06:00
Gregory Nutt
4f6984d714 apps/graphics/ft80x: Add capabilitilies to send commands to the co-processor outside of the context of a display list. apps/examples/ft80x: Add another copressor example.. spinner animation. 2018-02-22 10:01:50 -06:00
Gregory Nutt
2436e3f85a apps/graphics/ft80x: Add routine to wait for logo animation to complete. apps/examples/ft80x: Add more graphic demonstrations. 2018-02-21 19:17:28 -06:00
Gregory Nutt
157da4f1ab apps/graphics/ft80x: Add support for reading/writing multiple registers. Add interface to obtain the touchscreen transform matrix. apps/examples/ft80x: Add more co-processor demos. 2018-02-21 11:50:06 -06:00
Gregory Nutt
ecfdf073fc Squashed commit of the following:
apps/graphics/ft80x:  Replace polling logic with gentler signal logic when waitinf for the CMD FIFO to become empty.
    apps/examples/ft80x:  Add first co-processor example.
    apps/graphics:  Extend library to manage display lists either in display memory (RAM DL) or provided directly to th co-processor FIFO (RAM CMD).
    apps/examples/ft80x:  Some minor clean-up.  Trivial changes for coprocessor support.
2018-02-20 15:23:05 -06:00
Gregory Nutt
7c9f8ef9eb Squashed commit of the following:
apps/graphics/ft80x:  Add support for accessing graphics ram.  apps/examples/ft80x:  Add more primitive graphics demos.
    apps/examples/ft80x:  Add a couple more demos of primitives.  Use new ft80x_dl_create() to simplify.
    apps/graphics/ft80x:  Add ft80x_dl_create() which simplies writing of very simple display lists.
2018-02-19 13:14:16 -06:00