Fixed/Improved: please go into dudac directory and execute to update your local copy:
$ git pull i have submitted a patch which prints the details to STDOUT: http://goo.gl/lPLGP thanks On Tue, Sep 18, 2012 at 3:26 PM, Eduardo Silva <[email protected]> wrote: > On Tue, Sep 18, 2012 at 3:04 PM, Paul Read <[email protected]> wrote: >> I simply added this line: >> response->printf(dr, "Count params: %d",count(dr)); >> >> But it did not complain until runtime that I had missed the 'param->' >> >> I assume that prior to 'Running the HTTP Server' the code is compiled and >> therefore I should see the error in the output from dudac straight away >> rather than having to run the browser to force the error. >> > > The problem is that is a warning: > > main.c:10:5: warning: implicit declaration of function ‘count’ > [-Wimplicit-function-declaration] > > i need to think about how to trap those warnings and print them to > STDOUT at least before to run the service.. > > >> Paul >> >> >> >> On 18 September 2012 21:55, Eduardo Silva <[email protected]> wrote: >>> >>> On Tue, Sep 18, 2012 at 2:53 PM, Paul Read <[email protected]> >>> wrote: >>> > When is the code compiled? I asked as I edited the main.c and restarted >>> > the >>> > server via the same command line as before. >>> > >>> > Instead of the error being detected initially it did not fail until I >>> > refreshed the browser. So it appeared as a runtime error to me rather >>> > than >>> > a compile time error >>> > >>> > Maybe I am missing something here! >>> >>> Every time you run ./dudac -w /path/to/webservice, the source code is >>> compiled on fly. If you error is located on runtime in a callback you >>> will not realize it until you point to the callback through the >>> browser. >>> >>> Whats the specific error ? maybe i can improve the output for that >>> exception... >>> >>> > >>> > Paul >>> > >>> > >>> > >>> > On 18 September 2012 21:41, Eduardo Silva <[email protected]> wrote: >>> >> >>> >> On Tue, Sep 18, 2012 at 2:37 PM, Paul Read <[email protected]> >>> >> wrote: >>> >> > Ah I see, was some how expecting to have to compile the code to >>> >> > binary >>> >> > before launching dudac to host it. Did not think dudac would do it >>> >> > all >>> >> > for >>> >> > me - very useful! >>> >> > >>> >> > So in the end I did this: >>> >> > >>> >> > ./dudac -f -w /home/pi/duda-examples/001_hello_world >>> >> > >>> >> > and can happily see Hello World in my web browser via >>> >> > http://192.168.1.39:2001/hello/ >>> >> > >>> >> >>> >> Good :) >>> >> >>> >> > Cheers! >>> >> > Paul - noobie hat definitely still in situation >>> >> > >>> >> > >>> >> > >>> >> > On 18 September 2012 21:30, Eduardo Silva <[email protected]> wrote: >>> >> >> >>> >> >> On Tue, Sep 18, 2012 at 2:28 PM, Paul Read <[email protected]> >>> >> >> wrote: >>> >> >> > How do I compile the 001_helloworld? >>> >> >> >>> >> >> check the step #3 from the previous email, >>> >> >> >>> >> >> best, >>> >> >> >>> >> >> > Paul >>> >> >> > >>> >> >> > On 18 September 2012 17:47, Paul Read <[email protected]> >>> >> >> > wrote: >>> >> >> >> >>> >> >> >> Brilliant! Hope to try it out in next couple of days >>> >> >> >> >>> >> >> >> Paul >>> >> >> >> >>> >> >> >> >>> >> >> >> On 18 September 2012 06:20, Eduardo Silva <[email protected]> >>> >> >> >> wrote: >>> >> >> >>> >>> >> >> >>> As promised, here is the info that you need to start playing >>> >> >> >>> with >>> >> >> >>> Duda: >>> >> >> >>> >>> >> >> >>> 1) Clone DudaC (Duda Client Manager): >>> >> >> >>> >>> >> >> >>> # git clone git://git.monkey-project.com/dudac >>> >> >> >>> >>> >> >> >>> 2) Clone Duda Examples >>> >> >> >>> >>> >> >> >>> # git clone git://git.monkey-project.com/duda-examples >>> >> >> >>> >>> >> >> >>> 3) Go into DudaC directory and start the Hello World example: >>> >> >> >>> >>> >> >> >>> # cd duda >>> >> >> >>> # ./dudac -g >>> >> >> >>> # ./dudac -f -w /path/to/duda-examples/001_hello_world >>> >> >> >>> >>> >> >> >>> 4) Now open your browser at: http://localhost:2001/hello/ >>> >> >> >>> >>> >> >> >>> Comments: >>> >> >> >>> ------------------ >>> >> >> >>> - When you run 'dudac -g', it will download Monkey and Duda >>> >> >> >>> sources >>> >> >> >>> from their respective GIT repositories and set the development >>> >> >> >>> environment for you. You only need to run that command once >>> >> >> >>> unless >>> >> >> >>> you >>> >> >> >>> want to update your local copies if some patches were applied to >>> >> >> >>> the >>> >> >> >>> master repositories >>> >> >> >>> - The '-f' flag means 'fast-run', so it will not try to build >>> >> >> >>> Monkey >>> >> >> >>> again for the web service, instead it will just perform the >>> >> >> >>> setup >>> >> >> >>> - The '-w' flag specifies where the web service sources are >>> >> >> >>> located, >>> >> >> >>> it will check the code, compile, configure the web server and >>> >> >> >>> launch >>> >> >> >>> the web service. >>> >> >> >>> >>> >> >> >>> The source code of hello world looks like this: >>> >> >> >>> >>> >> >> >>> #include "webservice.h" >>> >> >> >>> >>> >> >> >>> DUDA_REGISTER("Duda I/O Examples", "Hello World"); >>> >> >> >>> >>> >> >> >>> void cb_hello(duda_request_t *dr) >>> >> >> >>> { >>> >> >> >>> response->http_status(dr, 200); >>> >> >> >>> response->printf(dr, "Hello World!"); >>> >> >> >>> response->end(dr, NULL); >>> >> >> >>> } >>> >> >> >>> >>> >> >> >>> int duda_main() >>> >> >> >>> { >>> >> >> >>> map->static_add("/", "cb_hello"); >>> >> >> >>> return 0; >>> >> >> >>> } >>> >> >> >>> >>> >> >> >>> I am still working in some formal documentation, but you can see >>> >> >> >>> a >>> >> >> >>> draft of the API available here: >>> >> >> >>> >>> >> >> >>> http://duda.io/api/response.html >>> >> >> >>> >>> >> >> >>> Feel free to write to this mailing list with your questions, >>> >> >> >>> >>> >> >> >>> cheers, >>> >> >> >>> >>> >> >> >>> On Fri, Sep 14, 2012 at 2:41 PM, Eduardo Silva >>> >> >> >>> <[email protected]> >>> >> >> >>> wrote: >>> >> >> >>> > Hi Paul, >>> >> >> >>> > >>> >> >> >>> > On Fri, Sep 14, 2012 at 2:09 PM, Paul Read >>> >> >> >>> > <[email protected]> >>> >> >> >>> > wrote: >>> >> >> >>> >> Hi >>> >> >> >>> >> >>> >> >> >>> >> Brand new here so apologies for some daft questions. Firstly >>> >> >> >>> >> very >>> >> >> >>> >> impressed >>> >> >> >>> >> how quick it was to get Monkey up and running on my Raspberry >>> >> >> >>> >> Pi >>> >> >> >>> >> :-) >>> >> >> >>> >> >>> >> >> >>> > >>> >> >> >>> > we are glad you like it :) >>> >> >> >>> > >>> >> >> >>> >> I want to be able to control the GPIO of the Pi via a >>> >> >> >>> >> webserver. >>> >> >> >>> >> I >>> >> >> >>> >> am >>> >> >> >>> >> using >>> >> >> >>> >> WiringPi (https://projects.drogon.net/raspberry-pi/wiringpi/) >>> >> >> >>> >> to >>> >> >> >>> >> control the >>> >> >> >>> >> GPIO which also works a treat. Now I want to join Monkey and >>> >> >> >>> >> WiringPi >>> >> >> >>> >> together. So I can send a GET command to the RPi which then >>> >> >> >>> >> changes >>> >> >> >>> >> the >>> >> >> >>> >> GPIO (at this stage I don't need the RPi to do any other HTTP >>> >> >> >>> >> stuff). >>> >> >> >>> >> >>> >> >> >>> >> Very happy at writing C/C++ but am brand new to: >>> >> >> >>> >> >>> >> >> >>> >> * Linux >>> >> >> >>> >> * RaspberryPi >>> >> >> >>> >> * gcc/cc >>> >> >> >>> >> * Monkey-Project >>> >> >> >>> >> >>> >> >> >>> >> So my question is, how best should I do this? Potential >>> >> >> >>> >> options >>> >> >> >>> >> I >>> >> >> >>> >> believe >>> >> >> >>> >> are: >>> >> >> >>> >> >>> >> >> >>> >> 1. Compile my WiringPi code into Monkey-Project somewhere >>> >> >> >>> >> somehow >>> >> >> >>> >> 2. Create my WiringPi code as a CGI exe and make Monkey call >>> >> >> >>> >> it >>> >> >> >>> >> somehow >>> >> >> >>> >> 3. Create my WiringPi code as a FastCGI exe and make Monkey >>> >> >> >>> >> call >>> >> >> >>> >> it >>> >> >> >>> >> somehow >>> >> >> >>> >> 4. Plugins? >>> >> >> >>> >> 5. Another undiscovered way... >>> >> >> >>> >> >>> >> >> >>> > >>> >> >> >>> > I understand perfectly your requirements. The answer to your >>> >> >> >>> > main >>> >> >> >>> > question is "Duda". >>> >> >> >>> > >>> >> >> >>> > Duda[0] is a C framework which aims to expose a friendly C API >>> >> >> >>> > to >>> >> >> >>> > create web services on top of Monkey. So what you really need >>> >> >> >>> > is >>> >> >> >>> > to >>> >> >> >>> > map specific URL address as internal commands, so your C web >>> >> >> >>> > service >>> >> >> >>> > links to the WiringPi library and you use it from there. >>> >> >> >>> > >>> >> >> >>> > Duda is under (heavy) development and i am almost ready to do >>> >> >> >>> > the >>> >> >> >>> > first release. Also i am planning to write some basic How To's >>> >> >> >>> > for >>> >> >> >>> > this weekend so you could start right away with your >>> >> >> >>> > implementation, >>> >> >> >>> > give me a 2-3 days to have something and then you send me some >>> >> >> >>> > feedback, sounds a good deal ? :) >>> >> >> >>> > >>> >> >> >>> > [0] http://duda.io >>> >> >> >>> > >>> >> >> >>> > best, >>> >> >> >>> > >>> >> >> >>> > >>> >> >> >>> >> >>> >> >> >>> >> Again apologies if daft questions >>> >> >> >>> >> Thanks >>> >> >> >>> >> -- >>> >> >> >>> >> Paul >>> >> >> >>> >> >>> >> >> >>> >> http://www.readiescards.co.uk >>> >> >> >>> >> >>> >> >> >>> >> >>> >> >> >>> >> _______________________________________________ >>> >> >> >>> >> Monkey mailing list >>> >> >> >>> >> [email protected] >>> >> >> >>> >> http://lists.monkey-project.com/listinfo/monkey >>> >> >> >>> >> >>> >> >> >>> > >>> >> >> >>> > >>> >> >> >>> > >>> >> >> >>> > -- >>> >> >> >>> > Eduardo Silva >>> >> >> >>> > http://edsiper.linuxchile.cl >>> >> >> >>> > http://www.monkey-project.com >>> >> >> >>> >>> >> >> >>> >>> >> >> >>> >>> >> >> >>> -- >>> >> >> >>> Eduardo Silva >>> >> >> >>> http://edsiper.linuxchile.cl >>> >> >> >>> http://www.monkey-project.com >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> -- >>> >> >> >> Paul >>> >> >> >> >>> >> >> >> http://www.readiescards.co.uk >>> >> >> >> >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > -- >>> >> >> > Paul >>> >> >> > >>> >> >> > http://www.readiescards.co.uk >>> >> >> > >>> >> >> > >>> >> >> > _______________________________________________ >>> >> >> > Monkey mailing list >>> >> >> > [email protected] >>> >> >> > http://lists.monkey-project.com/listinfo/monkey >>> >> >> > >>> >> >> >>> >> >> >>> >> >> >>> >> >> -- >>> >> >> Eduardo Silva >>> >> >> http://edsiper.linuxchile.cl >>> >> >> http://www.monkey-project.com >>> >> > >>> >> > >>> >> > >>> >> > >>> >> > -- >>> >> > Paul >>> >> > >>> >> > http://www.readiescards.co.uk >>> >> > >>> >> >>> >> >>> >> >>> >> -- >>> >> Eduardo Silva >>> >> http://edsiper.linuxchile.cl >>> >> http://www.monkey-project.com >>> > >>> > >>> > >>> > >>> > -- >>> > Paul >>> > >>> > http://www.readiescards.co.uk >>> > >>> >>> >>> >>> -- >>> Eduardo Silva >>> http://edsiper.linuxchile.cl >>> http://www.monkey-project.com >> >> >> >> >> -- >> Paul >> >> http://www.readiescards.co.uk >> > > > > -- > Eduardo Silva > http://edsiper.linuxchile.cl > http://www.monkey-project.com -- Eduardo Silva http://edsiper.linuxchile.cl http://www.monkey-project.com _______________________________________________ Monkey mailing list [email protected] http://lists.monkey-project.com/listinfo/monkey
