Store¶
API Documentation: [cpp] [python] [.NET] [LabVIEW]
Every BrainStem module has one or more stores. Stores are the BrainStem equivalent of a filesystem. Stores are broken up into a number of slots, each of which can be thought of as a file. A Store generally represents a specific type of storage. Flash or internal, RAM, or SD if the BrainStem includes an SD slot. The most common usage of slots and stores is for the storage of reflex code that will run on the BrainStem module. Additionally Bulk capture of Analog data can write to a slot within a store. Slots within the internal store can be set up as boot slots by setting the appropriate slot number in the system configuration. See the :doc:` System <system>` entity for more information about setting a boot slot.
The number and type of stores is Model specific. Details about the number of slots per store, and available stores can be found in the data sheets for specific models.
There are a number of commands for manipulating stores, which are detailed below. Many of the store commands are only accessible from host API’s and UI applications, however commands relating to enabling reflex files in slots are accessible from the reflex language.
Every BrainStem module includes several Store entities and onboard memory slots to load Reflex files (for details on Reflex, see Reflex Language Reference). One Reflex file can be stored per slot.
The MTM-RELAY has store slots [0-1].
Store Slot |
Storage Type |
---|---|
0 |
RAM |
1 |
Internal |
Get Slot State¶
For slots which hold reflexes, this read only command returns whether the slot is currently enabled or not. 1 is enabled 0 is disabled. This command can be called from a reflex.
stem.store[index].getSlotState(slot)
[cpp]
[python]
[NET]
[LabVIEW]
Load/Unload Slot¶
This command writes a data buffer into a slot for the given store. It is only available from host side API’s.
stem.store[index].loadSlot(slot, data, _=None)
[cpp]
[python]
[NET]
[LabVIEW]
This command reads the slot in the given store into the byte buffer. The length will never be more than the max buffer size given, but may be less if the slot contents were shorter than max buffer length.
stem.store[index].unloadSlot(slot)
[cpp]
[python]
[NET]
[LabVIEW]
Enable/Disable Slot¶
This command enables the reflex file in the given store and slot. This command is accessible from the reflex language.
stem.store[index].slotEnable(slot)
[cpp]
[python]
[NET]
[LabVIEW]
This command disables the reflex file in the given store and slot. This command is accessible from the reflex language.
stem.store[index].slotDisable(slot)
[cpp]
[python]
[NET]
[LabVIEW]
Slot Capacity¶
This command gets the maximum capacity of the given slot for the store. This command is accessible from the reflex language.
stem.store[index].slotCapacity(slot)
[cpp]
[python]
[NET]
[LabVIEW]
Slot Size¶
This command gets the current size of the data in the given slot for the store. This can be the size in bytes of the reflex byte code file, or the data size for a bulk capture.
stem.store[index].slotSize(slot)
[cpp]
[python]
[NET]
[LabVIEW]