There was a problem with your SQL connection - Please contact the administrator
Prototype
SetBufferAtZeroTo_16 (val)
Description
Write an (int16)val to buffer at index 0
buffer[0] = val;
Return
Nothing
Code Example
The following code example uses the SetBufferAtZeroTo_16 function.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | /* Example Code * SetBufferAtZeroTo_16 * * get val * set buffer[0] to val * if params used * return content of buffer[0] on 16 bits * else * return 0x00 (buffer[0] != val) or 0x01 (buffer[0] == val) on 8 bits * * example VMExecuteCmd: * cmd: |val * 0xfb 0x0e 0x00 0x0c 0x00 0x0e [0x?? 0x?? 0x?? = macAdress] 0x00 0x00 * rsp: 0xfb 0x08 0x00 0x2d 0x00 0xe1 0x1e 0x01 */ #include "SMK900.evi" #define SENSORCODE 0x01 function exec_aircmd(){ local rxLen; local useParams; local val; local result; rxLen=GetAirBuf(0, 0, 20); if (rxLen>=3){ // 1 byte for paketID + 2 bytes of payload (2 bytes for param) useParams= true ; val=GetBuffer_16(1); } else { useParams= false ; val=-1; } SetBufferAtZeroTo_16(val); if (useParams){ Send(2); } else { if (GetBuffer_16(0)==-1){ result = 1; } else { result = 0; } SetBuffer(0,result,1); Send(1); } } function main() { local execType; execType = GetExecType(); if (execType==MESHEXECTYPE_AIRCMD_bm){ exec_aircmd(); } } |