{"id":16032302,"url":"https://github.com/virtuald/webdma","last_synced_at":"2025-10-08T08:31:22.711Z","repository":{"id":28750124,"uuid":"32272137","full_name":"virtuald/webdma","owner":"virtuald","description":"Allows changing of program variables via a portable embedded webserver","archived":true,"fork":false,"pushed_at":"2015-03-15T17:04:15.000Z","size":1240,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-21T15:43:25.300Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/virtuald.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-15T16:53:33.000Z","updated_at":"2024-12-24T17:51:45.000Z","dependencies_parsed_at":"2022-09-04T17:31:44.252Z","dependency_job_id":null,"html_url":"https://github.com/virtuald/webdma","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/virtuald/webdma","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virtuald%2Fwebdma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virtuald%2Fwebdma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virtuald%2Fwebdma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virtuald%2Fwebdma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/virtuald","download_url":"https://codeload.github.com/virtuald/webdma/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virtuald%2Fwebdma/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278913329,"owners_count":26067634,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-08T21:21:32.388Z","updated_at":"2025-10-08T08:31:22.369Z","avatar_url":"https://github.com/virtuald.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"    WebDMA\r\n    Copyright (C) 2009-2010 Dustin Spicuzza \u003cdustin@virtualroadside.com\u003e\r\n\r\n    This program is free software: you can redistribute it and/or modify\r\n    it under the terms of the GNU General Public License v3 as published by\r\n    the Free Software Foundation.\r\n\r\n    This program is distributed in the hope that it will be useful,\r\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n    GNU General Public License for more details.\r\n\r\n    You should have received a copy of the GNU General Public License\r\n    along with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\r\n\t\r\n---------------------------------------------------------------------------\r\n\r\n\tAnything not specifically mentioned below or noted in the file is \r\n\treleased under the terms of the GNU General Public License, version 3. \r\n\r\n\t--\r\n\t\r\n\tPortions of the Boost library are distributed with WebDMA. These are \r\n\treleased under the Boost software license, see boost/LICENSE_1_0.txt\r\n\t\r\n\thttp://www.boost.org/\r\n\t\r\n\t--\r\n\t\r\n\tAdditionally, the HTTP server used by WebDMA is based on the example \r\n\tHTTP server included with the Boost ASIO library. This code (located\r\n\tin WebDMA/server/ ) is licensed\tunder the Boost software license, \r\n\tfound in WebDMA/server/LICENSE_1_0.txt\r\n\t\r\n\thttp://www.boost.org/doc/libs/1_38_0/doc/html/boost_asio.html\r\n\t\r\n\t--\r\n\t\r\n\tjQuery is the core of the HTML interface that WebDMA uses. It is \r\n\treleased under the MIT or GPL license, depending on your preference.\r\n\t\r\n\thttp://www.jquery.com/\r\n\t\r\n\t--\r\n\t\r\n\tFlot 0.5 is included (but not used yet), and is released under the \r\n\tMIT license. \r\n\t\r\n\thttp://code.google.com/p/flot/\r\n\r\n---------------------------------------------------------------------------\r\n\r\nWebDMA was created to allow our FIRST Robotics team to tune our robot \r\nin an easy to use and intuitive way via any modern web browser.\r\n\r\nUsing C++ operator overloading, WebDMA provides proxy objects that your \r\napplication can use as normal variables which can be manipulated or \r\ndisplayed by your application via a configurable jQuery/javascript \r\npowered Web 2.0 interface hosted by an lightweight embedded web server.\r\n\r\nDespite that WebDMA was specifically created for use in FIRST Robotics\r\non the NI-cRio/vxWorks platform, it uses the Boost ASIO portable\r\nnetworking library and Boost Thread portable threads library and is\r\nusable on any platform supported by these Boost libraries (tested on\r\nBoost 1.38, requires a patch for vxWorks). \r\n\r\n\r\nBuild Requirements/Instructions\r\n-------------------------------\r\n\r\nAll platforms must have the Boost header-only libraries installed. In\r\naddition, the Boost Thread and Boost System libraries must be installed.\r\n\r\nAny platform and compiler supported by Boost and Boost ASIO should \r\nprobably work with WebDMA just fine.\r\n\r\n\r\nFIRST Robotics (Wind River vxWorks):\n\t\t\n\tIf you just want to use WebDMA, I recommend just using the WebDMA\n\tFRC binary installer (available on the WebDMA download site). \n\tThis will setup your environment properly for WebDMA, and doesn't \n\trequire installation of boost header files. \r\n\r\n\t- You need the FRC Wind River 3.0 development environment, and your\r\n\trobot must be flashed with the C++ cRio image\r\n\t\r\n\t- Boost 1.38 headers must be installed on your build machine somewhere,\r\n\tand the header files must be patched with the included patch. The source\r\n\tcode for the necessary libraries is distributed with WebDMA. \r\n\tSee instructions below for installation thoughts. \r\n\r\n\t- A program that can apply patches. I would recommend GNU patch, see\r\n\thttp://gnuwin32.sourceforge.net/packages/patch.htm\n\n\t\r\n\t\r\nWindows:\r\n\r\n\t- I recommend that you use the BoostPro installer to install boost, its\r\n\ta bit easier. http://www.boostpro.com/download/\r\n\t\r\n\t- If you do not install or build all of the boost libraries, then you\r\n\tmust modify boost/config/user.hpp with the following defines:\r\n\t\r\n\t\t#define BOOST_DATE_TIME_NO_LIB\r\n\t\t#define BOOST_REGEX_NO_LIB\n\t\t\n\t- Open WebDMA.sln to build the WebDMA library and the associated demo\n\tapplication\r\n\t\t\r\nOther platforms:\r\n\n\t- The autotools build files create a library you can link to using \n\tlibtool. \n\t\n\t./configure\n\tmake\n\tmake install\n\r\n\r\nHow to use\r\n----------\r\n\nQuick start:\n\n- Add #include \u003cWebDMA/WebDMA.h\u003e to your source file.\n- Create a bunch of proxy objects (see WebDMA.h for the appropriate functions)\n- Call WebDMA::Enable();\n\r\nSee demo/main.cpp for an example application that creates a bunch of proxy objects\r\nand launches a webserver that you can access by going to http://localhost:8080\r\nin your favorite web browser. \r\n\r\nThe webserver defaults to port 8080, but you can select the port and the interface\r\nthat it listens on in the WebDMA constructor. \n\r\n\r\nWeb Interface\r\n-------------\r\n\r\nSomething that is rather important to keep in mind is that however you use\r\nthe application, it requires a directory of files that make up the web \r\ninterface, as these files are currently *not* internal to the library. An\nadvantage of this is that you can modify the interface to be whatever you \nwant it to look like. \r\n\r\n\r\nComments/Bugs?\r\n--------------\r\n\r\nThe project's homepage is http://code.google.com/p/webdma/ , and you can\r\naccess a wiki, SVN, and bug trackers there. \r\n\r\nPatches for bugs and improvements are welcomed. There is a ton of potential\r\nin the javascript interface related to data aquisition (this is why the Flot\r\nlibrary is included), it just needs to be done at some point.  \r\n\r\nDustin Spicuzza\r\ndustin@virtualroadside.com\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvirtuald%2Fwebdma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvirtuald%2Fwebdma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvirtuald%2Fwebdma/lists"}