The Stratify API library contains classes that allow easy access to Stratify OS hardware and POSIX constructs such as threads (sys::Thread), mutexes (sys::Mutex), files (fs::File) and many more. It also contains classes used to manage data (see the var namespace) in an embedded friendly way.

If you are just getting started with Stratify OS and the Stratify API, try reading through some of the guides:

If you are ready to start tinkering, hal::Pin is a nice place to start and allows you to read and write GPIO values. hal::Uart can be used to access UART peripherals and fs::File is for reading and writing files on any mounted filesystem.

Code Hierarchy

The api namespace contains all top level objects. All objects inherit from api::ApiObject. Below api::ApiObject this is api::ApiWorkObject and api::ApiInfoObject.

None of the classes that are part of the api namespace should be directly declared.

Work objects include an error number and are the base for objects that do work and make system calls.

Info objects are used for storing and managing static data structures. They don’t make system calls and can’t store errors. Info objects also include classes with only static methods.


typedef api::Api< arm_dsp_conversion_api_t, SAPI_API_REQUEST_ARM_DSP_CONVERSION > DspConversionApi

typedef api::Api< arm_dsp_api_f32_t, SAPI_API_REQUEST_ARM_DSP_F32 > DspF32Api

typedef api::Api< arm_dsp_api_q15_t, SAPI_API_REQUEST_ARM_DSP_Q15 > DspQ15Api

typedef api::Api< arm_dsp_api_q31_t, SAPI_API_REQUEST_ARM_DSP_Q31 > DspQ31Api

typedef api::Api< arm_dsp_api_q7_t, SAPI_API_REQUEST_ARM_DSP_Q7 > DspQ7Api

typedef Api< sg_api_t, SGFX_API_REQUEST > SgfxApi

typedef Api< crypt_hash_api_t, CRYPT_SHA256_API_REQUEST > Sha256Api

typedef Api< crypt_hash_api_t, CRYPT_SHA512_API_REQUEST > Sha512Api


Thanks for Coming!

Subscribe to news and updates