Astralixi Lyra OS Megathread

I ordered a Pico 2W board yesterday, and it’s going to arrive in around a week and a half, so I can test my OS then :slight_smile:

The hardest thing to make will probably be the file manager right now. (and the file editor)

For FAT32 file system, file editors for PicoCalc, file managers, if you have any resources please let me know, as they will be very appreciated.

I have implemented 12 commands so far

A kernel should not concern itself with “commands”, which are the province of a user interface shell. Rather, it should have system calls, and there is no ‘right’ number of system calls, but generally the fewer needed to provide the needed functionality the better. The only case where a kernel should even have “commands” is if it has a language REPL fundamentally built in, e.g. in the case of a Forth, and in this case there should be no difference between “commands” and system calls.

1 Like

The commands are outside of the kernel

Update: I now have 20 commands in total, all main drivers initialized and working, and I am currently working on a file editor.

We can see anything?

… snapshots?

TIA

1 Like

To be completely honest, you shouldn’t count commands implemented. Why? More commands does not make something better, and fewer commands does not make something worse. If a system can be more elegant through having a smaller set of primitive operations that can be utilized to do the same thing as a big, elaborate system, that very often is for the best.

Take Unix, for instance ─ traditionally Unix was all about simple but powerful operations and commands that could easily be composed with one another. Contrast this with, say, VMS, which was a big complex system with all kinds of ways of doing things. But that didn’t mean that VMS was better at all. If anything, Unix was superior in is simplicity and elegance.

1 Like

Well I will get some pictures and more updates, once my Pico 2W arrives

1 Like

Anyone have any decent examples of a code editor written in C, because I want to study them, to help make my own…

please provide links

TODO:

  1. Make a change directory command [done]

  2. Understand code better [done]

  3. Make a what is the current directory command [done]

  4. Design the edit file command and think about how to do it

  5. fix errors

  6. Test OS on the PicoCalc

  7. Fix errors from the test

  8. Test OS on the PicoCalc again

  9. Fix errors from test and final touches

  10. Release Version Alpha

UPDATE: edit file command will come in Version Beta sorry

ASTRALIXI OS “API” for App Devlopment has released, if I didn’t make a “proper” API please say so, and tell me what app you are making for it!

1 Like

This does not really look like an OS API but rather is just a collection of ‘commands’. For a kernel API I’d expect things like tasking calls, e.g. spawn a task, exit the current task, and if multitasking things like send a task a message, receive a message from another task, etc. Also, for a filesystem layer API I’d expect things like open a file, create a file, close a file, read a file, write to a file, etc. I don’t see anything like these here.

1 Like

there is the open file, create file, delete file, create dir, delete dir commands. Which the app dev can use. The writing to a file will come in version BETA.

Apps for the OS will have to be made using PikaPython

Woo-hoo can’t wait to use the very Chinese owned copy of micropython :partying_face: :china: gotta boost that social credit somehow right?

2 Likes

I see

void command_createfile(const char *fullCommand);

I don’t see open file anywhere, and command_createfile() makes no indication of taking, say, a file path or of returning a file descriptor or populating a file control block (as an alternative approach to using file descriptors).

I’m still mad at Adafruit (even though I buy products through them, largely because it’s quicker to buy Pimoroni products from them here in the US than to buy them directly from Pimoroni, which is based in the UK) for what they did to MicroPython in creating CircuitPython, and CircuitPython is far less sketchy than this ‘PikaPython’.

2 Likes