Commit Graph

464 Commits

Author SHA1 Message Date
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
Gregory Nutt
5dd5908d86 apps/graphics/ft80x: Add register access helpers. 2018-02-18 13:36:08 -06:00
Gregory Nutt
62d6843cb3 apps/graphics/ft80x: Add the beginning of FT80x support library. So far consists only of some display list helpers. 2018-02-18 10:12:53 -06:00
Alan Carvalho de Assis
f2028411bf Squashed commit of the following:
apps/examples/lvgldemo:  Fix up some include paths
    apps/examples/lvgldemo:  The last final now conforms to the NuttX coding style.
    apps/graphics/littlevgl:  Two more files are closer to the NuttX coding style.
    apps/graphics/littlevgl:  Two more files are closer to the NuttX coding style.
    apps/examples/lvgldemo:  Three more files are closer to the NuttX coding style.
    apps/examples/lvgldemo:  Two more files are closer to the NuttX coding style.
    apps/examples/lvgldemo:  Two more files are closer to the NuttX coding style.
    Add include/graphics/.gitignore
    apps/include/graphics:  Remove lvgl.h.  graphics/littlevgl/Makefile now copies the file into position.
    apps/graphics/littlevgl:  Add .gitignore file
    apps/graphics/littlevgl:  Most of these files follow the coding style now.
    apps/graphics/littlevgl:  This gets a couple of files closer to the NuttX coding style.
    apps/examples/lvgldemo:  Add lvgldemo example
    apps/graphics/littlevgl:  Add littlevgl library
2018-01-16 15:35:55 -06:00
Masayuki Ishikawa
021839224f nxplayer: Add support for http streaming in nxplayer
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2017-12-19 15:08:29 +09:00
Masayuki Ishikawa
77ac05c383 nxplayer: Fix warnings by nxstyle
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2017-12-19 15:08:26 +09:00
Gregory Nutt
cab8363d44 apps/graphics/pdcurses: Fix some miscellaneous, harmless typos and standard violations. 2017-11-27 17:31:22 -06:00
Gregory Nutt
ad54b77f33 apps/graphics/pdcurs34: Add NuttX framebuffer color managment and beginning of some rendering logic. 2017-11-18 19:30:19 -06:00
Gregory Nutt
69bea27b20 Remove some dangling whitespace at the end of lines. 2017-11-17 13:23:02 -06:00
Gregory Nutt
7ba2110c83 apps/graphics/pdcurs34: This commit brings the basic public domain pdcurses library into NuttX. This library is complete but not yet usuable because it still requires the NuttX interfacing code needed hook pdcurses into the NuttX graphics drivers. Also test cases are needed to verify the pdcurses integration. 2017-11-17 13:12:59 -06:00
Anthony Merlino
f489bcd6f9 Merged in antmerlino/apps/ftp-ipv6 (pull request #122)
FTP: Adds support for IPv6 and fixes various transfer issues

* netutils/ftpd: Fix support for IPv6 FTP server

* netutils/ftpc:Adds support for IPv6 sockets

* ftpc: Must convert port received by EPSV reply to network order

* ftpc: Data socket address for passive connection should be same as server address

* ftpc: Must skip human readable string in EPSV response before scanning for port

* ftpc: Don't send PASS command if USER command was sufficient. ie no password required

* ftpc: Generically handle permanent negative completion in shard ftpc_cmd logic

* ftpc: Minor addresssing fix

* ftpc: Tweak logic for overriding network debugging output

* FTP: Adds option for setting stack size of various threads in FTPD and FTPC

* netutils/ftpd: Fixes build error setting IPv4 address. sin_addr => sin_addr.s_addr

* netutils/ftpd: Protects against partial write returns by looping in that case

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-11-06 23:41:30 +00:00
Gregory Nutt
a7157d0e3c include/netutils/netlib.h: In order to avoid pre-processing warnings, NETLIB_SOCK_FAMILY must always be assigned a value, even if there is no real meaning value for it. 2017-11-03 09:57:33 -06:00
Gregory Nutt
6b9d23c6aa Correct and standardize some naming used in the previous commits. 2017-10-30 14:16:37 -06:00
Gregory Nutt
dafc88ed25 include/netutils/netlib.h: Broaden socket definitions of previous commit. 2017-10-30 14:11:42 -06:00
Gregory Nutt
51b369589b include/netutils/netlib.h: Add definitions needed when only local Unix domain sockets are supported. 2017-10-30 11:34:59 -06:00
Alan Carvalho de Assis
8aa72a0ad4 apps/examples/obd2: Add OBD2 example application 2017-10-28 13:38:47 -06:00
Alan Carvalho de Assis
a1f1f68b72 apps/canutils/libobd2: Add libobd2 for NuttX 2017-10-28 13:33:30 -06:00
Gregory Nutt
35ec1b9244 Squashed commit of the following:
apps/fsutils/mkfatfs:  New user-space fatfs appears to work fine.
    apps/fsutils/mkfatfs:  Move mkfatfs from the OS to here.  Not fully integrated on the intial commit.
2017-10-20 12:35:19 -06:00
Gregory Nutt
dc5be379a9 Squashed commit of the following:
apps/netutils/netlib:  netlib_ipv[4|6]adaptor() will now use the new routing table interfaces if they are available:  If the desination IP address does not correspond to the network served by any device, then the address of the router that should get us to the correct sub-net is is determined.  Then the network adaptor that can communicate with the that router has the IP address that will returned.

    apps/netutils/netlib:  Add new utilities netlib_ipv[4|6]router() that can be used to determine the IP address of a router that would be used some some destination IP address that is not locally accessible.

    apps/netutils/netlib:  Add helpers for reading the routing table:  netlib_read_ipv4route() and netlib_read_ipv6route()
2017-09-20 10:35:56 -06:00
Gregory Nutt
fb804e3498 netlib_ipv[4|6]adaptor: Add a check to handle the case where the network device configuration changed asynchronously and the second IOCTL returns more data than the allocated buffer. 2017-09-20 06:52:05 -06:00
Gregory Nutt
450624c370 Squashed commit of the following:
netutils/netlib:  Add netlib_ipv6adaptor()
    netutils/netlib:  Add netlib_ipv4adaptor()
2017-09-19 15:21:13 -06:00
Anthony Merlino
c9bd210960 Squashed commit of the following:
Merged in merlin17/apps/i8sak-sock (pull request #108)

    i8sak: Fixes mistake where socket was accidentally bound to endpoint address
    i8sak: Fixes bad logic that bound outbound port to the destination address
    i8sak: Adds sniffer port option and a few other get/set parameters

    Merged in merlin17/apps/i8sak-sock (pull request #106)

    i8sak: Endpoint address is updated whenever 802.15.4 addressing information is updated
    wireless/ieee802154/i8sak: Converts PF_INETX to PF_INET6 and SOCK_IWPAN to SOCK_DGRAM
    wireless/ieee802154/i8sak: Catches case where arguments are included,  but the interface was never set
    wireless/ieee802154/i8sak: Endpoint IP address is now updated whenever 802.15.4 addressing info changes
    wireless/ieee802154/i8sak: Routes all error output to stderr rather than stdout

    Merged in merlin17/apps/i8sak-sock (pull request #104)

    i8sak: Fixes socket version of sniffer logic. socket logic for sniffer now works
    i8sak: Fixes socket version of sniffer logic. socket logic for sniffer now works

    Merged in merlin17/apps/i8sak-sock (pull request #103)

    wireless/ieee802154/i8sak: Adds socket interface support. You can now use both socket or char driver to control the MAC layer

    * wireless/ieee802154: Removes useless wpanlistener folder with build files
    * wireless/ieee802154/libmac: Merges some files together and adds some missing sixlowpan functionality
    * wireless/ieee802154/i8sak: Starts adding support for both character driver and socket
    * Removes unneccessary Kconfig statement
    * ieee802154: Adds function prototypes missed on previous commit
    * wireless/ieee802154/libmac: Fixes sixlowpan_resetreq
    * wireless/ieee802154/libmac: Small fixes and removes enableevents helper
    * apps/ieee802154/i8sak: Moves wpanlistener functionality into i8sak directly
    * apps/ieee802154/i8sak: Major restructuring to allow both char driver and socket control

        Also changes Kconfig options and certain args held previously by i8sak. This is to bring it closer to a real CLI tool rather than a development tool. For instance, no longer does the app change the addressing of the device automatically. This is because you probably don't want i8sak overwriting the extended address after board bring-up.  Additionally, the endpoint logic has been simplified.  There is only ever one active endpoint now.

    * wireless/ieee802154/i8sak: Non-functional clean-up.
    * i8sak: Removes chan and coordinfo commands and introduces generic get/set commands
    * i8sak: startpan now requires PAN ID argument
    * i8sak: Adds ability to set endpoint address using set command
    * i8sak: Minor fixes and cleanup
    * i8sak: Adds addrmode setting to i8sak. exposed via get/set calls
    * i8sak: Clean up poll logic and allow polling address mode to be based off endpoint address setting.
    * i8sak: Trivial
    * i8sak: Adds get/set hook for endpoint address mode (destination address mode)
    * i8sak:  Changes default address modes to short.
    * i8sak: Fixes build erros associated with enabling 6LoWPAN support
    * i8sak: Adds socket version of get/set implementation.  Simplifies some logic as well.
    * wireless/ieee802154/i8sak: Removes unused files
    * wireless/ieee802154/libmac: Fixes sixlowpan_assocresp.  resp was not being copied into the ioctl argument.

    Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-09-15 08:16:47 -06:00
Gregory Nutt
e1b0821eb1 If only PF_IEEE802154 socket family is enabled, then must use SOCK_DGRAM. 2017-08-21 07:14:33 -06:00
Gregory Nutt
41ce937ed0 Changes to netlib and nsh so that you build build with PF_IEEE802154 enabled and 6LoWPAN disabled. 2017-08-20 09:09:47 -06:00
Gregory Nutt
c433e07a27 netutils/netlib: Add a help to decode short addresses. 2017-08-18 12:07:41 -06:00
Gregory Nutt
4ee084ab24 Remove references to obsoleted CONFIG_NETDEV_MULTINIC and CONFIG_NETDEV_MULILINK. 2017-08-08 18:37:00 -06:00
Gregory Nutt
3b8c97747d netutils/netlib: Fix netlib_nodaddrconv() so that its return type is the same as other address conversion functions. NSH: Correct parsing of ifconfig so that you can specify the HW address without specifying the IP address. 2017-08-02 14:30:34 -06:00
Gregory Nutt
c343fc618e apps/netutils/netlib: Add support for PktRadio IOCTL commands. 2017-08-02 12:40:50 -06:00
Anthony Merlino
8494017164 i8sak: Adds reset command to reset the MAC layer 2017-07-02 17:39:09 -04:00
Anthony Merlino
680cb2f1fc ieee802154/i8sak: Adds coordinfo command allowing you to poll various attributes related to the coordinator 2017-06-27 18:39:14 -04:00
Gregory Nutt
28415d662b netutils/telnetd and users of telnetd: Add support for IPv6. 2017-06-27 09:14:13 -06:00
Gregory Nutt
666771f18c system/telnet: Add Telnet Chat deamon and and client from libtelent. 2017-06-26 16:39:39 -06:00
Gregory Nutt
82aad87122 netutils/telnetc: This a port of libtelnet to NuttX. 2017-06-26 14:37:54 -06:00
Anthony Merlino
88e0312897 ieee802154: Changes to support beacon-enabled networks 2017-06-25 20:00:38 -04:00
Anthony Merlino
c2ad1d2d1c Switches IEEE 802.15.4 based code to using byte arrays instead of uint16_t values for short address and PAN ID 2017-06-19 05:56:52 -04:00
Gregory Nutt
033b42789b NSH: Fix some ieee 802.15.4 initialization logic. It should not set the saddr or panid; those cannot be hard-coded but must come from the coordinator. 2017-06-17 10:04:18 -06:00
Anthony Merlino
81231f137f wireless/ieee802154: Rewrites i8sak to be test CLI for IEEE 802.15.4 MAC layer 2017-06-15 12:13:04 -04:00
Anthony Merlino
3376783d10 wireless/ieee802154: Modifies i8 to support running various routines. 2017-06-11 14:17:13 -04:00
Sebastien Lorquet
ea1025ead2 DHCPC: Remove hard-coded interface device. Now passed as a parameter to dhcpc_open(). 2017-05-19 15:31:22 -06:00
Anthony Merlino
6c7e1faa36 wireless/ieee802154: i8sak adds event handling from MAC char driver 2017-05-15 15:14:28 -04:00
Gregory Nutt
c4dd981738 Remove some inappropriate conditional compilation 2017-05-13 16:56:56 -06:00
Gregory Nutt
b08ea68a33 Move prototype from nuttx/include/nuttx/arch.h to apps/include/platform/cxxinitialize.h 2017-05-13 16:53:33 -06:00
Gregory Nutt
13911d9b17 Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they. 2017-05-11 13:40:03 -06:00
Anthony Merlino
a6ef54cf0c wireless/ieee802154: Adds rxonidle attribute helpers 2017-05-08 16:25:16 -04:00
Gregory Nutt
6ec8e56f89 Merge remote-tracking branch 'origin/master' into ieee802154 2017-05-06 11:30:48 -06:00
Gregory Nutt
a0915850b9 wireless/wapi: wpa_driver_wext_associate() now accepts a configuration parameter that can be used to specify the wireless properties. nshlib: NSH now has configuration options to select the wireless properties. It builds the configuration structure and passes this to wpa_driver_wext_associate() so that it will setwork the network as configured. 2017-05-06 11:28:11 -06:00
Gregory Nutt
f12d857f0a Move wireless/wext into wireless/wapi/src. Update some naming for better follow the NuttX coding style. 2017-05-06 09:40:09 -06:00
Anthony Merlino
3b824ed5a2 wireless/ieee802154: Removes libradio to coincide with removal of ioctl with radio
Moves all functionality from libradio to libmac
2017-05-05 11:13:38 -04:00
Gregory Nutt
67fb7183cb Merge remote-tracking branch 'origin/master' into ieee802154 2017-05-04 07:12:26 -06:00
Simon Piriou
33027bd66e wireless/wext: Add drivers_wext from the WPA supplicant; Integrate into NSH 2017-05-02 09:43:48 -06:00
Gregory Nutt
067d705b98 Minor clean of functino prototypes, iwpan help, spelling. 2017-04-21 13:43:01 -06:00
Gregory Nutt
edc3fcd123 wireless/ieee802154/libmac: Add a few MAC IOCTL helpers. 2017-04-21 12:31:25 -06:00
Gregory Nutt
b952ef64ad Trivial, cosmetic 2017-04-21 11:12:58 -06:00
Gregory Nutt
e6e353c065 wireless/ieee802154: Beginning of support for IEEE 802.15.4 MAC library. 2017-04-21 10:58:48 -06:00
Gregory Nutt
575242ae13 wireless/ieee802154: Completes all radio character driver IO command wrappers 2017-04-21 09:36:19 -06:00
Gregory Nutt
9297d4e377 Merge branch 'ieee802154' of bitbucket.org:nuttx/apps into ieee802154 2017-04-21 08:10:47 -06:00
Gregory Nutt
ed7098df37 wireless/ieee802154: Add more IOCTL wrapper functions. 2017-04-21 08:10:13 -06:00
Gregory Nutt
af76613c4c Move apps/include/ieee802154/ieee802154.h to apps/include/wireless/ieee802154. Add file that I forgot to add in last commit. 2017-04-21 07:49:55 -06:00
Gregory Nutt
eb8121b9f7 ieee802154: Move non-radio files from libradio to libutils. Ad ieee802154_getpanid(). 2017-04-21 07:40:41 -06:00