|
|
@ -24,16 +24,18 @@ using namespace std; |
|
|
|
} \ |
|
|
|
} break; |
|
|
|
|
|
|
|
#define ENABLE_MODULE(name, type, version) \
|
|
|
|
const char *module_name = #name; \ |
|
|
|
int32_t module_version = version; \ |
|
|
|
int32_t module_type = type; |
|
|
|
#define ENABLE_MODULE(name, type, version) \
|
|
|
|
public: \ |
|
|
|
virtual int32_t module_get_version(int32_t *val) { \ |
|
|
|
*val = version; \ |
|
|
|
return 0; \ |
|
|
|
} \ |
|
|
|
virtual int32_t module_get_type(int32_t *val) { \ |
|
|
|
*val = type; \ |
|
|
|
return 0; \ |
|
|
|
} |
|
|
|
|
|
|
|
#define MODULE_COMMON_PROCESS_REG_CB() \
|
|
|
|
PROCESS_REG(kreg_module_version, /* */ REG_GET(module_version), ACTION_NONE); \ |
|
|
|
PROCESS_REG(kreg_module_type, /* */ REG_GET(module_type), ACTION_NONE); \ |
|
|
|
PROCESS_REG(kreg_module_status, /* */ module_get_status(&val), ACTION_NONE); \ |
|
|
|
PROCESS_REG(kreg_module_errorcode, /* */ REG_GET(creg.module_errorcode), ACTION_NONE); |
|
|
|
#define MODULE_COMMON_PROCESS_REG_CB()
|
|
|
|
|
|
|
|
typedef struct { |
|
|
|
int32_t module_errorcode; |
|
|
@ -56,6 +58,9 @@ class ZIModule { |
|
|
|
virtual int32_t module_clear_error(); |
|
|
|
virtual int32_t module_set_reg(int32_t param_id, int32_t param_value); |
|
|
|
virtual int32_t module_get_reg(int32_t param_id, int32_t *param_value); |
|
|
|
virtual int32_t module_get_version(int32_t *val) = 0; |
|
|
|
virtual int32_t module_get_type(int32_t *val) = 0; |
|
|
|
|
|
|
|
/***********************************************************************************************************************
|
|
|
|
* Óû§ÊµÏÖ * |
|
|
|
***********************************************************************************************************************/ |
|
|
@ -68,6 +73,7 @@ class ZIModule { |
|
|
|
virtual int32_t _module_get_reg(int32_t regoff, int32_t regval, int32_t &val); |
|
|
|
virtual int32_t _module_set_reg_float(int32_t regoff, float *regval, int32_t val, float precision, int32_t min = INT32_MIN, int32_t max = INT32_MAX); |
|
|
|
virtual int32_t _module_get_reg_float(int32_t regoff, float regval, int32_t &val, float precision); |
|
|
|
virtual int32_t _module_xxx_reg(int32_t param_id, bool read, int32_t &val); |
|
|
|
|
|
|
|
public: |
|
|
|
public: |
|
|
|