Browse Source

update

change_pipette_api
zhaohe 2 years ago
parent
commit
9cdfcc02e4
  1. 11
      api/module_type_index.hpp
  2. 47
      api/zi_module.hpp

11
api/module_type_index.hpp

@ -0,0 +1,11 @@
#pragma once
#include <stdint.h>
namespace iflytop {
typedef enum {
kuniversal_module = 0,
khbot_module = 1,
kmotor_module = 2,
ktemperature_ctrl_module = 3,
} module_type_t;
}

47
api/zi_module.hpp

@ -4,6 +4,7 @@
#include <functional>
#include "errorcode.hpp"
#include "module_type_index.hpp"
namespace iflytop {
using namespace std;
@ -32,6 +33,52 @@ using namespace std;
PROCESS_REG(kreg_module_action_ack1, /* */ REG_GET(m_reg.module_action_ack1), ACTION_NONE); \
PROCESS_REG(kreg_module_action_ack2, /* */ REG_GET(m_reg.module_action_ack2), ACTION_NONE);
#define ENABLE_MODULE(name, type, version) module_common_reg_t m_com_reg = {.module_version = version, .module_type = type};
#define MODULE_COMMON_PROCESS_REG_CB() \
PROCESS_REG(kreg_module_version, /* */ REG_GET(m_com_reg.module_version), ACTION_NONE); \
PROCESS_REG(kreg_module_type, /* */ REG_GET(m_com_reg.module_type), ACTION_NONE); \
PROCESS_REG(kreg_module_status, /* */ REG_GET(m_com_reg.module_status), REG_SET(m_com_reg.module_status)); \
PROCESS_REG(kreg_module_errorcode, /* */ REG_GET(m_com_reg.module_errorcode), REG_SET(m_com_reg.module_errorcode)); \
PROCESS_REG(kreg_module_initflag, /* */ REG_GET(m_com_reg.module_initflag), REG_SET(m_com_reg.module_initflag)); \
PROCESS_REG(kreg_module_errorbitflag0, /* */ REG_GET(m_com_reg.module_errorbitflag0), REG_SET(m_com_reg.module_errorbitflag0)); \
PROCESS_REG(kreg_module_do_action0, /* */ ACTION_NONE, do_action(val)); \
PROCESS_REG(kreg_module_action_param1, /* */ REG_GET(m_com_reg.module_action_param1), REG_SET(m_com_reg.module_action_param1)); \
PROCESS_REG(kreg_module_action_param2, /* */ REG_GET(m_com_reg.module_action_param2), REG_SET(m_com_reg.module_action_param2)); \
PROCESS_REG(kreg_module_action_param3, /* */ REG_GET(m_com_reg.module_action_param3), REG_SET(m_com_reg.module_action_param3)); \
PROCESS_REG(kreg_module_action_ack1, /* */ REG_GET(m_com_reg.module_action_ack1), ACTION_NONE); \
PROCESS_REG(kreg_module_action_ack2, /* */ REG_GET(m_com_reg.module_action_ack2), ACTION_NONE); \
PROCESS_REG(kreg_module_last_cmd_exec_status, /* */ REG_GET(m_com_reg.module_last_cmd_exec_status), ACTION_NONE); \
PROCESS_REG(kreg_module_last_cmd_exec_val0, /* */ REG_GET(m_com_reg.module_last_cmd_exec_val0), ACTION_NONE); \
PROCESS_REG(kreg_module_last_cmd_exec_val1, /* */ REG_GET(m_com_reg.module_last_cmd_exec_val1), ACTION_NONE); \
PROCESS_REG(kreg_module_last_cmd_exec_val2, /* */ REG_GET(m_com_reg.module_last_cmd_exec_val2), ACTION_NONE); \
PROCESS_REG(kreg_module_last_cmd_exec_val3, /* */ REG_GET(m_com_reg.module_last_cmd_exec_val3), ACTION_NONE); \
PROCESS_REG(kreg_module_last_cmd_exec_val4, /* */ REG_GET(m_com_reg.module_last_cmd_exec_val4), ACTION_NONE); \
typedef struct {
int32_t module_version;
int32_t module_type;
int32_t module_status;
int32_t module_errorcode;
int32_t module_initflag;
int32_t module_errorbitflag0;
int32_t module_last_cmd_exec_status;
int32_t module_last_cmd_exec_val0;
int32_t module_last_cmd_exec_val1;
int32_t module_last_cmd_exec_val2;
int32_t module_last_cmd_exec_val3;
int32_t module_last_cmd_exec_val4;
int32_t module_do_action0;
int32_t module_action_param1;
int32_t module_action_param2;
int32_t module_action_param3;
int32_t module_action_ack1;
int32_t module_action_ack2;
} module_common_reg_t;
class ModuleCMDExecStatus {
public:
int32_t exec_status = 0;

Loading…
Cancel
Save