Storing data in flash memory

General

ragnarok93

6 years ago

Hello I have one question. How i can store data (for example an object) in flash memory and when I need it just import it to ram ?

Sorunome

NEW 6 years ago

Assuming you are using the META, by adding const to your variable definitions you put them into flash.

This string is in RAM:

char mystring[] = "Hello World";

while this string is in flash:

const char mystring[] = "Hello World";

You can access both the exact same way

geed

6 years ago

Is a difference with PROGMEM ?


ragnarok93

NEW 6 years ago

Thanks, helpful as always ;). But now I encounter other problem. I want to store my stage data in object of Room class. Sadly I can't make it const cause im adding things to it on setup by using methods. So how can I store my stage data in flash ?

ragnarok93

NEW 6 years ago

I can make all stage objects and then store it in constant array but still there are non-constant created objects that still gonna be in RAM not in flash :C

Sorunome

6 years ago

Via brace initializers (you can't run a custom constructor then, though)

const MyObj test = {42, 1337};

the parameters are the attributes in the order they appear

Sorunome

NEW 6 years ago

ragnarok93 ragnarok93

Via brace initializers (you can't run a custom constructor then, though)

const MyObj test = {42, 1337};

the parameters are the attributes in the order they appear

geed

NEW 6 years ago

Sorunome Sorunome

Is a difference with PROGMEM ?


Sorunome

6 years ago

PROGMEM isn't relevant for the META, as it only has one addressible space. Both the PROGMEM keyword and the F() macro literally do nothing when compiling for the META

Sorunome

NEW 6 years ago

geed geed

PROGMEM isn't relevant for the META, as it only has one addressible space. Both the PROGMEM keyword and the F() macro literally do nothing when compiling for the META

ragnarok93

6 years ago

Okay, I got it :D. Thanks for help ^^

ragnarok93

NEW 6 years ago

Sorunome Sorunome

Okay, I got it :D. Thanks for help ^^