Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

unpack

Unpack signal data from CAN message

Syntax

value = unpack(message,startbit,signalsize,byteorder,datatype)

Description

example

value = unpack(message,startbit,signalsize,byteorder,datatype) takes a set of input parameters to unpack the signal value from the message and returns the value as output.

Examples

collapse all

Unpack the data value from a CAN message.

Unpack a 16-bit integer value.

message = canMessage(500,false,8);
pack(message,int16(1000),0,16,'LittleEndian')
value = unpack(message,0,16,'LittleEndian','int16')
value =

  int16

   1000

Unpack a 32-bit single value.

pack(message,single(-40),0,32,'LittleEndian')
value = unpack(message,0,32,"LittleEndian",'single')
value =

   single

   -40

Unpack a 64-bit double value.

pack(message,3.14,0,64,'LittleEndian')
value = unpack(message,0,64,'LittleEndian','double')
value =

    3.1400

Input Arguments

collapse all

CAN message, specified as a CAN message object, from which to unpack the data.

Example: canMessage

Signal starting bit in the data, specified as a single or double value. This is the least significant bit position in the signal data. Accepted values for startbit are from 0 through 63, inclusive.

Example: 0

Data Types: single | double

Length of the signal in bits, specified as a numeric value. Accepted values for signalsize are from 1 through 64, inclusive.

Example: 16

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Signal byte order format, specified as 'LittleEndian' or 'BigEndian'.

Example: 'LittleEndian'

Data Types: char | string

Data type of unpacked value, specified as a character vector or string. The supported values are 'uint8', 'int8', 'uint16', 'int16', 'uint32', 'int32', 'uint64', 'int64', 'single', and 'double'.

Example: 'double'

Data Types: char | string

Output Arguments

collapse all

Value of message data, returned as a numeric value of the specified data type.

Introduced in R2009a

Was this topic helpful?