Shop OBEX P1 Docs P2 Docs Learn Events
Propeller Webserver Load Test — Parallax Forums

Propeller Webserver Load Test

Harrison.Harrison. Posts: 484
edited 2007-08-22 07:58 in Propeller 1
I have been working on a self contained Propeller I/O Device and Webserver for probably 7 months now. I started in Dec 2006 but stopped development for a while since I lost interest. I recently started working on it again, mainly so I could make my own web controllable power strip and i/o controller.

I didn't feel the need to post mine on the forums since it seemed like people were not interested. Franz's awesome implementation shows that there is indeed interest, so I am going to post mine here so you guys can take a look and tell me what you think.

Link: pham.harrisonpham.com:88/

I/O Control page login: user / prop

Also, the pages might load slow since I am performing a load test by requesting a page from the Prop every second and pinging it constantly. The I/O control page only works for the first 3 i/o pins. The rest of them cause weird things since I am only processing the first 3 bits.

Harrison

Post Edited (Harrison.) : 8/15/2007 6:28:29 PM GMT

Comments

  • Franz AchatzFranz Achatz Posts: 140
    edited 2007-08-15 18:33
    Harrison. said...
    I have been working on a self contained Propeller I/O Device and Webserver for probably 7 months now. I started in Dec 2006 but stopped development for a while since I lost interest. I recently started working on it again, mainly so I could make my own web controllable power strip and i/o controller.

    I didn't feel the need to post mine on the forums since it seemed like people were not interested. Franz's awesome implementation shows that there is indeed interest, so I am going to post mine here so you guys can take a look and tell me what you think.

    Link: pham.harrisonpham.com:88/

    I/O Control page login: user / prop

    Also, the pages might load slow since I am performing a load test by requesting a page from the Prop every second and pinging it constantly. The I/O control page only works for the first 3 i/o pins. The rest of them cause weird things since I am only processing the first 4 bits.

    Harrison
    Harrison,

    all credits are yours because i am testing my new hardware (easyPROP)·with the awesome Harrison code smile.gif
    Very, very nice made but there are some problems when i blow up the HTML code.
    Harrison, why don't you upload your code to the Propeller Objects?????
    Its allready very usefull !!!!!!!
    Ok, we still have to find the hidden bugs.

    have fun
    Franz
    ·
  • Harrison.Harrison. Posts: 484
    edited 2007-08-15 18:42
    There are definitely problems with the current code base. The reason why you can't use a file larger then about 1.45kbytes is because the stack relies on a single packet tcp response. Therefore the contents must fit inside a standard 1500 byte packet. I want to fix this, but so far everything I need fits within 1.45kbytes so it isn't a top priority.

    I didn't like the object exchange since the code is still under massive revision, and I didn't want to wait for the approval process. Therefore I am going to host this project on google code. Watch for updates at proptcp.googlecode.com . I will be committing current code via subversion so people can track the progress of the project.

    Harrison
  • Franz AchatzFranz Achatz Posts: 140
    edited 2007-08-15 19:18
    Harrison. said...
    There are definitely problems with the current code base. The reason why you can't use a file larger then about 1.45kbytes is because the stack relies on a single packet tcp response. Therefore the contents must fit inside a standard 1500 byte packet. I want to fix this, but so far everything I need fits within 1.45kbytes so it isn't a top priority.

    I didn't like the object exchange since the code is still under massive revision, and I didn't want to wait for the approval process. Therefore I am going to host this project on google code. Watch for updates at proptcp.googlecode.com . I will be committing current code via subversion so people can track the progress of the project.

    Harrison
    if you post it at google nobody will find it back after a month or two.
    But if we make some improvements and testings it would be a better idea if you post it
    at the object exchange later on.
    This is a powerfull tool that we have to promote !!!!!!!
    Therefore my Prop is now online smile.gif
    br
    Franz
  • Harrison.Harrison. Posts: 484
    edited 2007-08-15 21:46
    I may post the core enc28j60 spin driver on the objects exchange and then post a link to the current tcp/stack. It is much better in my opinion to host beta products on a site with code versioning and issue tracking. Especially since something like a tcp/ip stack would probably have lots of issues due to the shear amount of differences in clients and operating systems.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2007-08-15 23:33
    Harrison,

    I am testing my new iCONSOLE pcb which has an enc28j60 on-board. These boards are fairly new and I am working on several prop designs concurrently so I haven't even tackled the ethernet yet. Eventually I will have a working CogForth to implement my ethernet code in after I work around the lack of macro support and other issues with the Spin IDE.

    In the meantime I would be very interested in your code, even if it is not 100%, as long as I can test the ethernet and make sure the hardware's ok.

    Some preliminary info on the iCONSOLE (on my manufacturer's website) which is mainly a testbed at present for the Propeller.
    www.cescom.com.au/new/products/CE-0074/CE0074DS.pdf

    TIA
    *Peter*
  • Harrison.Harrison. Posts: 484
    edited 2007-08-16 00:43
    I am about to release the public source code, but I haven't decided the exact license to use so I will be using the GPL v3 for now. I may release a parallel version that will allow corporate use with no source release under certain terms. But for testing, GPL v3 will probably do fine.

    Harrison

    Post Edited (Harrison.) : 8/16/2007 12:50:32 AM GMT
  • TE44TE44 Posts: 42
    edited 2007-08-16 01:04
    Is that not against the propeller ethos and obex .... hmmm are we not all friends ?
  • RinksCustomsRinksCustoms Posts: 531
    edited 2007-08-16 02:04
    It's friggin awesome!!! it's also that the next gen "hackers" will spawn from these forums, lol (my fav movie!)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    E3 = Thought

    http://folding.stanford.edu/·- Donating some CPU/GPU downtime just might lead to a cure for cancer! My team stats.
  • Rob7Rob7 Posts: 275
    edited 2007-08-16 02:48
    Franz,
    Can I purchase your new board at this time?
    You can send me a private message or e-mail.

    Rob7
  • Harrison.Harrison. Posts: 484
    edited 2007-08-16 05:44
    TE44 said...
    Is that not against the propeller ethos and obex .... hmmm are we not all friends ?

    I understand your concern about licensed code. The main thing that scares me is the fact that a lot of propeller code do not have any usage licenses. This could lead to problems for both the user and the author of the code. Therefore I am seeking a good clean license for the base code. I realize that the GPL is a bit too restrictive, but it seemed like a safe license to use for the early release code, especially since the GPL does not lock the author from relicensing the code.

    I am now looking at the MPL (Mozilla Public License). I believe this license only requires changes to the original source be released, any other code can be closed source, GPL, or whatever. Legal speak is confusing so I am still looking for a good explanation on licenses. If anyone has any preferences, feel free to post them.

    Harrison
  • MightorMightor Posts: 338
    edited 2007-08-16 06:32
    Harrison. said...
    I am now looking at the MPL (Mozilla Public License). I believe this license only requires changes to the original source be released, any other code can be closed source, GPL, or whatever. Legal speak is confusing so I am still looking for a good explanation on licenses. If anyone has any preferences, feel free to post them.

    Harrison
    Here's a pretty comprehensive list: http://en.wikipedia.org/wiki/Comparison_of_free_software_licences. Releasing your code under GPL will probably lead to others having to develop their own stack due to it being an "infective" license, ie, any code based on it would need to be opensourced. Not everyone is willing or allowed to do this (for legal or IP reasons).

    Gr,
    Mightor

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    | Any sufficiently advanced technology is indistinguishable from magic.
  • QuattroRS4QuattroRS4 Posts: 916
    edited 2007-08-16 08:18
    IP for IP ........(TCP/IP)

    Harrison,
    I used a version based on your code for my prop based test application over a month ago ......
    http://forums.parallax.com/showthread.php?p=660749 - It works .As you pointed out it still needs some work - time I don't have right now - due to committments (would love to dedicate more time to it).

    What I was wondering though - If you plan to license this - how would it pan out with Microchip especially as it is based on the ENC28J60 directives and methods ? Not quite too sure if it would be entirely possible to license this effectively

    - What I was hoping to do eventually is have a closer look at porting the example Microchip PIC C versions to Propeller C when ImageCraft have a version of Propeller C available ....

    For all:
    Loads of ongoing ENC28J60 projects on the go at the moment .... still nothing rock solid IMO .

    www.electronicfr.com/enc28j60.html

    www.mil.ufl.edu/~chrisarnold/components/microcontrollerBoard/AVR/avrlib/docs/html/group__enc28j60.html

    Data Sheet:
    shop.tuxgraphics.org/snippets/enc28j60.pdf?id=274f58

    Errata:
    shop.tuxgraphics.org/snippets/enc28j60-R4_errata.pdf?id=2322c2

    Example Stack Downloads and data (PIC C based):
    www.ljcv.net/projects/picdem2/index.html



    While these are not Propeller based they give an insight to the methods ....


    Regards,
    John

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    'Necessity is the mother of invention'

    Post Edited (QuattroRS4) : 8/16/2007 8:35:05 AM GMT
  • AleAle Posts: 2,363
    edited 2007-08-16 10:16
    The only 3 softs I ever released, I released them under the GPL v2 (Lemmings fro the TI-92/89, MView and pPropellerSim). I know that some people think (with or without reason) that this license is "viral". I program as a hobby, and for that very reason, I do not want businesses profiting from my code. For hobbyists is more or less acceptable. For businesses is not, but they will profit, so they should pay development. If they will not profit, then GPL is ok smile.gif.
  • Harrison.Harrison. Posts: 484
    edited 2007-08-16 14:13
    The biggest problem I see with the Microchip TCP/IP stack is that it can only be legally used with the Microchip PIC microcontroller line. Therefore I used a different driver API and did not use Microchip's code as a reference. Actually, most of my code is based off of primarily open domain source code with no licenses.

    My mindset is that there are always a few unethical companies that will try to steal open domain source code. Therefore it is probably best to release code under some sort of license, even if it is just to protect the copyright and use of the name.
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-08-16 22:44
    Take a look at the Academic Free License http://www.opensource.org/licenses/afl-3.0.php
    It is a permissive license which requires attribution to the original author but otherwise allows the user to use or modify the code, and even allows the user to change license as long as the new liscense does not contradict with the terms of AFL.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.
  • stravagstravag Posts: 4
    edited 2007-08-20 08:33
    hello harrison

    me and my friend are working on a students project, building an rfid/zigbee reader with the propeller. we're also planning to hook on the microchip enc28j60. you're tcp/ip stack implementation sounds very promising. we were wondering if you have any additional documentation available on your work.
  • Harrison.Harrison. Posts: 484
    edited 2007-08-20 21:07
    Unfortunately, I did not document anything while I was working on this. All the documentation I have is in that zip archive on the google code page.
  • stravagstravag Posts: 4
    edited 2007-08-22 07:58
    hi harrison

    no problem. we decided to use a simple serail connection to communicate with the host. so we don't have to to bother about tcp/ip stack. we anyway have enough stuff to do in our project and little time, so we'll keep it simple.
Sign In or Register to comment.