ezeio2:scriptref:bufdec

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
ezeio2:scriptref:bufdec [2019-06-16 03:02] – created andrehezeio2:scriptref:bufdec [2023-08-18 23:50] (current) andreh
Line 1: Line 1:
-===== Script reference ====== +==== BufDec ====
- +
-==== BufDec( buf[], offset, method ) ====+
  
 Decode a part of a buffer into a scalar Decode a part of a buffer into a scalar
Line 19: Line 17:
 Available methods: Available methods:
 ^ Method ^ Length ^ Type ^ Description ^ ^ Method ^ Length ^ Type ^ Description ^
 +^ BT_INT8 | 8 bit | signed integer | Single octet value |
 +^ BT_UINT8 | 8 bit | unsigned integer | Single octet value |
 ^ BT_INT16 | 16 bit | signed integer | Big endian integer | ^ BT_INT16 | 16 bit | signed integer | Big endian integer |
 ^ BT_UINT16 | 16 bit | unsigned integer | Big endian integer | ^ BT_UINT16 | 16 bit | unsigned integer | Big endian integer |
Line 25: Line 25:
 ^ BT_INT32LE | 32 bit | signed integer | Little endian integer | ^ BT_INT32LE | 32 bit | signed integer | Little endian integer |
 ^ BT_UINT32LE | 32 bit | unsigned integer | Little endian integer | ^ BT_UINT32LE | 32 bit | unsigned integer | Little endian integer |
 +^ BT_INT32BLE | 32 bit | signed integer | Big-Little endian integer |
 +^ BT_UINT32BLE | 32 bit | unsigned integer | Big-Little endian integer |
 +^ BT_INT32LBE | 32 bit | signed integer | Little-Big endian integer |
 +^ BT_UINT32LBE | 32 bit | unsigned integer | Little-Bit endian integer |
 ^ BT_FLOAT | 32 bit | float | IEEE 732 floating point | ^ BT_FLOAT | 32 bit | float | IEEE 732 floating point |
 +^ BT_FLOATLE | 32 bit | float | IEEE 732 floating point little endian |
 +^ BT_FLOAT64 | 64 bit | float64 | IEEE 732 64-bit floating point (converts to 32 bit float) |
 +^ BT_FLOAT64LE | 64 bit | float64 | IEEE 732 64-bit floating point little endian (converts to 32 bit float) |
  
 Also available for decoding bitmaps: Also available for decoding bitmaps:
Line 39: Line 46:
  
 Returns the decoded value Returns the decoded value
 +
 +Note that the returned value is always a 32 bit cell (signed 32 bit integer or 32 bit float).
  
 === Example usage === === Example usage ===
  
 <code javascript> <code javascript>
-   +    new x; 
 +    new s{10}; 
 +  
 +    if(ModbusRead(5, MB_HOLDING, 100, 2, s) == 4) {  // Request and receive two registers (32 bits total) 
 +        x = BufDec(s, 0, BT_INT32);                  // Decode the received data as a 32 bit integer 
 +        // ..further processing         
 +    }   
 </code> </code>
  
  • ezeio2/scriptref/bufdec.1560654153.txt.gz
  • Last modified: 2019-06-16 03:02
  • by andreh