|
|
@ -8,15 +8,18 @@ |
|
|
|
namespace iflytop { |
|
|
|
using namespace std; |
|
|
|
|
|
|
|
#define ACTION_NONE ;
|
|
|
|
#define REG_SET(reg, ...) _module_set_reg(param_id, ®, val, ##__VA_ARGS__)
|
|
|
|
#define REG_GET(reg) _module_get_reg(param_id, reg, val)
|
|
|
|
|
|
|
|
#define ACTION_NONE 0
|
|
|
|
#define PROCESS_REG(param_id, readaction, writeacton) \
|
|
|
|
case param_id: { \ |
|
|
|
if (read) { \ |
|
|
|
readaction; \ |
|
|
|
return readaction; \ |
|
|
|
} else { \ |
|
|
|
writeacton; \ |
|
|
|
return writeacton; \ |
|
|
|
} \ |
|
|
|
} |
|
|
|
} break; |
|
|
|
|
|
|
|
class ModuleCMDExecStatus { |
|
|
|
public: |
|
|
@ -87,5 +90,17 @@ class ZIModule { |
|
|
|
virtual int32_t module_factory_reset() { return err::koperation_not_support; } |
|
|
|
virtual int32_t module_flush_cfg() { return err::koperation_not_support; } |
|
|
|
virtual int32_t module_active_cfg() { return err::koperation_not_support; } |
|
|
|
|
|
|
|
virtual int32_t _module_set_reg(int32_t regoff, int32_t *regval, int32_t val, int32_t min = INT32_MIN, int32_t max = INT32_MAX) { |
|
|
|
if (val < min || val > max) { |
|
|
|
return err::kparam_out_of_range; |
|
|
|
} |
|
|
|
*regval = val; |
|
|
|
return 0; |
|
|
|
} |
|
|
|
virtual int32_t _module_get_reg(int32_t regoff, int32_t regval, int32_t &val) { |
|
|
|
val = regval; |
|
|
|
return 0; |
|
|
|
} |
|
|
|
}; |
|
|
|
} // namespace iflytop
|