Git Product home page Git Product logo

Comments (3)

billroy avatar billroy commented on September 14, 2024

Hello, Jérôme:

Thanks for your note, and your kind words. I will try to answer your questions.

  1. I believe the function size limit you are seeing may be caused by the limit on the maximum length of an input line. But I am puzzled why you are running into problems at 60 characters, since the limit is 120. I will test this later in the morning here. Anyway, you can adjust the size of this buffer, at the cost of available RAM of course, at around line 480 in src/bitlash.h:

    // String value buffer size
    #define STRVALSIZE 120 <-- you can increase this to increase the max function size

  2. Doc improvement is noted and I will include in next revision. If there is a particular place you would suggest the enhancement should live I'd appreciate your thoughts.

  3. Storing functions in RAM would be possible with some coding work, in fact for the Arduino Due which has no EEPROM I have a little simulated EEPROM that lives in RAM. Interested in a project? I take pull requests ;)

Storing functions in flash memory on the AVR devices is difficult since apparently it is quite challenging to write the AVR flash at runtime (as opposed to from the boot loader), so I don't expect that to happen unless someone coughs up a flash-writing library (which I would be happy to discover, if it exists.)

I hope that is helpful and I would be happy to take followup questions.

Kind regards,

-br

On Aug 31, 2013, at 8:04 PM, Jérôme Poulin wrote:

1 issue, 1 improvement, 1 question and 1 happy user!

I'm very happy with bitlash, this provides me a shell for Arduino and expands the possibilities by making the Arduino almost a dynamic device which can be re-programmed on the field. The snooze based semi-multitasking is awesome!

1 issue:
I just subscribed to the project and noticed it is alive, which is quite good :) I noticed that the functions are size limited but it seems like a bug because it is neither documented nor an error message is issued when the limit is encountered. I currently own an Arduino compatible SainSmart ATMEGA2560 with W5100 Ethernet Shield. I uploaded the bitlash Web Server example and started using it. If I try to input a function longuer or equal to 60 characters, the function appears as function name {} after issuing ls. Nothing else I could notice, it always does that, whatever the function name is. Shorter functions work perfectly, longuer won't work (do nothing) and appear in "peep" as empty too.

1 improvement:
Maybe it would be nice to indicate in the documentation that to use analog pins in functions they should use higher numbered pin numbers, that took me a while to figure out by myself. For example in for loops and specially in pinmode!!

1 question:
Is it possible to store function in RAM actually? Maybe with a prefix? Or maybe in the main flash in the future?


Reply to this email directly or view it on GitHub.

from bitlash.

ticpu avatar ticpu commented on September 14, 2024

Thanks for your fast answer, here is what I found:

  1. The web server sketch effectively has an input limit which is set to 80 by default, which corresponds to the added "function capmvolt " bytes and truncate the rest of the function. I should write something so I get for example "unexpected end of input" when full buffer size is exceeded.
  2. The "Pin Variables" section sounds like a good candidate. Is there any way to submit pull request for the wiki documentation?
  3. Yeah, I could look at the code for the other Arduino and make it possible to use RAM functions be prefixing with an underscore like private functions.

from bitlash.

billroy avatar billroy commented on September 14, 2024

Thanks for your comments. Re: pull requests for the wiki, it looks like this is not supported (http://stackoverflow.com/questions/10642928/how-to-pull-request-a-wiki-page-on-github) so I guess you can paste amended text here and I will move it to the wiki. Cheers, -br

from bitlash.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.