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

Reply via email to