Astralixi Pico OS Megathread

In the README, right under the caution:

You should already have, or will need to gain, knowledge of the Pico-series C/C++ SDK and writing embedded code for the Pico-series devices.

You will find a Hello, world! example that writes to the display. Also, the PicoCalc.md file states that you use this driver to connect studio functions to the display and keyboard and other things.

If you want finer control over the initialisation of the hardware, then you need to read the source code of the PicoCalc driver (that is even more documentation!) and initialise the hardware as you need.

1 Like

So, I took a look at the initialization section of the display.c driver, and I found this:

//
//  Display Initialization
//

void display_init(led_callback_t led_callback, bell_callback_t bell_callback)
{
    display_led_callback = led_callback;   // Set the LED callback function
    display_bell_callback = bell_callback; // Set the bell callback function

    lcd_init();
}

Theoretically, If I do Display_init(NULL, NULL); Will it initialize properly?

Also, another quick note.

picocalc_init(NULL);

Does not work.

Does flashing the starter kit uf2 work?

I have not tried it yet, but I will attempt to do it soon.

Okay, PROGRESS UPDATE

I have flashed your V0.8 .uf2 file for the pico2_w and it works completely fine, which now confuses me. Is the code for the .uf2 included as one file, or is it building multiple files together, and if so, which ones?

I don’t understand the question.

The build follows the instructions in the CMakeLists.txt file.

So, I’m not understanding why, all I see when I flash my OS code, is a blinking “_” cursor.

I am not sure either. This is your project and you wrote most of it, eh?

1 Like

The issue is that I never called anything for the cursor to show up, and I even made a function which converts printf to display_emit.

Honestly, if you want programing help from the community, you really should open the source to the community. It’s kind of hard to debug with a Ouija board.

4 Likes

i think your error is in line 37 :crystal_ball:

11 Likes

How do you know where it is? I haven’t open sourced the code and since the last error message ive made lots of changes.

There are 2 types of people:

  • those who can extrapolate
11 Likes

Na, you wrong… It’s line 42… :stuck_out_tongue:

I admit that I’m still looking at this post to see how far we can dig into the absurd! :‘)

Stop asking for help and spamming the forum if you cannot contribute to the effort on your part.
Want help? Share the code (the main(), or others functions related to the issue). No? Pay somebody to debug your code in private. Still no? Learn and figure it out by yourself!

We help each other, but don’t take us for granted. We probably all KNOWING you’ve just copied code from somewhere, replaced some strings by “made by Astrox”, and make it compile (not sure about this step).

11 Likes

To get your drivers properly integrated into my OS, do I need to understand your whole code? Like all of the driver code, not just section of it, like the init parts?

I have:

display_init(NULL, NULL)
keyboard_init(NULL)

do I also need southbridge or anything else? and will the display work with displaying text from printf statements?

you’re missing

fix_all_bugs(NULL)
load_everything(NULL, NULL, NULL)
os_init(NULL, NULL, NULL, NULL, NULL)
6 Likes
NULL null = NULL(NULL, NULL);
4 Likes