Unos 0.0.1 - A Simple OS for the Arduino

Robin2:
And I have to add my opinion that a key strength of the Arduino is that it does NOT have an operating system to get in the way of managing attached hardware.

Amen.

I stayed in 'lurk' mode where I was waiting for Unos release 0.0.3 (in a new thread of course) which would hopefully have 'ls' and 'df' command. :stuck_out_tongue:

rockwallaby, I am sure you have been waiting for such commands. I'll probably try to cut down on memory in the next release, then after that I'll start using interrupt handlers and memory-related commands. This program is not a library. It is designed to make simple tasks possible to execute without direct programming.

It is designed to make simple tasks possible to execute without direct programming.

Have you looked at Firmata?
No real sense in reinventing the wheel.

Yes, I have. It is rather limited, though.

goodinventor:
Yes, I have. It is rather limited, though.

SimpleDigitalFirmata sketch 4830 bytes (which allows the user to set their own pinModes correctly) vs. Unos 0.0.2 5230 bytes.

Firmata was designed to interface with programs on the computer. My program is not designed to do that at all. As a matter of fact, in a future release I plan to interface with a touchscreen shield instead of serial.

rockwallaby:
I stayed in 'lurk' mode where I was waiting for Unos release 0.0.3 (in a new thread of course) which would hopefully have 'ls' and 'df' command. :stuck_out_tongue:

I find dmesg very useful.

PLEASE don't encourage extra Threads

...R

I improved on use of RAM. Attached is the code. The commands are the same as in Unos 0.0.2.

Unos_0_0_3.ino (4.5 KB)

char *command[NUMBER_OF_COMMANDS] = {"shutdown", "restart", "print", "pinwrite"}; // << enter your commands here<< These are # 0,1,2,3 & 4
int Pin[12] = {2,3,4,5,6,7,8,9,10,11,12,13};

I improved on use of RAM.

Hmmm.

I find dmesg very useful.

I'm looking forward to "lsusb".

I improved on use of RAM. Attached is the code. The commands are the same as in Unos 0.0.2.

As we say in spanish: "este niño no tiene abuela" (The boy hasn't any grandmother -he has to give applauses to himself)

:wink:

Robin2 wrote:

PLEASE don't encourage extra Threads

I hope my sense of dryness did not elude thee. :-[

The Arduino Uno doesn't have a host USB port, so there is little point in having such a command.

rockwallaby:
Robin2 wrote: I hope my sense of dryness did not elude thee. :-[

It did not elude me, but I was concerned that others might take you literally - e.g. ...

goodinventor:
The Arduino Uno doesn't have a host USB port, so there is little point in having such a command.

...R

Don't worry. I know better than that.

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

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

EEPROM

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.

Unos_0_0_4.ino (6.83 KB)

Any ideas or problems with the program should be reported here.

Why?
You haven't taken any notice so far.

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