Comments (3)
Hello, Jérôme:
Thanks for your note, and your kind words. I will try to answer your questions.
-
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 -
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.
-
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.
Thanks for your fast answer, here is what I found:
- 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.
- The "Pin Variables" section sounds like a good candidate. Is there any way to submit pull request for the wiki documentation?
- 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.
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)
- Talk to arduino without >command HOT 6
- run bitlash code stored in flash HOT 5
- eeprom overflow error with bitlash run command for a user defined function HOT 3
- Blank user function causes following functions not to appear HOT 2
- Port to spark-core or esp-8266 HOT 7
- Not working on new Arduino.. HOT 9
- Can't save user functions to startup? HOT 27
- Deleted-cant add user functions to memory
- Cant add more then 9 commands inside startup functions
- No support for bypass serial
- Serial flash support? HOT 2
- No need to wait after Wire.requestFrom().
- LED was very dim when using bitlash HOT 1
- bitlash demo - blink does not blink HOT 5
- Problem of output buffer when using bitlash
- ========^ unexpected number error for functions HOT 5
- Run code from eeprom HOT 2
- Make SdCard example code use IDE's inbuilt SD API
- Maintained fork?
- update library for support lastet arduino ide version
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bitlash.