You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.3 KiB
57 lines
2.3 KiB
#pragma once
|
|
#include <stdint.h>
|
|
|
|
#include <functional>
|
|
|
|
#include "errorcode.hpp"
|
|
|
|
namespace iflytop {
|
|
using namespace std;
|
|
class ZIModule {
|
|
int32_t m_inited_flag = 0;
|
|
|
|
public:
|
|
virtual ~ZIModule() {}
|
|
|
|
virtual int32_t getid(int32_t *id) = 0;
|
|
|
|
virtual int32_t module_stop() { return err::koperation_not_support; }
|
|
virtual int32_t module_break() { return err::koperation_not_support; }
|
|
virtual int32_t module_start() { return err::koperation_not_support; }
|
|
|
|
virtual int32_t module_get_last_exec_status(int32_t *status) { return err::koperation_not_support; }
|
|
virtual int32_t module_get_status(int32_t *status) { return err::koperation_not_support; }
|
|
virtual int32_t module_get_error(int32_t *iserror) { return err::koperation_not_support; }
|
|
virtual int32_t module_clear_error() { return err::koperation_not_support; }
|
|
|
|
virtual int32_t module_enable(int32_t enable) { return err::koperation_not_support; }
|
|
|
|
virtual int32_t module_set_reg(int32_t param_id, int32_t param_value) { return err::koperation_not_support; }
|
|
virtual int32_t module_get_reg(int32_t param_id, int32_t *param_value) { return err::koperation_not_support; }
|
|
|
|
virtual int32_t module_readio(int32_t *io) { return err::koperation_not_support; }
|
|
virtual int32_t module_writeio(int32_t idindex, int32_t io) { return err::koperation_not_support; }
|
|
|
|
virtual int32_t module_read_adc(int32_t adcindex, int32_t *adc) { return err::koperation_not_support; }
|
|
|
|
virtual int32_t module_read_raw(int32_t startadd, uint8_t *data, int32_t *len) { return err::koperation_not_support; }
|
|
|
|
virtual int32_t module_set_inited_flag(int32_t flag) {
|
|
m_inited_flag = flag;
|
|
return 0;
|
|
}
|
|
virtual int32_t module_get_inited_flag(int32_t *flag) {
|
|
*flag = m_inited_flag;
|
|
return 0;
|
|
}
|
|
|
|
virtual int32_t module_get_inited_flag() { return m_inited_flag; }
|
|
// kmodule_factory_reset = CMDID(1, 14), // para:{}, ack:{}
|
|
// kmodule_flush_cfg = CMDID(1, 15), // para:{}, ack:{}
|
|
// kmodule_active_cfg = CMDID(1, 16), // para:{}, ack:{}
|
|
|
|
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; }
|
|
};
|
|
} // namespace iflytop
|