New Object Announcement: A User Friendly Memory Management System Version 1.0 R
Bobb Fwed
Posts: 1,119
Just thought I'd put up a post on a new object I just released (seeing as there is no other way to notify people of new things).
This object is designed to allow programmers (and/or end-users) to store values to EEPROM, referenced by name rather than just a number. It is similar to a simple database system. The values can be stored in numerical byte, word, or long values. Strings, arrays, and stacks can also be stored to the EERPOM. All of the values are created, edited, and retrieved with a simple name.
This is great for storing user-created settings or values that need to be accessed at a later time with profile names or user entries. In the right hands, it can be used for just about any EEPROM application.
It is simple to create, edit, and access the values. You can simply create_str(name_str, value_str), then edit_str or get_str will do exactly what they sound like they do. Creating numerical values are just as easy.
Download here: Memory Storage Management
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
April, 2008: when I discovered the answers to all my micro-computational-botherations!
Post Edited (Bobb Fwed) : 8/21/2009 11:37:17 PM GMT
This object is designed to allow programmers (and/or end-users) to store values to EEPROM, referenced by name rather than just a number. It is similar to a simple database system. The values can be stored in numerical byte, word, or long values. Strings, arrays, and stacks can also be stored to the EERPOM. All of the values are created, edited, and retrieved with a simple name.
This is great for storing user-created settings or values that need to be accessed at a later time with profile names or user entries. In the right hands, it can be used for just about any EEPROM application.
It is simple to create, edit, and access the values. You can simply create_str(name_str, value_str), then edit_str or get_str will do exactly what they sound like they do. Creating numerical values are just as easy.
Download here: Memory Storage Management
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
April, 2008: when I discovered the answers to all my micro-computational-botherations!
Post Edited (Bobb Fwed) : 8/21/2009 11:37:17 PM GMT
Comments
anyway I found it before this announcing because of my habit to take a daily look into the obex with
the link below which is sorting the objects by release-date descending
http://obex.parallax.com/objects/?o=0&ot=dsc
this means the latest objects are always on top
best regards
Stefan
That's why hashtables have been invented. You only calculate a hash-value which is then used as an index in your table of names. Guess wikipedia can give you more information.
But it's worth the efford, as you can decrease the number of reads of variable-names and compares a lot.
I was trying to think of any way to organize the index to speed things up! But couldn't think of anything that would be easy and guaranteed to actually be faster.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
April, 2008: when I discovered the answers to all my micro-computational-botherations!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
April, 2008: when I discovered the answers to all my micro-computational-botherations!
Only the CRC is listed under such a name in the Obex (and that is listed as CRC8).
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
April, 2008: when I discovered the answers to all my micro-computational-botherations!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
Post Edited (jazzed) : 8/17/2009 3:00:00 AM GMT
Version 0.9 available: obex.parallax.com/objects/493/
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
April, 2008: when I discovered the answers to all my micro-computational-botherations!
Added lazy deletion method to clear table entries.
Strings can now span multiple blocks, but cannot exceed 255 characters.
Strings start at current data pointer location rather than at next available block. This reduces the amount of space strings use up.
Removed moving of strings before storing to EEPROM (speeds things up).
Added get_freedataspace which uses the new end_data constant.
Now create and create_str tests for enough data space before writing.
Download it here: obex.parallax.com/objects/493/
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
April, 2008: when I discovered the answers to all my micro-computational-botherations!