本文整理汇总了C++中ReadInt16LE函数的典型用法代码示例。如果您正苦于以下问题:C++ ReadInt16LE函数的具体用法?C++ ReadInt16LE怎么用?C++ ReadInt16LE使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ReadInt16LE函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: NetAIOGets16
int32 NetAIOGets16(NetAIO *ob,int16* buf) {
Stream *out = ob->out;
int ret_len;
int32 ret;
WriteInt16LE(ob->out,0x0009);
WriteInt8LE(ob->out,ob->instance);
WriteInt8LE(ob->out,0x16);
WriteInt32LE(ob->out,ArrayLength(buf));
ob->out->Flush(ob->out);
if (ob->conn->mode > 0) {
while (ob->conn->count) {
ob->conn->count--;
ReadInt32LE(ob->in);
}
}
if (ReadInt16LE(ob->in) != 0x0009) longjmp(ob->conn->exception,1);
if (ReadUInt8LE(ob->in) != 0x16) longjmp(ob->conn->exception,2);
if (ReadUInt8LE(ob->in) != 0x13) longjmp(ob->conn->exception,3);
ret = ReadInt32LE(out);
if (ReadUInt8LE(ob->in) != 0x51) longjmp(ob->conn->exception,3);
if (ReadInt32LE(ob->in)!=ArrayLength(buf)) longjmp(ob->conn->exception,5);
{
int i;
for(i=0;i<ArrayLength(buf);i++) {
buf[i] = ReadInt16LE(out);
}
}
if (ReadUInt8LE(ob->in) != 0x80) longjmp(ob->conn->exception,2);
return ret;
}
示例2: NetCANTx
CANResult NetCANTx(NetCAN *ob,uint32 flags,uint32 id,const int8* data) {
Stream *out = ob->out;
int ret_len;
CANResult ret;
WriteInt16LE(ob->out,0x0007);
WriteInt8LE(ob->out,ob->instance);
WriteInt8LE(ob->out,0x01);
WriteUInt32LE(ob->out,flags);
WriteUInt32LE(ob->out,id);
int i;
WriteInt32LE(ob->out,ArrayLength(data));
for (i=0;i<ArrayLength(data);i++) {
WriteInt8LE(ob->out,data[i]);
}
ob->out->Flush(ob->out);
if (ob->conn->mode > 0) {
while (ob->conn->count) {
ob->conn->count--;
ReadInt32LE(ob->in);
}
}
if (ReadInt16LE(ob->in) != 0x0007) longjmp(ob->conn->exception,1);
if (ReadInt8LE(ob->in) != 0x01) longjmp(ob->conn->exception,2);
if (ReadInt8LE(ob->in) != 0xCB) longjmp(ob->conn->exception,3);
ret = ReadInt32LE(out);
if (ReadInt8LE(ob->in) != 0x80) longjmp(ob->conn->exception,2);
return ret;
}
示例3: NetAIOPeriodRangeList
PeriodRange* NetAIOPeriodRangeList(NetAIO *ob) {
Stream *out = ob->out;
int ret_len;
PeriodRange* ret;
WriteInt16LE(ob->out,0x0009);
WriteInt8LE(ob->out,ob->instance);
WriteInt8LE(ob->out,0x06);
ob->out->Flush(ob->out);
if (ob->conn->mode > 0) {
while (ob->conn->count) {
ob->conn->count--;
ReadInt32LE(ob->in);
}
}
if (ReadInt16LE(ob->in) != 0x0009) longjmp(ob->conn->exception,1);
if (ReadUInt8LE(ob->in) != 0x06) longjmp(ob->conn->exception,2);
if (ReadUInt8LE(ob->in) != 0x71) longjmp(ob->conn->exception,3);
ret_len = ReadInt32LE(ob->in);
ret = ArrayAlloc(ret_len,12);
{
int i;
for(i=0;i<ret_len;i++) {
if (ReadUInt8LE(ob->in) != 0x03) longjmp(ob->conn->exception,3);
ret[i].start = ReadUInt32LE(out);
if (ReadUInt8LE(ob->in) != 0x03) longjmp(ob->conn->exception,3);
ret[i].step = ReadUInt32LE(out);
if (ReadUInt8LE(ob->in) != 0x03) longjmp(ob->conn->exception,3);
ret[i].count = ReadUInt32LE(out);
}
}
if (ReadUInt8LE(ob->in) != 0x80) longjmp(ob->conn->exception,2);
return ret;
}
示例4: NetAIOReadys32
int32 NetAIOReadys32(NetAIO *ob,const int32* buf) {
Stream *out = ob->out;
int ret_len;
int32 ret;
WriteInt16LE(ob->out,0x0009);
WriteInt8LE(ob->out,ob->instance);
WriteInt8LE(ob->out,0x1D);
int i;
WriteInt32LE(ob->out,ArrayLength(buf));
for (i=0;i<ArrayLength(buf);i++) {
WriteInt32LE(ob->out,buf[i]);
}
ob->out->Flush(ob->out);
if (ob->conn->mode > 0) {
while (ob->conn->count) {
ob->conn->count--;
ReadInt32LE(ob->in);
}
}
if (ReadInt16LE(ob->in) != 0x0009) longjmp(ob->conn->exception,1);
if (ReadUInt8LE(ob->in) != 0x1D) longjmp(ob->conn->exception,2);
if (ReadUInt8LE(ob->in) != 0x13) longjmp(ob->conn->exception,3);
ret = ReadInt32LE(out);
if (ReadUInt8LE(ob->in) != 0x80) longjmp(ob->conn->exception,2);
return ret;
}
示例5: NetBusPeekStream
void NetBusPeekStream(NetBus *ob,int32 address,int32 direction,int8* dest) {
Stream *out = ob->out;
int ret_len;
WriteInt16LE(ob->out,0x0001);
WriteInt8LE(ob->out,ob->instance);
WriteInt8LE(ob->out,0x15);
WriteInt32LE(ob->out,address);
WriteInt32LE(ob->out,direction);
WriteInt32LE(ob->out,ArrayLength(dest));
ob->out->Flush(ob->out);
if (ob->conn->mode > 0) {
while (ob->conn->count) {
ob->conn->count--;
ReadInt32LE(ob->in);
}
}
if (ReadInt16LE(ob->in) != 0x0001) longjmp(ob->conn->exception,1);
if (ReadUInt8LE(ob->in) != 0x15) longjmp(ob->conn->exception,2);
if (ReadUInt8LE(ob->in) != 0x50) longjmp(ob->conn->exception,3);
if (ReadInt32LE(ob->in)!=ArrayLength(dest)) longjmp(ob->conn->exception,5);
{
int i;
for(i=0;i<ArrayLength(dest);i++) {
dest[i] = ReadInt8LE(out);
}
}
if (ReadUInt8LE(ob->in) != 0x80) longjmp(ob->conn->exception,2);
}
示例6: NetBusAssign32X
uint32 NetBusAssign32X(NetBus *ob,int32 Address,int32 BitMSB,int32 BitLSB,int32 Value) {
Stream *out = ob->out;
int ret_len;
uint32 ret;
WriteInt16LE(ob->out,0x0001);
WriteInt8LE(ob->out,ob->instance);
WriteInt8LE(ob->out,0x1E);
WriteInt32LE(ob->out,Address);
WriteInt32LE(ob->out,BitMSB);
WriteInt32LE(ob->out,BitLSB);
WriteInt32LE(ob->out,Value);
ob->out->Flush(ob->out);
if (ob->conn->mode > 0) {
while (ob->conn->count) {
ob->conn->count--;
ReadInt32LE(ob->in);
}
}
if (ReadInt16LE(ob->in) != 0x0001) longjmp(ob->conn->exception,1);
if (ReadUInt8LE(ob->in) != 0x1E) longjmp(ob->conn->exception,2);
if (ReadUInt8LE(ob->in) != 0x03) longjmp(ob->conn->exception,3);
ret = ReadUInt32LE(out);
if (ReadUInt8LE(ob->in) != 0x80) longjmp(ob->conn->exception,2);
return ret;
}
示例7: NetAIOTriggerList
int32* NetAIOTriggerList(NetAIO *ob) {
Stream *out = ob->out;
int ret_len;
int32* ret;
WriteInt16LE(ob->out,0x0009);
WriteInt8LE(ob->out,ob->instance);
WriteInt8LE(ob->out,0x07);
ob->out->Flush(ob->out);
if (ob->conn->mode > 0) {
while (ob->conn->count) {
ob->conn->count--;
ReadInt32LE(ob->in);
}
}
if (ReadInt16LE(ob->in) != 0x0009) longjmp(ob->conn->exception,1);
if (ReadUInt8LE(ob->in) != 0x07) longjmp(ob->conn->exception,2);
if (ReadUInt8LE(ob->in) != 0x53) longjmp(ob->conn->exception,3);
ret_len = ReadInt32LE(ob->in);
ret = ArrayAlloc(ret_len,4);
{
int i;
for(i=0;i<ret_len;i++) {
ret[i] = ReadInt32LE(out);
}
}
if (ReadUInt8LE(ob->in) != 0x80) longjmp(ob->conn->exception,2);
return ret;
}
示例8: NetDIOGetMulti
int32 NetDIOGetMulti(NetDIO *ob,int8* state,int32 offset) {
Stream *out = ob->out;
int ret_len;
int32 ret;
WriteInt16LE(ob->out,0x0005);
WriteInt8LE(ob->out,ob->instance);
WriteInt8LE(ob->out,0x0C);
WriteInt32LE(ob->out,ArrayLength(state));
WriteInt32LE(ob->out,offset);
ob->out->Flush(ob->out);
if (ob->conn->mode > 0) {
while (ob->conn->count) {
ob->conn->count--;
ReadInt32LE(ob->in);
}
}
if (ReadInt16LE(ob->in) != 0x0005) longjmp(ob->conn->exception,1);
if (ReadUInt8LE(ob->in) != 0x0C) longjmp(ob->conn->exception,2);
if (ReadUInt8LE(ob->in) != 0x13) longjmp(ob->conn->exception,3);
ret = ReadInt32LE(out);
if (ReadUInt8LE(ob->in) != 0x50) longjmp(ob->conn->exception,3);
if (ReadInt32LE(ob->in)!=ArrayLength(state)) longjmp(ob->conn->exception,5);
{
int i;
for(i=0;i<ArrayLength(state);i++) {
state[i] = ReadInt8LE(out);
}
}
if (ReadUInt8LE(ob->in) != 0x80) longjmp(ob->conn->exception,2);
return ret;
}
示例9: NetEDIOQueryFunction
int32* NetEDIOQueryFunction(NetEDIO *ob,EDIOType type) {
Stream *out = ob->out;
int ret_len;
int32* ret;
WriteInt16LE(ob->out,0x000A);
WriteInt8LE(ob->out,ob->instance);
WriteInt8LE(ob->out,0x03);
WriteInt32LE(ob->out,type);
ob->out->Flush(ob->out);
if (ob->conn->mode > 0) {
while (ob->conn->count) {
ob->conn->count--;
ReadInt32LE(ob->in);
}
}
if (ReadInt16LE(ob->in) != 0x000A) longjmp(ob->conn->exception,1);
if (ReadInt8LE(ob->in) != 0x03) longjmp(ob->conn->exception,2);
if (ReadInt8LE(ob->in) != 0x53) longjmp(ob->conn->exception,3);
ret_len = ReadInt32LE(ob->in);
ret = ArrayAlloc(ret_len,4);
{
int i;
for(i=0;i<ret_len;i++) {
ret[i] = ReadInt32LE(out);
}
}
if (ReadInt8LE(ob->in) != 0x80) longjmp(ob->conn->exception,2);
return ret;
}
示例10: MOZ_ASSERT
bool WaveReader::DecodeAudioData()
{
MOZ_ASSERT(OnTaskQueue());
int64_t pos = GetPosition() - mWavePCMOffset;
int64_t len = GetDataLength();
int64_t remaining = len - pos;
NS_ASSERTION(remaining >= 0, "Current wave position is greater than wave file length");
static const int64_t BLOCK_SIZE = 4096;
int64_t readSize = std::min(BLOCK_SIZE, remaining);
int64_t frames = readSize / mFrameSize;
static_assert(uint64_t(BLOCK_SIZE) < UINT_MAX /
sizeof(AudioDataValue) / MAX_CHANNELS,
"bufferSize calculation could overflow.");
const size_t bufferSize = static_cast<size_t>(frames * mChannels);
nsAutoArrayPtr<AudioDataValue> sampleBuffer(new AudioDataValue[bufferSize]);
static_assert(uint64_t(BLOCK_SIZE) < UINT_MAX / sizeof(char),
"BLOCK_SIZE too large for enumerator.");
nsAutoArrayPtr<char> dataBuffer(new char[static_cast<size_t>(readSize)]);
if (!ReadAll(dataBuffer, readSize)) {
return false;
}
// convert data to samples
const char* d = dataBuffer.get();
AudioDataValue* s = sampleBuffer.get();
for (int i = 0; i < frames; ++i) {
for (unsigned int j = 0; j < mChannels; ++j) {
if (mSampleFormat == FORMAT_U8) {
uint8_t v = ReadUint8(&d);
*s++ = UnsignedByteToAudioSample<AudioDataValue>(v);
} else if (mSampleFormat == FORMAT_S16) {
int16_t v = ReadInt16LE(&d);
*s++ = SignedShortToAudioSample<AudioDataValue>(v);
}
}
}
double posTime = BytesToTime(pos);
double readSizeTime = BytesToTime(readSize);
NS_ASSERTION(posTime <= INT64_MAX / USECS_PER_S, "posTime overflow");
NS_ASSERTION(readSizeTime <= INT64_MAX / USECS_PER_S, "readSizeTime overflow");
NS_ASSERTION(frames < INT32_MAX, "frames overflow");
mAudioQueue.Push(new AudioData(pos,
static_cast<int64_t>(posTime * USECS_PER_S),
static_cast<int64_t>(readSizeTime * USECS_PER_S),
static_cast<int32_t>(frames),
sampleBuffer.forget(),
mChannels,
mSampleRate));
return true;
}
示例11: NetModeDec
void NetModeDec(NetMode *ob) {
Stream *out = ob->out;
int ret_len;
WriteInt16LE(ob->out,0x000B);
WriteInt8LE(ob->out,ob->instance);
WriteInt8LE(ob->out,0x04);
if (ob->conn->mode > 0) ob->conn->count++;
if (ob->conn->mode < 2) ob->out->Flush(ob->out);
if (ob->conn->mode > 0) return;
if (ReadInt16LE(ob->in) != 0x000B) longjmp(ob->conn->exception,1);
if (ReadInt8LE(ob->in) != 0x04) longjmp(ob->conn->exception,2);
if (ReadInt8LE(ob->in) != 0x80) longjmp(ob->conn->exception,2);
}
示例12: NetBusRefresh
void NetBusRefresh(NetBus *ob) {
Stream *out = ob->out;
int ret_len;
WriteInt16LE(ob->out,0x0001);
WriteInt8LE(ob->out,ob->instance);
WriteInt8LE(ob->out,0x17);
if (ob->conn->mode > 0) ob->conn->count++;
if (ob->conn->mode < 2) ob->out->Flush(ob->out);
if (ob->conn->mode > 0) return;
if (ReadInt16LE(ob->in) != 0x0001) longjmp(ob->conn->exception,1);
if (ReadUInt8LE(ob->in) != 0x17) longjmp(ob->conn->exception,2);
if (ReadUInt8LE(ob->in) != 0x80) longjmp(ob->conn->exception,2);
}
示例13: NetBusCommit
void NetBusCommit(NetBus *ob,int32 ForceAll) {
Stream *out = ob->out;
int ret_len;
WriteInt16LE(ob->out,0x0001);
WriteInt8LE(ob->out,ob->instance);
WriteInt8LE(ob->out,0x18);
WriteInt32LE(ob->out,ForceAll);
if (ob->conn->mode > 0) ob->conn->count++;
if (ob->conn->mode < 2) ob->out->Flush(ob->out);
if (ob->conn->mode > 0) return;
if (ReadInt16LE(ob->in) != 0x0001) longjmp(ob->conn->exception,1);
if (ReadUInt8LE(ob->in) != 0x18) longjmp(ob->conn->exception,2);
if (ReadUInt8LE(ob->in) != 0x80) longjmp(ob->conn->exception,2);
}
示例14: NetBusBitClear32
void NetBusBitClear32(NetBus *ob,int32 Address,int32 BitNumber) {
Stream *out = ob->out;
int ret_len;
WriteInt16LE(ob->out,0x0001);
WriteInt8LE(ob->out,ob->instance);
WriteInt8LE(ob->out,0x14);
WriteInt32LE(ob->out,Address);
WriteInt32LE(ob->out,BitNumber);
if (ob->conn->mode > 0) ob->conn->count++;
if (ob->conn->mode < 2) ob->out->Flush(ob->out);
if (ob->conn->mode > 0) return;
if (ReadInt16LE(ob->in) != 0x0001) longjmp(ob->conn->exception,1);
if (ReadUInt8LE(ob->in) != 0x14) longjmp(ob->conn->exception,2);
if (ReadUInt8LE(ob->in) != 0x80) longjmp(ob->conn->exception,2);
}
示例15: NetBusPoke32
void NetBusPoke32(NetBus *ob,int32 Address,uint32 Value) {
Stream *out = ob->out;
int ret_len;
WriteInt16LE(ob->out,0x0001);
WriteInt8LE(ob->out,ob->instance);
WriteInt8LE(ob->out,0x08);
WriteInt32LE(ob->out,Address);
WriteUInt32LE(ob->out,Value);
if (ob->conn->mode > 0) ob->conn->count++;
if (ob->conn->mode < 2) ob->out->Flush(ob->out);
if (ob->conn->mode > 0) return;
if (ReadInt16LE(ob->in) != 0x0001) longjmp(ob->conn->exception,1);
if (ReadUInt8LE(ob->in) != 0x08) longjmp(ob->conn->exception,2);
if (ReadUInt8LE(ob->in) != 0x80) longjmp(ob->conn->exception,2);
}