• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ canWrite函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中canWrite函数的典型用法代码示例。如果您正苦于以下问题:C++ canWrite函数的具体用法?C++ canWrite怎么用?C++ canWrite使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了canWrite函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: sendMsgBurst

static void sendMsgBurst (int burstNr, int handle1, int handle2)
{
  canStatus stat;
  int i;
  
  // Send a burst of messages on both channels
  for (i=0; i<BURST_SIZE; i++) {
    stat = canWrite(handle1, 
                    msgs1[i].id,
                    msgs1[i].data, 
                    msgs1[i].dlc, 
                    msgs1[i].flags);
    if (stat != canOK) {
      printSomeStuff();
      printf("line %d, burst %d, msg %d\n", __LINE__, burstNr, i);
      Check("canWrite() failed", stat);
    }
    
    stat = canWrite(handle2, 
                    msgs2[i].id,
                    msgs2[i].data, 
                    msgs2[i].dlc, 
                    msgs2[i].flags);
    if (stat != canOK) {
      printSomeStuff();
      printf("line %d, burst %d, msg %d\n", __LINE__, burstNr, i);
      Check("canWrite() failed", stat);
    }
  }
}
开发者ID:mc01104,项目名称:CTR,代码行数:30,代码来源:kvTimeStampTester.c


示例2: incBusLoad

void incBusLoad (int channel, int flags, int load)
{
  canHandle handle;
  unsigned char msg[8] = "Kvaser!";
  int i, id = 100, dlc = sizeof(msg);
  canStatus stat = canERR_PARAM;
  handle  = canOpenChannel(channel, flags);
  if (handle < 0) {
    check("canOpenChannel", handle);
    return;
  }
  stat = canBusOff(handle);
  check("canBusOff", stat);
  stat = canSetBusParams(handle, bitrate, 0, 0, 0, 0, 0);
  check("canSetBusParams", stat);
  canBusOn(handle);
  for (i = 0; i < load; i++) {
    stat = canWrite(handle, id, &msg, dlc, 0);
    check("canWrite", stat);
  }
  stat = canWriteWait(handle, id, &msg, dlc, 0, -1);
  check("canWriteWait", stat);
  canBusOff(handle);
  canClose(handle);
}
开发者ID:astuff,项目名称:kvaser-linuxcan,代码行数:25,代码来源:busstat.c


示例3: printMessage

int CESDDevice::writeDevice(CProtocolMessage& rclProtocolMessage)
{
	int iRetVal = 0;
	long iNumberOfMessages = 1;
	CMSG clESDProtocolMessage;
	m_iErrorState = 0;

        //debug output

        printMessage(rclProtocolMessage,WRITE);
	clESDProtocolMessage.id = rclProtocolMessage.m_uiMessageId;
	clESDProtocolMessage.len = rclProtocolMessage.m_ucMessageLength;
	if(rclProtocolMessage.m_bRTRFlag)
		clESDProtocolMessage.len |= 0x10;
	memcpy(clESDProtocolMessage.data, rclProtocolMessage.m_aucMessageData, rclProtocolMessage.m_ucMessageLength);
	iRetVal = canWrite(m_hDevice, &clESDProtocolMessage, &iNumberOfMessages, NULL);
//	iRetVal = canSend(m_hDevice, &clESDProtocolMessage, &iNumberOfMessages);
	if(iRetVal != NTCAN_SUCCESS)
	{
		warning("can send failed Errorcode: %d", iRetVal);
		m_iErrorState = getDeviceError(iRetVal);
		return m_iErrorState;
	}

	return m_iErrorState;
}
开发者ID:ipa-goa-wt,项目名称:schunk_modular_robotics,代码行数:26,代码来源:ESDDevice.cpp


示例4: payload_type_set_send_fmtp

/**
 * Sets a send parameters (fmtp) for the PayloadType.
 * This method is provided for applications using RTP with SDP, but
 * actually the ftmp information is not used for RTP processing.
**/
void payload_type_set_send_fmtp(PayloadType *pt, const char *fmtp){
	if (canWrite(pt)){
		if (pt->send_fmtp!=NULL) ortp_free(pt->send_fmtp);
		if (fmtp!=NULL) pt->send_fmtp=ortp_strdup(fmtp);
		else pt->send_fmtp=NULL;
	}
}
开发者ID:FennyFatal,项目名称:the-ims-open-source-project-for-android,代码行数:12,代码来源:payloadtype.c


示例5: writeTape

afs_int32
writeTape(int fid, struct tape *tapePtr, afs_int32 dumpid)
{
    struct budb_tapeEntry tapeEntry;
    afs_int32 code = 0, tcode;

    tcode = writeStructHeader(fid, SD_TAPE);
    if (tcode)
	ERROR(tcode);

    tapeToBudbTape(tapePtr, &tapeEntry);

    tapeEntry.dump = htonl(dumpid);

    if (canWrite(fid) <= 0)
	ERROR(BUDB_DUMPFAILED);

    if (write(fid, &tapeEntry, sizeof(tapeEntry)) != sizeof(tapeEntry))
	ERROR(BUDB_DUMPFAILED);

    haveWritten(sizeof(tapeEntry));

  error_exit:
    return (code);
}
开发者ID:adeason,项目名称:openafs,代码行数:25,代码来源:db_dump.c


示例6: GDALGetDriverCount

void ossimGdalImageWriterFactory::getImageFileWritersByMimeType(ossimImageWriterFactoryBase::ImageFileWriterList& result,
                                                                const ossimString& mimeType)const
{
   int c = GDALGetDriverCount();
   int idx = 0;
   for(idx = 0; idx < c; ++idx)
   {
      
      GDALDriverH h = GDALGetDriver(idx);
      if(canWrite(h))
      {
         ossimString  driverName = GDALGetDriverShortName(h);
         driverName = "gdal_" + driverName.upcase();
         ossimString metaData(GDALGetMetadataItem(h, GDAL_DMD_MIMETYPE, 0));
         if(!metaData.empty())
         {
            if(metaData == mimeType)
            {
               ossimGdalWriter* writer = new ossimGdalWriter;
               writer->setOutputImageType(driverName);
               result.push_back(writer);
               if ( driverName == "gdal_JP2KAK" )
               {
                  // Make it lossless for starters.  User can still override.
                  ossimKeywordlist kwl;
                  kwl.add("property0.name", "QUALITY");
                  kwl.add("property0.value", "100");
                  writer->loadState(kwl, NULL);
               }
               return;
            }
         }
      }
   }
}
开发者ID:ICODE-MDA,项目名称:AutomatedSARShipDetection,代码行数:35,代码来源:ossimGdalImageWriterFactory.cpp


示例7: writeVolume

afs_int32
writeVolume(struct ubik_trans *ut, int fid, struct volFragment *volFragmentPtr,
	    struct volInfo *volInfoPtr, afs_int32 dumpid, char *tapeName)
{
    struct budb_volumeEntry budbVolume;
    afs_int32 code = 0;

    volsToBudbVol(volFragmentPtr, volInfoPtr, &budbVolume);

    budbVolume.dump = htonl(dumpid);
    strcpy(budbVolume.tape, tapeName);

    writeStructHeader(fid, SD_VOLUME);

    if (canWrite(fid) <= 0)
	ERROR(BUDB_DUMPFAILED);

    if (write(fid, &budbVolume, sizeof(budbVolume)) != sizeof(budbVolume))
	ERROR(BUDB_DUMPFAILED);

    haveWritten(sizeof(budbVolume));

  error_exit:
    return (code);
}
开发者ID:adeason,项目名称:openafs,代码行数:25,代码来源:db_dump.c


示例8: write

bool BackgroundTexturesIOPC::write(const BackgroundTexturesPC *textures)
{
	if(!canWrite()) {
		return false;
	}

	for(quint8 texID=0 ; texID<BACKGROUND_TEXTURE_PC_MAX_COUNT ; ++texID) {

		quint16 exists = textures->hasTex(texID);

		if(device()->write((char *)&exists, 2) != 2) {
			return false;
		}

		if(bool(exists)) {
			BackgroundTexturesPCInfos infos = textures->texInfos(texID);

			quint16 size = infos.size, depth = infos.depth;

			if(device()->write((char *)&size, 2) != 2 ||
					device()->write((char *)&depth, 2) != 2) {
				return false;
			}

			if(device()->write(textures->data().mid(infos.pos, infos.depth * 65536))
					!= infos.depth * 65536) {
				return false;
			}
		}
	}

	return true;
}
开发者ID:TurBoss,项目名称:makoureactor,代码行数:33,代码来源:BackgroundTexturesIO.cpp


示例9: VLOG

bool Fifo::tryConnect() noexcept {
  if (isConnected()) {
    return true;
  }

  if (!exists(path_.c_str())) {
    if (!create(path_.c_str())) {
      static bool logged{false};
      if (!logged) {
        VLOG(1) << "Error creating debug fifo at \"" << path_ << "\": "
                << strerror(errno) << " [" << errno << "]";
        logged = true;
      }
      return false;
    }
  }

  if (!isFifo(path_.c_str()) || !canWrite(path_.c_str())) {
    if (!removeFile(path_.c_str()) ||
        !create(path_.c_str())) {
      return false;
    }
  }

  int fd = folly::openNoInt(path_.c_str(), O_WRONLY | O_NONBLOCK);
  if (fd >= 0) {
    fd_.store(fd);
    return true;
  }

  return false;
}
开发者ID:Fierralin,项目名称:mcrouter,代码行数:32,代码来源:Fifo.cpp


示例10: write

bool BackgroundTilesIO::write(const BackgroundTiles &tiles) const
{
	if(!canWrite()) {
		return false;
	}

	return writeData(tiles);
}
开发者ID:TurBoss,项目名称:makoureactor,代码行数:8,代码来源:BackgroundTilesIO.cpp


示例11: canWrite

PrefsFile::PrefsFile(const QString& pFilePath, bool write)
{
	m_prefsFilePath = pFilePath;
	m_ioEnabled = write;
	if (m_ioEnabled)
		canWrite();
	load();
}
开发者ID:luzpaz,项目名称:scribus,代码行数:8,代码来源:prefsfile.cpp


示例12: writeByte_nonblocking

int writeByte_nonblocking(char byte, uint8_t usartn)
{
   if (canWrite(usartn)) {
      __writeByte(byte, usartn);
      return 0;
   }

   return -1;
}
开发者ID:mzimmerer,项目名称:robot,代码行数:9,代码来源:uart.c


示例13: circularBuffer_write

uint8_t circularBuffer_write(CircularBuffer * buffer, char * data, uint8_t size){
	uint8_t amount = 0;
	while (size-amount>0 && canWrite(buffer)){
		if(circularBuffer_writeByte(buffer, data[amount]) == -1)
			return amount;
		amount++;
	}
	return amount;
}
开发者ID:evaelectronics,项目名称:EVA-OS,代码行数:9,代码来源:circularbuffer.c


示例14: werase

void StatisticsWindow::updateProtocol(AbstractProtocol* p)
{
    if(p != nullptr)
        _activeProtocol = p;
    if(_window == nullptr)
    {
        return;
    }
    werase(_window);
    wborder(_window, ACS_VLINE, ACS_VLINE, ACS_HLINE, ACS_HLINE, ACS_ULCORNER, ACS_URCORNER, ACS_LLCORNER, ACS_LRCORNER);

    std::string tmp("  ");
    for_each(_allProtocols.begin(), _allProtocols.end(), [&](std::string& s) {
        if(!s.compare(_activeProtocol->getProtocolName()))
        {
            tmp += std::string(" < ") + s + std::string(" > ");
        }
        else
        {
            tmp += std::string("   ") + s + std::string("   ");
        }

    });
    mvwprintw(_window, STATISTICS::PROTOCOLS_LINE, FIRST_CHAR_POS, "%s", tmp.c_str());

    unsigned int line = STATISTICS::FIRST_OPERATION_LINE;
    for(unsigned int i = STATISTICS::DEFAULT_GROUP; i <= _activeProtocol->getGroups(); i++)
    {
        if(canWrite(line))
        {
            mvwprintw(_window, line - (_scrollOffset.at(p)), FIRST_CHAR_POS, "%s", "Total:");
        }
        line++;
        for(unsigned int j = _activeProtocol->getGroupBegin(i); j < _activeProtocol->getGroupBegin(i + 1); j++)
        {
            if(canWrite(line))
            {
                mvwprintw(_window, line - (_scrollOffset.at(p)), FIRST_CHAR_POS, "%s", p->printProcedure(j));
            }
            line++;
        }
        line++;
    }
}
开发者ID:ailyasov,项目名称:nfstrace,代码行数:44,代码来源:statistics_window.cpp


示例15: write

bool MemBuffer::write(const Byte* array, size_t size)
{
    bool bOk = false;
    if(canWrite(g_sizeBYTE*size))
    {
        memcpy(getBuffer(), array, size);
        bOk = shiftBuffer(g_sizeBYTE*size);
    }
    return bOk;
}
开发者ID:sfgorky,项目名称:huffman,代码行数:10,代码来源:MemBuffer.cpp


示例16: ECORR32

void NetworkMessage::addU32(uint32_t value)
{
    ECORR32(value);
	if(canWrite(4)){
		m_buffer[m_writePos++] = (uint8_t)(value);
		m_buffer[m_writePos++] = (uint8_t)(value >>  8);
		m_buffer[m_writePos++] = (uint8_t)(value >> 16);
		m_buffer[m_writePos++] = (uint8_t)(value >> 24);
		m_size += 4;
	}
开发者ID:AdamSC1-ddg,项目名称:yatc,代码行数:10,代码来源:networkmessage.cpp


示例17: enable_torque_assist

void enable_torque_assist() {
  // Unit responds to input torque, provides output torque according to
  // programmed assist curve.
  char msg_buf[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
  
  msg_buf[0]=0x02;
  
  check("canWrite", canWrite(h, CAN_ID, (void*)msg_buf, 8, canMSG_EXT));       
  check("canWriteSync", canWriteSync(h, 1000));
}
开发者ID:shivchaitanya,项目名称:Resume,代码行数:10,代码来源:globe_epas.cpp


示例18: writeByte

bool MemBuffer::writeByte(const Byte b)
{
    bool bOk = false;
    if(canWrite(g_sizeBYTE))
    {
        memcpy(getBuffer(), &b, g_sizeBYTE);
        bOk = shiftBuffer(g_sizeBYTE);
    }
    return bOk;
}
开发者ID:sfgorky,项目名称:huffman,代码行数:10,代码来源:MemBuffer.cpp


示例19: writeText

afs_int32
writeText(struct ubik_trans *ut, int fid, int textType)
{
    struct textBlock *tbPtr;
    afs_int32 textSize, writeSize;
    dbadr dbAddr;
    struct block block;
    afs_int32 code = 0;

    /* check lock is free */
    code = checkLock(textType);
    if (code)
	ERROR(code);

    /* ensure that this block has the correct type */
    code = checkText(ut, textType);
    if (code) {
	LogError(0, "writeText: text type %d damaged\n", textType);
	ERROR(code);
    }

    tbPtr = &db.h.textBlock[textType];
    textSize = ntohl(tbPtr->size);
    dbAddr = ntohl(tbPtr->textAddr);

    if (!dbAddr)
	goto error_exit;	/* Don't save anything if no blocks */

    writeTextHeader(fid, textType);

    while (dbAddr) {
	code = cdbread(ut, text_BLOCK, dbAddr, (char *)&block, sizeof(block));
	if (code)
	    ERROR(code);

	writeSize = MIN(textSize, BLOCK_DATA_SIZE);
	if (!writeSize)
	    break;

	if (canWrite(fid) <= 0)
	    ERROR(BUDB_DUMPFAILED);

	if (write(fid, &block.a[0], writeSize) != writeSize)
	    ERROR(BUDB_IO);

	haveWritten(writeSize);
	textSize -= writeSize;

	dbAddr = ntohl(block.h.next);
    }

  error_exit:
    return (code);
}
开发者ID:adeason,项目名称:openafs,代码行数:54,代码来源:db_dump.c


示例20: canSend

/* Can Send Function
 * A function for the sending of can messages on the bus.
 */
static void canSend(uint32_t id) {
  canMessage_t msg = {0, 0, 0, 0};   
  bool txOk = false;        
  
  msg.id = id;  // arbitrary CAN message id   
  msg.len = 4;    // data length 4   
  msg.dataA = 0;   
  msg.dataB = 0;        
  // Transmit message on CAN 1     
  txOk = canWrite(CAN_PORT_1, &msg);  
}
开发者ID:AdamGraneyUni,项目名称:EN617,代码行数:14,代码来源:main.c



注:本文中的canWrite函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ can_draw函数代码示例发布时间:2022-05-30
下一篇:
C++ canUndo函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap