SSCMA-Micro CPP SDK  v2.0.0
SSCMA-Micro is a cross-platform machine learning inference framework designed for embedded devices.
ma_types.h File Reference
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <string.h>
#include "ma_compiler.h"
#include "ma_config_internal.h"
Include dependency graph for ma_types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ma_memory_pool_t
 
struct  ma_quant_param_t
 
struct  ma_shape_t
 
struct  ma_tensor_t
 
struct  ma_img_t
 
struct  ma_perf_t
 
struct  ma_pt2f_t
 
struct  ma_pt3f_t
 
struct  ma_pt4f_t
 
struct  ma_anchor_stride_t
 
struct  ma_point_t
 
struct  ma_class_t
 
struct  ma_bbox_t
 
struct  ma_types
 
struct  ma_model_t
 
struct  ma_wifi_config_t
 
struct  ma_mqtt_ssl_config_t
 
struct  ma_mqtt_config_t
 
struct  ma_mqtt_topic_config_t
 

Macros

#define MA_INPUT_TYPE_MASK   0xF000
 
#define MA_OUTPUT_TYPE_MASK   0x0F00
 
#define MA_MODEL_TYPE_MASK   0x00FF
 

Typedefs

typedef enum MA_ATTR_PACKED ma_camera_event_t
 

Enumerations

enum  ma_err_t {
  MA_FAILED = -1 , MA_OK = 0 , MA_AGAIN = 1 , MA_ELOG = 2 ,
  MA_ETIMEOUT = 3 , MA_EIO = 4 , MA_EINVAL = 5 , MA_ENOMEM = 6 ,
  MA_EBUSY = 7 , MA_ENOTSUP = 8 , MA_EPERM = 9 , MA_ENOENT = 10 ,
  MA_EEXIST = 11 , MA_OVERFLOW = 12
}
 
enum  ma_tensor_type_t {
  MA_TENSOR_TYPE_NONE = 0 , MA_TENSOR_TYPE_U8 = 1 , MA_TENSOR_TYPE_S8 = 2 , MA_TENSOR_TYPE_U16 = 3 ,
  MA_TENSOR_TYPE_S16 = 4 , MA_TENSOR_TYPE_U32 = 5 , MA_TENSOR_TYPE_S32 = 6 , MA_TENSOR_TYPE_U64 = 7 ,
  MA_TENSOR_TYPE_S64 = 8 , MA_TENSOR_TYPE_F16 = 9 , MA_TENSOR_TYPE_F32 = 10 , MA_TENSOR_TYPE_F64 = 11 ,
  MA_TENSOR_TYPE_STR = 12 , MA_TENSOR_TYPE_BOOL = 13 , MA_TENSOR_TYPE_BF16 = 14 , MA_TENSOR_TYPE_NMS_BBOX_U16 = 15 ,
  MA_TENSOR_TYPE_NMS_BBOX_F32 = 16
}
 
enum  ma_pixel_format_t {
  MA_PIXEL_FORMAT_AUTO = 0 , MA_PIXEL_FORMAT_RGB888 , MA_PIXEL_FORMAT_RGB565 , MA_PIXEL_FORMAT_YUV422 ,
  MA_PIXEL_FORMAT_GRAYSCALE , MA_PIXEL_FORMAT_JPEG , MA_PIXEL_FORMAT_H264 , MA_PIXEL_FORMAT_H265 ,
  MA_PIXEL_FORMAT_RGB888_PLANAR , MA_PIXEL_FORMAT_UNKNOWN
}
 
enum  ma_pixel_rotate_t {
  MA_PIXEL_ROTATE_0 = 0 , MA_PIXEL_ROTATE_90 , MA_PIXEL_ROTATE_180 , MA_PIXEL_ROTATE_270 ,
  MA_PIXEL_ROTATE_UNKNOWN
}
 
enum  ma_model_cfg_opt_t { MA_MODEL_CFG_OPT_THRESHOLD = 0 , MA_MODEL_CFG_OPT_NMS = 1 , MA_MODEL_CFG_OPT_TOPK = 2 }
 
enum  ma_transport_type_t {
  MA_TRANSPORT_UNKOWN = 0 , MA_TRANSPORT_CONSOLE = 1 , MA_TRANSPORT_SERIAL = 2 , MA_TRANSPORT_SPI = 3 ,
  MA_TRANSPORT_I2C = 4 , MA_TRANSPORT_MQTT = 5 , MA_TRANSPORT_TCP = 6 , MA_TRANSPORT_UDP = 7 ,
  MA_TRANSPORT_RTSP = 8
}
 
enum  ma_transport_cfg_opt_t { MA_TRANSPORT_CFG_OPT_NONE = 0 , MA_TRANSPORT_CFG_OPT_TIMEOUT = 1 }
 
enum  ma_msg_type_t {
  MA_MSG_TYPE_RESP = 0 , MA_MSG_TYPE_EVT = 1 , MA_MSG_TYPE_LOG = 2 , MA_MSG_TYPE_REQ = 3 ,
  MA_MSG_TYPE_HB = 4
}
 
enum  ma_input_type_t { MA_INPUT_TYPE_TENSOR = 0x0000 , MA_INPUT_TYPE_IMAGE = 0x1000 , MA_INPUT_TYPE_AUDIO = 0x2000 }
 
enum  ma_output_type_t {
  MA_OUTPUT_TYPE_TENSOR = 0x0000 , MA_OUTPUT_TYPE_CLASS = 0x0100 , MA_OUTPUT_TYPE_POINT = 0x0200 , MA_OUTPUT_TYPE_BBOX = 0x0300 ,
  MA_OUTPUT_TYPE_KEYPOINT = 0x0400 , MA_OUTPUT_TYPE_SEGMENTATION = 0x0500
}
 
enum  ma_model_type_t {
  MA_MODEL_TYPE_UNDEFINED = 0u , MA_MODEL_TYPE_FOMO = 1u , MA_MODEL_TYPE_PFLD = 2u , MA_MODEL_TYPE_YOLOV5 = 3u ,
  MA_MODEL_TYPE_IMCLS = 4u , MA_MODEL_TYPE_YOLOV8_POSE = 5u , MA_MODEL_TYPE_YOLOV8 = 6u , MA_MODEL_TYPE_NVIDIA_DET = 7u ,
  MA_MODEL_TYPE_YOLO_WORLD = 8u , MA_MODEL_TYPE_YOLO11 = 9u , MA_MODEL_TYPE_YOLO11_POSE = 10u , MA_MODEL_TYPE_YOLO11_SEG = 11u
}
 
enum  ma_wifi_security_t {
  SEC_AUTO = 0 , SEC_NONE = 1 , SEC_WEP = 2 , SEC_WPA1_WPA2 = 3 ,
  SEC_WPA2_WPA3 = 4 , SEC_WPA3 = 5
}
 
enum  MA_ATTR_PACKED {
  CAM_EVT_OPEN = 0b00000001 , CAM_EVT_CLOSE = 0b00000010 , CAM_EVT_START = 0b00000100 , CAM_EVT_STOP = 0b00001000 ,
  CAM_EVT_CAPTURE = 0b00010000 , CAM_EVT_FRAME = 0b00100000 , CAM_EVT_CLEANUP = 0b01000000
}
 

Macro Definition Documentation

◆ MA_INPUT_TYPE_MASK

#define MA_INPUT_TYPE_MASK   0xF000

◆ MA_MODEL_TYPE_MASK

#define MA_MODEL_TYPE_MASK   0x00FF

◆ MA_OUTPUT_TYPE_MASK

#define MA_OUTPUT_TYPE_MASK   0x0F00

Typedef Documentation

◆ ma_camera_event_t

Enumeration Type Documentation

◆ MA_ATTR_PACKED

Enumerator
CAM_EVT_OPEN 
CAM_EVT_CLOSE 
CAM_EVT_START 
CAM_EVT_STOP 
CAM_EVT_CAPTURE 
CAM_EVT_FRAME 
CAM_EVT_CLEANUP 

◆ ma_err_t

enum ma_err_t
Enumerator
MA_FAILED 
MA_OK 
MA_AGAIN 
MA_ELOG 
MA_ETIMEOUT 
MA_EIO 
MA_EINVAL 
MA_ENOMEM 
MA_EBUSY 
MA_ENOTSUP 
MA_EPERM 
MA_ENOENT 
MA_EEXIST 
MA_OVERFLOW 

◆ ma_input_type_t

Enumerator
MA_INPUT_TYPE_TENSOR 
MA_INPUT_TYPE_IMAGE 
MA_INPUT_TYPE_AUDIO 

◆ ma_model_cfg_opt_t

Enumerator
MA_MODEL_CFG_OPT_THRESHOLD 
MA_MODEL_CFG_OPT_NMS 
MA_MODEL_CFG_OPT_TOPK 

◆ ma_model_type_t

Enumerator
MA_MODEL_TYPE_UNDEFINED 
MA_MODEL_TYPE_FOMO 
MA_MODEL_TYPE_PFLD 
MA_MODEL_TYPE_YOLOV5 
MA_MODEL_TYPE_IMCLS 
MA_MODEL_TYPE_YOLOV8_POSE 
MA_MODEL_TYPE_YOLOV8 
MA_MODEL_TYPE_NVIDIA_DET 
MA_MODEL_TYPE_YOLO_WORLD 
MA_MODEL_TYPE_YOLO11 
MA_MODEL_TYPE_YOLO11_POSE 
MA_MODEL_TYPE_YOLO11_SEG 

◆ ma_msg_type_t

Enumerator
MA_MSG_TYPE_RESP 
MA_MSG_TYPE_EVT 
MA_MSG_TYPE_LOG 
MA_MSG_TYPE_REQ 
MA_MSG_TYPE_HB 

◆ ma_output_type_t

Enumerator
MA_OUTPUT_TYPE_TENSOR 
MA_OUTPUT_TYPE_CLASS 
MA_OUTPUT_TYPE_POINT 
MA_OUTPUT_TYPE_BBOX 
MA_OUTPUT_TYPE_KEYPOINT 
MA_OUTPUT_TYPE_SEGMENTATION 

◆ ma_pixel_format_t

Enumerator
MA_PIXEL_FORMAT_AUTO 
MA_PIXEL_FORMAT_RGB888 
MA_PIXEL_FORMAT_RGB565 
MA_PIXEL_FORMAT_YUV422 
MA_PIXEL_FORMAT_GRAYSCALE 
MA_PIXEL_FORMAT_JPEG 
MA_PIXEL_FORMAT_H264 
MA_PIXEL_FORMAT_H265 
MA_PIXEL_FORMAT_RGB888_PLANAR 
MA_PIXEL_FORMAT_UNKNOWN 

◆ ma_pixel_rotate_t

Enumerator
MA_PIXEL_ROTATE_0 
MA_PIXEL_ROTATE_90 
MA_PIXEL_ROTATE_180 
MA_PIXEL_ROTATE_270 
MA_PIXEL_ROTATE_UNKNOWN 

◆ ma_tensor_type_t

Enumerator
MA_TENSOR_TYPE_NONE 
MA_TENSOR_TYPE_U8 
MA_TENSOR_TYPE_S8 
MA_TENSOR_TYPE_U16 
MA_TENSOR_TYPE_S16 
MA_TENSOR_TYPE_U32 
MA_TENSOR_TYPE_S32 
MA_TENSOR_TYPE_U64 
MA_TENSOR_TYPE_S64 
MA_TENSOR_TYPE_F16 
MA_TENSOR_TYPE_F32 
MA_TENSOR_TYPE_F64 
MA_TENSOR_TYPE_STR 
MA_TENSOR_TYPE_BOOL 
MA_TENSOR_TYPE_BF16 
MA_TENSOR_TYPE_NMS_BBOX_U16 
MA_TENSOR_TYPE_NMS_BBOX_F32 

◆ ma_transport_cfg_opt_t

Enumerator
MA_TRANSPORT_CFG_OPT_NONE 
MA_TRANSPORT_CFG_OPT_TIMEOUT 

◆ ma_transport_type_t

Enumerator
MA_TRANSPORT_UNKOWN 
MA_TRANSPORT_CONSOLE 
MA_TRANSPORT_SERIAL 
MA_TRANSPORT_SPI 
MA_TRANSPORT_I2C 
MA_TRANSPORT_MQTT 
MA_TRANSPORT_TCP 
MA_TRANSPORT_UDP 
MA_TRANSPORT_RTSP 

◆ ma_wifi_security_t

Enumerator
SEC_AUTO 
SEC_NONE 
SEC_WEP 
SEC_WPA1_WPA2 
SEC_WPA2_WPA3 
SEC_WPA3