Browse Source

update

change_pipette_api
zhaohe 2 years ago
parent
commit
95626e2519
  1. 4
      api/i_cmdparser.hpp
  2. 9
      protocol_parser.cpp
  3. 5
      protocol_parser.hpp
  4. 5
      protocol_proxy.hpp
  5. 15
      zmodule_device_manager.cpp
  6. 4
      zmodule_device_manager.hpp

4
api/i_cmdparser.hpp

@ -26,14 +26,14 @@ class ICmdParserACK {
int32_t rawlen;
int32_t *getAck(int index) {
if (index < 0 || index >= rawlen / sizeof(int32_t)) {
if (index < 0 || index >= rawlen / (int)sizeof(int32_t)) {
return nullptr;
}
return (int32_t *)rawdata + index;
}
int32_t getAckInt32Val(int index) {
if (index < 0 || index >= rawlen / sizeof(int32_t)) {
if (index < 0 || index >= rawlen / (int)sizeof(int32_t)) {
return 0;
}
return *((int32_t *)rawdata + index);

9
protocol_parser.cpp

@ -67,7 +67,14 @@ void ZIProtocolParser::initialize(IZCanCmder* cancmder) {
m_cancmder = cancmder;
m_cancmder->registerListener(this);
}
void ZIProtocolParser::registerModule(uint16_t id, ZIModule* module) { m_modulers[id] = module; }
void ZIProtocolParser::_registerModule(uint16_t id, ZIModule* module) { m_modulers[id] = module; }
void ZIProtocolParser::registerModule(ZIModule* module) {
int32_t moduleid = 0;
module->getid(&moduleid);
uint16_t id = moduleid;
_registerModule(id, module);
}
void ZIProtocolParser::onRceivePacket(zcr_cmd_header_t* rxcmd, uint8_t* data, int32_t len) {
uint16_t submoduleid = rxcmd->submoduleid;
auto it = m_modulers.find(submoduleid);

5
protocol_parser.hpp

@ -13,7 +13,10 @@ class ZIProtocolParser : public IZcanCmderListener {
public:
void initialize(IZCanCmder* cancmder);
virtual void onRceivePacket(zcr_cmd_header_t* rxcmd, uint8_t* data, int32_t len);
void registerModule(uint16_t id, ZIModule* module);
void registerModule(ZIModule* module);
private:
void _registerModule(uint16_t id, ZIModule* module);
};
} // namespace iflytop

5
protocol_proxy.hpp

@ -14,7 +14,10 @@ class ZIProtocolProxy : public ZIMotor, //
int32_t m_id = 0;
public:
void initialize(IZCanCmder *cancmder, int32_t id);
void initialize(int32_t moduleId,IZcanCmderMaster *cancmder) {
m_cancmder = cancmder;
m_id = moduleId;
}
virtual int32_t getid(int32_t *id) {
*id = m_id;

15
zmodule_device_manager.cpp

@ -1,4 +1,6 @@
#include "zmodule_device_manager.hpp"
#include <assert.h>
using namespace iflytop;
using namespace std;
@ -9,6 +11,19 @@ using namespace std;
return ecode; \
} \
return module->functionName(__VA_ARGS__);
void ZModuleDeviceManager::initialize(IZcanCmderMaster *cancmder) {
m_cancmder = cancmder;
assert(m_cancmder != nullptr);
}
void ZModuleDeviceManager::registerModule(ZIModule *module) {
assert(module != nullptr);
int32_t id = 0;
module->getid(&id);
uint16_t id16 = id;
m_modulers[id16] = module;
}
/*******************************************************************************
* ZIModule *
*******************************************************************************/

4
zmodule_device_manager.hpp

@ -12,8 +12,8 @@ class ZModuleDeviceManager {
IZcanCmderMaster *m_cancmder = nullptr;
public:
void initialize();
void registerModule(uint16_t id, ZIModule *module);
void initialize(IZcanCmderMaster *m_cancmder);
void registerModule(ZIModule *module);
/*******************************************************************************
* ZIModule *
*******************************************************************************/

Loading…
Cancel
Save