Astralixi Pico OS Megathread

So I still can’t figure out how to program commands for my OS in relation to flash. I am trying to find some example codes, but I can’t find any good ones, for the C Pico SDK. If you know any please help another out!

EP 1 - 2025 of Astrox Podcast/Radio releasing in less than 10 hours!

I’m going to take a look at this:

Update: Some stuff I wanna add, and when

Commands to add to version BETA:

  • mv/rn (move or rename files and directories) [2]

Features to add in version BETA:

  • credentials save to a hashed file which cannot be accessed on device
  • high ram usage warning
  • high cpu load warning
  • shift + up and down arrow to cycle through command history
  • arrow keys to navigate cursor around screen

Commands to add to First Actual Version:

  • app (install, run, quit, list, uninstall) [5]
  • wifi (connect and disconnect and status) [3]
  • flash (read, write (add file), erase (remove file)) [3]

Features to add to First Actual Version:

  • app running through pikapython
  • apps for coding, etc

If you have any more ideas for commands to add to First Actual Version, please feel free to reply!

1 Like

I’d suggest a SHOWCODE command. Definitely make debugging easier.

2 Likes

i want a MAKECOFFEE command

4 Likes

Yes an OS needs a Code Editor and a Code Runner to be considered an OS on the picocalc. It’s a coding machine. Keep up the good work, I want to try Astrox as soon as it’s a usable OS for my presious PicoCalc :star_struck:

1 Like

Astrox Radio/Podcast is now Live on Spotify.
Will be coming to Pocketcasts in a few hours and is going to be on youtube in 45 mins!

1 Like

@BlairLeduc

Is this following part of your fat32 driver code for renaming files and directories, if so, what parameters does it require, and how does it work:

fat32_error_t fat32_rename(const char *old_path, const char *new_path)
{
    if (!old_path || !*old_path || !new_path || !*new_path)
    {
        return FAT32_ERROR_INVALID_PARAMETER;
    }
    if (!fat32_is_ready())
    {
        return mount_status;
    }

    // Find the old entry
    fat32_entry_t entry;
    RETURN_ON_ERROR(find_entry(&entry, old_path));

    // Check if new path already exists
    fat32_entry_t new_entry;
    fat32_error_t result = find_entry(&new_entry, new_path);
    if (result == FAT32_OK)
    {
        return FAT32_ERROR_FILE_EXISTS; // New path already exists
    }
    else if (result != FAT32_ERROR_FILE_NOT_FOUND)
    {
        return result; // Other error
    }

    // Rename by deleting the old entry and creating a new one with the same start cluster
    RETURN_ON_ERROR(unlink_entry(&entry));
    RETURN_ON_ERROR(link_entry(&entry, new_path));

    return FAT32_OK;
}

Looks like I missed that function in the documentation! Here is the entry:


fat32_rename

fat32_error_t fat32_rename(const char *old_path, const char *new_path)

Renames or moves a file or directory.

Parameters

  • old_path – the current path of the file or directory
  • new_path – the new path for the file or directory

Thanks for catching that.

1 Like

Thanks, is there anything for moving file/directories?

1 Like

a move is just a rename in a different part of the path

1 Like

My Plan For Releases

Version Alpha
Already released on 29th August.

Version Beta
Aimed release by end of September.

First Actual Version
Aimed release by early November.

Second Actual Version
Aimed release by end of December.

Third Actual Version
Aimed release by mid February.

Fourth Actual Version
Aimed release by mid March.

Fifth Actual Version
Aimed release by end of May.

And after here, I will invite 3 contributors other than me, to continue working on this OS, while I start porting this and working on a version for the Luckfox Lyra.

NEW DEVLOG COMING IN AROUND 7 HOURS!!!

Will be uploaded on my Youtube Channel.

1 Like

What’s this thing for the up and down arrows on the PicoCalc if “0x1B” is shift?

NEW DEVLOG

Update:

Today I am going to be working on the shift+up and shift+down command cycling while on command line. Thanks to the help of jblanked and Blair, I can now find the keycodes, and hopefully I can get this working by the end of the day.

Update:

So… cmake isn’t detected anymore on my computer, as I did some file transfers from a drive to another drive and I may have accidentally deleted some stuff (including cmake) during the transfers. Depending on how long these fixes take, the Version BETA may release on planned release date or sometime in October.

1 Like

Update:

I have figured out a way to continue building, but I need to use both command line and cmake gui which makes it a little tedious, if you have any questions, feel free to ask.

1 Like