Source code for brainaccess.core.sBacore_config_t
import ctypes
[docs]
class BacoreConfig(ctypes.Structure):
"""
Python equivalent of the C struct `sBACORE_Config_t`.
This structure defines configuration options for the BrainAccess system,
including logging, data processing, and adapter selection.
It mirrors the C layout exactly, for use in `ctypes` bindings.
Attributes
----------
log_buffer_size : ctypes.c_size_t
Size of the log buffer in bytes.
log_path : ctypes.c_char * 200
Absolute/relative path to the log file (max length 200 chars).
log_level : ctypes.c_int
Logging verbosity level (e.g., 2 = Warning).
Typically corresponds to a `ba_log_level` enum.
append_logs : ctypes.c_bool
If True, append to existing log files; if False, overwrite.
timestamps_enabled : ctypes.c_bool
If True, include timestamps in log entries.
autoflush : ctypes.c_bool
If True, automatically flush logs after every write.
thread_ids_enabled : ctypes.c_bool
If True, include thread IDs in log entries.
chunk_size : ctypes.c_size_t
Chunk size (in bytes) for internal data processing.
enable_logs : ctypes.c_bool
Master switch: if False, disables all logging regardless of other flags.
update_path : ctypes.c_char * 200
Path to the firmware update file (max length 200 chars).
adapter_index : ctypes.c_uint8
Index of the Bluetooth adapter to use (default = 0).
"""
_fields_ = [
("log_buffer_size", ctypes.c_size_t),
("log_path", ctypes.c_char * 200),
("log_level", ctypes.c_int),
("append_logs", ctypes.c_bool),
("timestamps_enabled", ctypes.c_bool),
("autoflush", ctypes.c_bool),
("thread_ids_enabled", ctypes.c_bool),
("chunk_size", ctypes.c_size_t),
("enable_logs", ctypes.c_bool),
("update_path", ctypes.c_char * 200),
("adapter_index", ctypes.c_uint8),
]