Go Down

Topic: Unos 0.0.1 - A Simple OS for the Arduino (Read 22234 times) previous topic - next topic

AWOL

rockwallaby, the 'ls' command requires a storage device. What kind of storage device should I support?
EEPROM

goodinventor

I added a few data management procedures. The program, Unos 0.0.4, is attached. Any ideas or problems with the program should be reported here.

AWOL

Quote
Any ideas or problems with the program should be reported here.
Why?
You haven't taken any notice so far.

goodinventor

I have. I implemented what I could, but there are extreme memory constraints. I tested it on my Arduino Uno and it does fine.

AWOL

Quote
but there are extreme memory constraints
Have another look at reply #23

goodinventor

What do you mean by "Hmmm..."? What is the problem with the code? Anyways, attached is the guide to the system.

AWOL

You say you're trying to save precious RAM, yet the pin array is twice as big as it should be (and it shouldn't even be in RAM), and you waste more RAM storing fixed command strings in it.

goodinventor

But I want to be able to control all the outputs. How should I initialize my arrays so that they use as little RAM as possible?

AWOL

#38
Jan 07, 2015, 10:54 pm Last Edit: Jan 08, 2015, 11:18 am by AWOL
Quote
How should I initialize my arrays so that they use as little RAM as possible?
By not putting them in RAM at all.
I can't see the point - you're not likely to want to change the commands or the pin numbers, so why are they in RAM?

goodinventor

Maybe instead of even using an array for the pins, I can just set them all outright. That will save a lot of RAM.

Robin2

#40
Jan 08, 2015, 11:12 am Last Edit: Jan 08, 2015, 11:16 am by Robin2
@goodinventor,
Have you considered what sort of user would benefit from your program and what would they use it to do?

When you have a clear concept of your "market" you will have a basis for designing and enhancing your code.

It seems to me that it suffers on the one hand from not being useful to people who are already competent with an Arduino and on the other hand requiring too much knowledge for people who are complete beginners - most of whom have will have no idea what an Operating System is or even what a Linux terminal is.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

goodinventor

Robin2, I see what you mean. I am designing the program for users who wish to do tasks that are tedious to program, such as opening files. It is designed to make control of the Arduino easy for newcomers and skilled veterans  alike.

rockwallaby

#42
Jan 08, 2015, 03:10 pm Last Edit: Jan 08, 2015, 03:12 pm by rockwallaby
I have never found opening a file tedious, more tedious is what I do with it. That is where the work is.

goodinvertor, have you played yet with small linux based boards such as the well known Raspberry Pi or Beagleboard or CubieBoards?

Generally, 'sane' users who want any form of OS based functionality, will use such systems for these precise reasons and would not think to implement or carry over those concepts to what is, a basic micro-controller with, dare we say it again, limited resources such as program space and with RAM being another precious resource.

It is far better to let the user become 'weary' with the tedium of opening the odd file in their Arduino code if they so please, so they can actually get on with the very purpose and reason of their code.

The many libraries that have been created for Arduino are really generally quite good and do the intended job, and will do that job in a way that is well understood by many experienced users on the forum so as to assist the new comers to Arduino.

Really, the Arduino has now been around for quite a long time now and it really couldn't get much simpler for new comers.

For children learning the very basics, there was or is 'Scratch', used in many schools, maybe look into it to learn more of what is already there. There is another, similar to Scratch that I saw at a FabLab conference in Amsterdam, I don't recall the name of it now, but, again it was made to be easy for people who do not understand programming.

How does what you are doing make it any easier or simpler?
How does it take away the tedium?
Maybe all it does, is take away the fun.
Something to ponder on.
____
Paul
Paul - VK7KPA

goodinventor

In this present day and age, many users may not like the look and feel of UNIX. Right now, what I've got is not a whole lot user friendly, but I do plan to improve it as time goes on. So far I only know that it works as a proof-of-concept. I am trying with each release to make it more rich and user-friendly.

goodinventor

Here is Unos 0.0.5. I added more data management procedures involving opening files and handling directories. Attached is the program.

Go Up