Commit 1877ed9d authored by Pavel Vainerman's avatar Pavel Vainerman

Ещё один заход по "причёсыванию" используемых типов.

parent 1cab9e42
...@@ -204,8 +204,8 @@ class MBExchange: ...@@ -204,8 +204,8 @@ class MBExchange:
bool resp_invert; bool resp_invert;
bool resp_force = { false }; bool resp_force = { false };
Trigger trInitOK; // триггер для "инициализации" Trigger trInitOK; // триггер для "инициализации"
std::atomic<unsigned int> numreply; // количество успешных запросов.. std::atomic<size_t> numreply; // количество успешных запросов..
std::atomic<unsigned int> prev_numreply; std::atomic<size_t> prev_numreply;
// //
bool ask_every_reg; /*!< опрашивать ли каждый регистр, независимо от результата опроса предыдущего. По умолчанию false - прервать опрос при первом же timeout */ bool ask_every_reg; /*!< опрашивать ли каждый регистр, независимо от результата опроса предыдущего. По умолчанию false - прервать опрос при первом же timeout */
...@@ -340,13 +340,13 @@ class MBExchange: ...@@ -340,13 +340,13 @@ class MBExchange:
bool force = { false }; /*!< флаг означающий, что надо сохранять в SM, даже если значение не менялось */ bool force = { false }; /*!< флаг означающий, что надо сохранять в SM, даже если значение не менялось */
bool force_out = { false }; /*!< флаг означающий, принудительного чтения выходов */ bool force_out = { false }; /*!< флаг означающий, принудительного чтения выходов */
bool mbregFromID = { false }; bool mbregFromID = { false };
int polltime = { 100 }; /*!< переодичность обновления данных, [мсек] */ timeout_t polltime = { 100 }; /*!< переодичность обновления данных, [мсек] */
timeout_t sleepPause_msec; timeout_t sleepPause_msec;
unsigned int maxQueryCount = { ModbusRTU::MAXDATALEN }; /*!< максимальное количество регистров для одного запроса */ size_t maxQueryCount = { ModbusRTU::MAXDATALEN }; /*!< максимальное количество регистров для одного запроса */
PassiveTimer ptHeartBeat; PassiveTimer ptHeartBeat;
UniSetTypes::ObjectId sidHeartBeat = { UniSetTypes::DefaultObjectId }; UniSetTypes::ObjectId sidHeartBeat = { UniSetTypes::DefaultObjectId };
int maxHeartBeat = { 10 }; long maxHeartBeat = { 10 };
IOController::IOStateList::iterator itHeartBeat; IOController::IOStateList::iterator itHeartBeat;
UniSetTypes::ObjectId test_id = { UniSetTypes::DefaultObjectId }; UniSetTypes::ObjectId test_id = { UniSetTypes::DefaultObjectId };
...@@ -355,14 +355,14 @@ class MBExchange: ...@@ -355,14 +355,14 @@ class MBExchange:
long exchangeMode = {emNone}; /*!< режим работы см. ExchangeMode */ long exchangeMode = {emNone}; /*!< режим работы см. ExchangeMode */
std::atomic_bool activated = { false }; std::atomic_bool activated = { false };
int activateTimeout = { 20000 }; // msec timeout_t activateTimeout = { 20000 }; // msec
bool noQueryOptimization = { false }; bool noQueryOptimization = { false };
bool no_extimer = { false }; bool no_extimer = { false };
std::string prefix; std::string prefix;
timeout_t stat_time = { 0 }; /*!< время сбора статистики обмена, 0 - отключена */ timeout_t stat_time = { 0 }; /*!< время сбора статистики обмена, 0 - отключена */
unsigned int poll_count = { 0 }; size_t poll_count = { 0 };
PassiveTimer ptStatistic; /*!< таймер для сбора статистики обмена */ PassiveTimer ptStatistic; /*!< таймер для сбора статистики обмена */
std::string statInfo = { "" }; std::string statInfo = { "" };
...@@ -374,7 +374,7 @@ class MBExchange: ...@@ -374,7 +374,7 @@ class MBExchange:
timeout_t recv_timeout = { 500 }; // msec timeout_t recv_timeout = { 500 }; // msec
timeout_t default_timeout = { 5000 }; // msec timeout_t default_timeout = { 5000 }; // msec
int aftersend_pause = { 0 }; timeout_t aftersend_pause = { 0 };
PassiveTimer ptReopen; /*!< таймер для переоткрытия соединения */ PassiveTimer ptReopen; /*!< таймер для переоткрытия соединения */
Trigger trReopen; Trigger trReopen;
...@@ -399,7 +399,7 @@ class MBExchange: ...@@ -399,7 +399,7 @@ class MBExchange:
VMonitor vmon; VMonitor vmon;
unsigned long ncycle = { 0 }; /*!< текущий номер цикла опроса */ size_t ncycle = { 0 }; /*!< текущий номер цикла опроса */
private: private:
MBExchange(); MBExchange();
......
...@@ -267,10 +267,9 @@ class MBTCPMultiMaster: ...@@ -267,10 +267,9 @@ class MBTCPMultiMaster:
void check_thread(); void check_thread();
void final_thread(); void final_thread();
UniSetTypes::uniset_rwmutex mbMutex; UniSetTypes::uniset_rwmutex mbMutex;
bool force_disconnect; bool force_disconnect;
int checktime; timeout_t checktime;
private: private:
MBTCPMultiMaster(); MBTCPMultiMaster();
...@@ -310,9 +309,9 @@ class MBTCPMultiMaster: ...@@ -310,9 +309,9 @@ class MBTCPMultiMaster:
use = st; use = st;
} }
int recv_timeout; timeout_t recv_timeout;
int aftersend_pause; timeout_t aftersend_pause;
int sleepPause_usec; timeout_t sleepPause_usec;
bool force_disconnect; bool force_disconnect;
std::string myname; std::string myname;
......
...@@ -335,8 +335,8 @@ class MBSlave: ...@@ -335,8 +335,8 @@ class MBSlave:
ModbusRTU::ModbusData mbreg; /*!< регистр */ ModbusRTU::ModbusData mbreg; /*!< регистр */
AccessMode amode; AccessMode amode;
VTypes::VType vtype; /*!< type of value */ VTypes::VType vtype; /*!< type of value */
int wnum; /*!< номер слова (для типов с размеров больше 2х байт */ size_t wnum; /*!< номер слова (для типов с размеров больше 2х байт */
int nbyte; /*!< номер байта, который надо "сохранить" из "пришедщего в запросе" слова. [1-2] */ size_t nbyte; /*!< номер байта, который надо "сохранить" из "пришедщего в запросе" слова. [1-2] */
bool rawdata; /*!< флаг, что в SM просто сохраняются 4-байта (актуально для типа F4)*/ bool rawdata; /*!< флаг, что в SM просто сохраняются 4-байта (актуально для типа F4)*/
std::shared_ptr<BitRegProperty> bitreg; /*!< указатель, как признак является ли данный регистр "сборным" из битовых */ std::shared_ptr<BitRegProperty> bitreg; /*!< указатель, как признак является ли данный регистр "сборным" из битовых */
ModbusRTU::RegID regID; ModbusRTU::RegID regID;
...@@ -523,7 +523,7 @@ class MBSlave: ...@@ -523,7 +523,7 @@ class MBSlave:
PassiveTimer ptHeartBeat; PassiveTimer ptHeartBeat;
UniSetTypes::ObjectId sidHeartBeat = { UniSetTypes::DefaultObjectId }; UniSetTypes::ObjectId sidHeartBeat = { UniSetTypes::DefaultObjectId };
int maxHeartBeat = { 10 }; long maxHeartBeat = { 10 };
IOController::IOStateList::iterator itHeartBeat; IOController::IOStateList::iterator itHeartBeat;
UniSetTypes::ObjectId test_id = { UniSetTypes::DefaultObjectId }; UniSetTypes::ObjectId test_id = { UniSetTypes::DefaultObjectId };
...@@ -539,7 +539,7 @@ class MBSlave: ...@@ -539,7 +539,7 @@ class MBSlave:
std::atomic_bool activated = { false }; std::atomic_bool activated = { false };
std::atomic_bool cancelled = { false }; std::atomic_bool cancelled = { false };
int activateTimeout = { 20000 }; // msec timeout_t activateTimeout = { 20000 }; // msec
bool pingOK = { false }; bool pingOK = { false };
timeout_t wait_msec = { 3000 }; timeout_t wait_msec = { 3000 };
bool force = { false }; /*!< флаг означающий, что надо сохранять в SM, даже если значение не менялось */ bool force = { false }; /*!< флаг означающий, что надо сохранять в SM, даже если значение не менялось */
...@@ -582,7 +582,7 @@ class MBSlave: ...@@ -582,7 +582,7 @@ class MBSlave:
timeout_t updateStatTime = { 4000 }; timeout_t updateStatTime = { 4000 };
ModbusTCPServer::Sessions sess; /*!< список открытых сессий */ ModbusTCPServer::Sessions sess; /*!< список открытых сессий */
std::mutex sessMutex; std::mutex sessMutex;
unsigned int sessMaxNum = { 5 }; size_t sessMaxNum = { 5 };
std::shared_ptr<ModbusTCPServerSlot> tcpserver; std::shared_ptr<ModbusTCPServerSlot> tcpserver;
struct ClientInfo struct ClientInfo
......
...@@ -61,7 +61,7 @@ static unsigned short crc_16_tab[] = ...@@ -61,7 +61,7 @@ static unsigned short crc_16_tab[] =
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
/* CRC-16 is based on the polynomial x^16 + x^15 + x^2 + 1. Bits are */ /* CRC-16 is based on the polynomial x^16 + x^15 + x^2 + 1. Bits are */
/* sent LSB to MSB. */ /* sent LSB to MSB. */
static int get_crc_16( unsigned short crc, unsigned char* buf, int size ) static int get_crc_16( uint16_t crc, unsigned char* buf, int size )
{ {
while( size-- ) while( size-- )
...@@ -89,9 +89,9 @@ static int get_crc_16( unsigned short crc, unsigned char* buf, int size ) ...@@ -89,9 +89,9 @@ static int get_crc_16( unsigned short crc, unsigned char* buf, int size )
return crc; return crc;
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
unsigned short UniSetUDP::makeCRC( unsigned char* buf, size_t len ) uint16_t UniSetUDP::makeCRC( unsigned char* buf, size_t len )
{ {
unsigned short crc = 0xffff; uint16_t crc = 0xffff;
crc = get_crc_16(crc, (unsigned char*)(buf), len); crc = get_crc_16(crc, (unsigned char*)(buf), len);
return crc; return crc;
} }
...@@ -317,9 +317,9 @@ size_t UDPMessage::getMessage( UDPMessage& m, UDPPacket& p ) ...@@ -317,9 +317,9 @@ size_t UDPMessage::getMessage( UDPMessage& m, UDPPacket& p )
return i + sz; return i + sz;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
unsigned short UDPMessage::getDataCRC() uint16_t UDPMessage::getDataCRC()
{ {
unsigned short crc[3]; uint16_t crc[3];
crc[0] = makeCRC( (unsigned char*)(a_dat), sizeof(a_dat) ); crc[0] = makeCRC( (unsigned char*)(a_dat), sizeof(a_dat) );
crc[1] = makeCRC( (unsigned char*)(d_id), sizeof(d_id) ); crc[1] = makeCRC( (unsigned char*)(d_id), sizeof(d_id) );
crc[2] = makeCRC( (unsigned char*)(d_dat), sizeof(d_dat) ); crc[2] = makeCRC( (unsigned char*)(d_dat), sizeof(d_dat) );
......
...@@ -32,8 +32,10 @@ namespace UniSetUDP ...@@ -32,8 +32,10 @@ namespace UniSetUDP
\todo Подумать на тему сделать два отдельных вида пакетов для булевых значений и для аналоговых, \todo Подумать на тему сделать два отдельных вида пакетов для булевых значений и для аналоговых,
чтобы уйти от преобразования UDPMessage --> UDPPacket --> UDPMessage. чтобы уйти от преобразования UDPMessage --> UDPPacket --> UDPMessage.
*/
\warning ТЕКУЩАЯ ВЕРСИЯ ПРОТОКОЛА НЕ БУДЕТ РАБОТАТЬ МЕЖДУ 32-битными и 64-битными системами (из-за отличия в типе long).
т.к. это не сильно актуально, пока не переделываю.
*/
const unsigned int UNETUDP_MAGICNUM = 0x1337A1D; // идентификатор протокола const unsigned int UNETUDP_MAGICNUM = 0x1337A1D; // идентификатор протокола
...@@ -41,7 +43,7 @@ namespace UniSetUDP ...@@ -41,7 +43,7 @@ namespace UniSetUDP
{ {
UDPHeader(): magic(UNETUDP_MAGICNUM), num(0), nodeID(0), procID(0), dcount(0), acount(0) {} UDPHeader(): magic(UNETUDP_MAGICNUM), num(0), nodeID(0), procID(0), dcount(0), acount(0) {}
unsigned int magic; unsigned int magic;
unsigned long num; size_t num;
long nodeID; long nodeID;
long procID; long procID;
...@@ -80,10 +82,10 @@ namespace UniSetUDP ...@@ -80,10 +82,10 @@ namespace UniSetUDP
UDPPacket(): len(0) {} UDPPacket(): len(0) {}
size_t len; size_t len;
unsigned char data[ sizeof(UDPHeader) + MaxDCount * sizeof(long) + MaxDDataCount + MaxACount * sizeof(UDPAData) ]; uint8_t data[ sizeof(UDPHeader) + MaxDCount * sizeof(long) + MaxDDataCount + MaxACount * sizeof(UDPAData) ];
} __attribute__((packed)); } __attribute__((packed));
static const int MaxDataLen = sizeof(UDPPacket); static const size_t MaxDataLen = sizeof(UDPPacket);
struct UDPMessage: struct UDPMessage:
public UDPHeader public UDPHeader
...@@ -126,7 +128,8 @@ namespace UniSetUDP ...@@ -126,7 +128,8 @@ namespace UniSetUDP
{ {
return acount; return acount;
} }
unsigned short getDataCRC();
uint16_t getDataCRC();
// количество байт в пакете с булевыми переменными... // количество байт в пакете с булевыми переменными...
size_t d_byte() const size_t d_byte() const
...@@ -136,12 +139,12 @@ namespace UniSetUDP ...@@ -136,12 +139,12 @@ namespace UniSetUDP
UDPAData a_dat[MaxACount]; /*!< аналоговые величины */ UDPAData a_dat[MaxACount]; /*!< аналоговые величины */
long d_id[MaxDCount]; /*!< список дискретных ID */ long d_id[MaxDCount]; /*!< список дискретных ID */
unsigned char d_dat[MaxDDataCount]; /*!< битовые значения */ uint8_t d_dat[MaxDDataCount]; /*!< битовые значения */
friend std::ostream& operator<<( std::ostream& os, UDPMessage& p ); friend std::ostream& operator<<( std::ostream& os, UDPMessage& p );
}; };
unsigned short makeCRC( unsigned char* buf, size_t len ); uint16_t makeCRC( unsigned char* buf, size_t len );
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
#endif // UDPPacket_H_ #endif // UDPPacket_H_
......
...@@ -116,7 +116,7 @@ class UNetReceiver: ...@@ -116,7 +116,7 @@ class UNetReceiver:
{ {
return !ptRecvTimeout.checkTime(); return !ptRecvTimeout.checkTime();
} }
inline unsigned long getLostPacketsNum() const inline size_t getLostPacketsNum() const
{ {
return lostPackets; return lostPackets;
} }
......
...@@ -192,7 +192,7 @@ class UNetSender ...@@ -192,7 +192,7 @@ class UNetSender
DMap dlist; DMap dlist;
size_t maxItem = { 0 }; size_t maxItem = { 0 };
size_t packetnum = { 1 }; /*!< номер очередного посылаемого пакета */ size_t packetnum = { 1 }; /*!< номер очередного посылаемого пакета */
unsigned short lastcrc = { 0 }; uint16_t lastcrc = { 0 };
UniSetUDP::UDPPacket s_msg; UniSetUDP::UDPPacket s_msg;
size_t maxAData = { UniSetUDP::MaxACount }; size_t maxAData = { UniSetUDP::MaxACount };
......
...@@ -60,7 +60,7 @@ namespace UniSetTypes ...@@ -60,7 +60,7 @@ namespace UniSetTypes
class MyClass class MyClass
{ {
public: public:
void Time(int id){ cout << "Timer id: "<< id << endl;} void Time(size_t id){ cout << "Timer id: "<< id << endl;}
}; };
MyClass* rec = new MyClass(); MyClass* rec = new MyClass();
...@@ -81,10 +81,10 @@ class CallbackTimer ...@@ -81,10 +81,10 @@ class CallbackTimer
public: public:
/*! Максимальное количество таймеров */ /*! Максимальное количество таймеров */
static const unsigned int MAXCallbackTimer = 20; static const size_t MAXCallbackTimer = 20;
/*! прототип функции вызова */ /*! прототип функции вызова */
typedef void(Caller::* Action)( int id ); typedef void(Caller::* Action)( size_t id );
CallbackTimer(Caller* r, Action a); CallbackTimer(Caller* r, Action a);
~CallbackTimer(); ~CallbackTimer();
...@@ -94,14 +94,14 @@ class CallbackTimer ...@@ -94,14 +94,14 @@ class CallbackTimer
void terminate(); /*!< остановка */ void terminate(); /*!< остановка */
// Работа с таймерами (на основе интерфейса PassiveTimer) // Работа с таймерами (на основе интерфейса PassiveTimer)
void reset(int id); /*!< перезапустить таймер */ void reset(size_t id); /*!< перезапустить таймер */
void setTiming(int id, int timrMS); /*!< установить таймер и запустить */ void setTiming(size_t id, timeout_t timrMS); /*!< установить таймер и запустить */
int getInterval(int id); /*!< получить интервал, на который установлен таймер, в мс */ timeout_t getInterval(size_t id); /*!< получить интервал, на который установлен таймер, в мс */
int getCurrent(int id); /*!< получить текущее значение таймера */ timeout_t getCurrent(size_t id); /*!< получить текущее значение таймера */
void add( int id, int timeMS )throw(UniSetTypes::LimitTimers); /*!< добавление нового таймера */ void add( size_t id, timeout_t timeMS )throw(UniSetTypes::LimitTimers); /*!< добавление нового таймера */
void remove( int id ); /*!< удаление таймера */ void remove( size_t id ); /*!< удаление таймера */
protected: protected:
...@@ -123,10 +123,10 @@ class CallbackTimer ...@@ -123,10 +123,10 @@ class CallbackTimer
struct TimerInfo struct TimerInfo
{ {
TimerInfo(int id, PassiveTimer& pt): TimerInfo(size_t id, PassiveTimer& pt):
id(id), pt(pt) {}; id(id), pt(pt) {};
int id; size_t id;
PassiveTimer pt; PassiveTimer pt;
}; };
...@@ -136,14 +136,15 @@ class CallbackTimer ...@@ -136,14 +136,15 @@ class CallbackTimer
// функция-объект для поиска по id // функция-объект для поиска по id
struct FindId_eq: public std::unary_function<TimerInfo, bool> struct FindId_eq: public std::unary_function<TimerInfo, bool>
{ {
FindId_eq(const int id): id(id) {} FindId_eq(const size_t id): id(id) {}
inline bool operator()(const TimerInfo& ti) const inline bool operator()(const TimerInfo& ti) const
{ {
return ti.id == id; return ti.id == id;
} }
int id; size_t id;
}; };
}; };
//----------------------------------------------------------------------------------------
#include "CallbackTimer.tcc" #include "CallbackTimer.tcc"
//----------------------------------------------------------------------------------------
# endif //CallbackTimer_H_ # endif //CallbackTimer_H_
...@@ -101,7 +101,7 @@ void CallbackTimer<Caller>::terminate() ...@@ -101,7 +101,7 @@ void CallbackTimer<Caller>::terminate()
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
template <class Caller> template <class Caller>
void CallbackTimer<Caller>::add( int id, int timeMS )throw(UniSetTypes::LimitTimers) void CallbackTimer<Caller>::add(size_t id, timeout_t timeMS )throw(UniSetTypes::LimitTimers)
{ {
if( lst.size() >= MAXCallbackTimer ) if( lst.size() >= MAXCallbackTimer )
{ {
...@@ -118,7 +118,7 @@ void CallbackTimer<Caller>::add( int id, int timeMS )throw(UniSetTypes::LimitTim ...@@ -118,7 +118,7 @@ void CallbackTimer<Caller>::add( int id, int timeMS )throw(UniSetTypes::LimitTim
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
template <class Caller> template <class Caller>
void CallbackTimer<Caller>::remove( int id ) void CallbackTimer<Caller>::remove( size_t id )
{ {
// STL - способ поиска // STL - способ поиска
typename TimersList::iterator li= find_if(lst.begin(),lst.end(),FindId_eq(id)); typename TimersList::iterator li= find_if(lst.begin(),lst.end(),FindId_eq(id));
...@@ -142,7 +142,7 @@ void CallbackTimer<Caller>::clearTimers() ...@@ -142,7 +142,7 @@ void CallbackTimer<Caller>::clearTimers()
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
template <class Caller> template <class Caller>
void CallbackTimer<Caller>::reset( int id ) void CallbackTimer<Caller>::reset( size_t id )
{ {
typename TimersList::iterator li= find_if(lst.begin(),lst.end(),FindId_eq(id)); typename TimersList::iterator li= find_if(lst.begin(),lst.end(),FindId_eq(id));
if( li!=lst.end() ) if( li!=lst.end() )
...@@ -150,7 +150,7 @@ void CallbackTimer<Caller>::reset( int id ) ...@@ -150,7 +150,7 @@ void CallbackTimer<Caller>::reset( int id )
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
template <class Caller> template <class Caller>
void CallbackTimer<Caller>::setTiming( int id, int timeMS ) void CallbackTimer<Caller>::setTiming( size_t id, timeout_t timeMS )
{ {
typename TimersList::iterator li= find_if(lst.begin(),lst.end(),FindId_eq(id)); typename TimersList::iterator li= find_if(lst.begin(),lst.end(),FindId_eq(id));
if( li!=lst.end() ) if( li!=lst.end() )
...@@ -158,23 +158,23 @@ void CallbackTimer<Caller>::setTiming( int id, int timeMS ) ...@@ -158,23 +158,23 @@ void CallbackTimer<Caller>::setTiming( int id, int timeMS )
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
template <class Caller> template <class Caller>
int CallbackTimer<Caller>::getInterval( int id ) timeout_t CallbackTimer<Caller>::getInterval( size_t id )
{ {
typename TimersList::iterator li= find_if(lst.begin(),lst.end(),FindId_eq(id)); typename TimersList::iterator li= find_if(lst.begin(),lst.end(),FindId_eq(id));
if( li!=lst.end() ) if( li!=lst.end() )
return li->pt.getInterval(); return li->pt.getInterval();
return -1;
return TIMEOUT_INF;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
template <class Caller> template <class Caller>
int CallbackTimer<Caller>::getCurrent( int id ) timeout_t CallbackTimer<Caller>::getCurrent( size_t id )
{ {
typename TimersList::iterator li= find_if(lst.begin(),lst.end(),FindId_eq(id)); typename TimersList::iterator li= find_if(lst.begin(),lst.end(),FindId_eq(id));
if( li!=lst.end() ) if( li!=lst.end() )
return li->pt.getCurrent(); return li->pt.getCurrent();
return -1; return TIMEOUT_INF;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
# endif //CallbackTimer_TCC_H_ # endif //CallbackTimer_TCC_H_
...@@ -126,10 +126,10 @@ class ComPort ...@@ -126,10 +126,10 @@ class ComPort
protected: protected:
void openPort(); void openPort();
static const int BufSize = 8192; static const size_t BufSize = 8192;
unsigned char buf[BufSize]; unsigned char buf[BufSize];
int curSym = { 0 }; size_t curSym = { 0 };
int bufLength = { 0 }; size_t bufLength = { 0 };
int fd = { -1 }; int fd = { -1 };
timeout_t uTimeout = { 0 }; timeout_t uTimeout = { 0 };
bool waiting = { false }; bool waiting = { false };
......
...@@ -49,9 +49,9 @@ class ComPort485F: ...@@ -49,9 +49,9 @@ class ComPort485F:
protected: protected:
virtual unsigned char m_receiveByte( bool wait ) override; virtual unsigned char m_receiveByte( bool wait ) override;
void save2queue( unsigned char* msg, int len, int bnum ); void save2queue(unsigned char* msg, size_t len, size_t bnum );
bool remove_echo( unsigned char tb[], int len ); bool remove_echo( unsigned char tb[], size_t len );
void m_read( int tmsec ); void m_read( timeout_t tmsec );
/*! просто временный буфер для считывания данных */ /*! просто временный буфер для считывания данных */
unsigned char tbuf[ComPort::BufSize]; unsigned char tbuf[ComPort::BufSize];
......
...@@ -134,15 +134,15 @@ namespace UniSetTypes ...@@ -134,15 +134,15 @@ namespace UniSetTypes
UniversalIO::IOType getIOType( const std::string& name ); UniversalIO::IOType getIOType( const std::string& name );
// net // net
inline unsigned int getCountOfNet() const inline size_t getCountOfNet() const
{ {
return countOfNet; return countOfNet;
} }
inline unsigned int getRepeatTimeout() const inline size_t getRepeatTimeout() const
{ {
return repeatTimeout; return repeatTimeout;
} }
inline unsigned int getRepeatCount() const inline size_t getRepeatCount() const
{ {
return repeatCount; return repeatCount;
} }
...@@ -162,7 +162,7 @@ namespace UniSetTypes ...@@ -162,7 +162,7 @@ namespace UniSetTypes
return imagesDir; // временно return imagesDir; // временно
} }
inline int getHeartBeatTime() inline timeout_t getHeartBeatTime()
{ {
return heartbeat_msec; return heartbeat_msec;
} }
...@@ -193,7 +193,6 @@ namespace UniSetTypes ...@@ -193,7 +193,6 @@ namespace UniSetTypes
return docDir; return docDir;
} }
inline bool isLocalIOR() const inline bool isLocalIOR() const
{ {
return localIOR; return localIOR;
...@@ -273,11 +272,11 @@ namespace UniSetTypes ...@@ -273,11 +272,11 @@ namespace UniSetTypes
CORBA::PolicyList policyList; CORBA::PolicyList policyList;
std::string NSName = { "" }; /*!< имя сервиса именования на ланной машине (обычно "NameService") */ std::string NSName = { "" }; /*!< имя сервиса именования на ланной машине (обычно "NameService") */
unsigned int countOfNet = { 1 }; /*!< количество резервных каналов */ size_t countOfNet = { 1 }; /*!< количество резервных каналов */
unsigned int repeatCount = { 3 }; /*!< количество попыток получить доступ к удаленному объекту size_t repeatCount = { 3 }; /*!< количество попыток получить доступ к удаленному объекту
прежде чем будет выработано исключение TimeOut. */ прежде чем будет выработано исключение TimeOut. */
unsigned int repeatTimeout = { 50 }; /*!< пауза между попытками [мс] */ timeout_t repeatTimeout = { 50 }; /*!< пауза между попытками [мс] */
UniSetTypes::ListOfNode lnodes; UniSetTypes::ListOfNode lnodes;
...@@ -311,7 +310,7 @@ namespace UniSetTypes ...@@ -311,7 +310,7 @@ namespace UniSetTypes
bool localIOR = { false }; bool localIOR = { false };
bool transientIOR = { false }; bool transientIOR = { false };
int heartbeat_msec = { 3000 }; timeout_t heartbeat_msec = { 3000 };
}; };
/*! Глобальный указатель на конфигурацию (singleton) */ /*! Глобальный указатель на конфигурацию (singleton) */
......
...@@ -40,7 +40,7 @@ class Pulse ...@@ -40,7 +40,7 @@ class Pulse
// t1_msec - интервал "вкл" // t1_msec - интервал "вкл"
// t0_msec - интерфал "откл" // t0_msec - интерфал "откл"
inline void run( int _t1_msec, int _t0_msec ) inline void run( timeout_t _t1_msec, timeout_t _t0_msec )
{ {
t1_msec = _t1_msec; t1_msec = _t1_msec;
t0_msec = _t0_msec; t0_msec = _t0_msec;
...@@ -49,7 +49,7 @@ class Pulse ...@@ -49,7 +49,7 @@ class Pulse
set(true); set(true);
} }
inline void set_next( int _t1_msec, int _t0_msec ) inline void set_next( timeout_t _t1_msec, timeout_t _t0_msec )
{ {
t1_msec = _t1_msec; t1_msec = _t1_msec;
t0_msec = _t0_msec; t0_msec = _t0_msec;
...@@ -116,11 +116,11 @@ class Pulse ...@@ -116,11 +116,11 @@ class Pulse
} }
inline long getT1() inline timeout_t getT1()
{ {
return t1_msec; return t1_msec;
} }
inline long getT0() inline timeout_t getT0()
{ {
return t0_msec; return t0_msec;
} }
...@@ -131,8 +131,8 @@ class Pulse ...@@ -131,8 +131,8 @@ class Pulse
PassiveTimer tCorr; // корректирующий таймер PassiveTimer tCorr; // корректирующий таймер
bool ostate; bool ostate;
bool isOn; bool isOn;
long t1_msec; timeout_t t1_msec;
long t0_msec; timeout_t t0_msec;
}; };
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
......
...@@ -57,7 +57,7 @@ namespace UniSetTypes ...@@ -57,7 +57,7 @@ namespace UniSetTypes
const ObjectId AdminID = -2; /*!< сервисный идентификатор используемый утилитой admin */ const ObjectId AdminID = -2; /*!< сервисный идентификатор используемый утилитой admin */
typedef unsigned long KeyType; /*!< уникальный ключ объекта */ typedef size_t KeyType; /*!< уникальный ключ объекта */
/*! генератор уникального положительного ключа /*! генератор уникального положительного ключа
* Уникальность гарантируется только для пары значений * Уникальность гарантируется только для пары значений
......
...@@ -260,7 +260,7 @@ class UniXML ...@@ -260,7 +260,7 @@ class UniXML
static const xmlChar* local2xml( const std::string& text ); static const xmlChar* local2xml( const std::string& text );
static std::string local2utf8( const std::string& text ); static std::string local2utf8( const std::string& text );
static int recur; static size_t recur;
}; };
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
#endif #endif
...@@ -253,18 +253,15 @@ void ComPort485F::sendByte( unsigned char x ) ...@@ -253,18 +253,15 @@ void ComPort485F::sendByte( unsigned char x )
} }
} }
// -------------------------------------------------------------------------------- // --------------------------------------------------------------------------------
void ComPort485F::save2queue( unsigned char* msg, int len, int bnum ) void ComPort485F::save2queue( unsigned char* msg, size_t len, size_t bnum )
{ {
for( auto i = 0; i < len && i < bnum; i++ ) for( size_t i = 0; i < len && i < bnum; i++ )
{
wq.push(msg[i]); wq.push(msg[i]);
// fprintf(stderr,"save 2 squeue: %x\n",msg[i]);
}
} }
// -------------------------------------------------------------------------------- // --------------------------------------------------------------------------------
bool ComPort485F::remove_echo( unsigned char tb[], int len ) bool ComPort485F::remove_echo( unsigned char tb[], size_t len )
{ {
int i = 0; size_t i = 0;
while( !wq.empty() ) while( !wq.empty() )
{ {
...@@ -291,10 +288,10 @@ bool ComPort485F::remove_echo( unsigned char tb[], int len ) ...@@ -291,10 +288,10 @@ bool ComPort485F::remove_echo( unsigned char tb[], int len )
return wq.empty(); return wq.empty();
} }
// -------------------------------------------------------------------------------- // --------------------------------------------------------------------------------
void ComPort485F::m_read( int tmsec ) void ComPort485F::m_read( timeout_t tmsec )
{ {
ptRecv.setTiming(tmsec); ptRecv.setTiming(tmsec);
int rc = 0; ssize_t rc = 0;
while( !ptRecv.checkTime() ) while( !ptRecv.checkTime() )
{ {
......
...@@ -41,7 +41,7 @@ using namespace std; ...@@ -41,7 +41,7 @@ using namespace std;
*/ */
// Временная переменная для подсчёта рекурсии // Временная переменная для подсчёта рекурсии
int UniXML::recur = 0; size_t UniXML::recur = 0;
UniXML::UniXML(const string& filename): UniXML::UniXML(const string& filename):
doc(0), doc(0),
......
...@@ -12,7 +12,7 @@ class MyTestClass ...@@ -12,7 +12,7 @@ class MyTestClass
MyTestClass(): num1(0), num2(0), num3(0) {} MyTestClass(): num1(0), num2(0), num3(0) {}
~MyTestClass() {} ~MyTestClass() {}
void Time( int id ) void Time( size_t id )
{ {
if( id == 1 ) if( id == 1 )
num1++; num1++;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment