本文整理汇总了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;未经允许,请勿转载。 |
请发表评论