Grablo Help Grablo Help
  • User Manual
  • Tips
  • News
  • Go to
    • Grablo Home
    • Grablo App
  • 한국어
Grablo Help Grablo Help
문의하기
Grablo Help Grablo Help
  • User Manual
  • Tips
  • News
  • Go to
    • Grablo Home
    • Grablo App
  • 한국어
loading
  1. Home
  2. User Manuals
  3. Logic
  4. Action
  5. Type
  6. User Defined Communication
Updated on August 14, 2025

User Manuals

  • Folder icon closed Folder open iconQuick Start Guide
    • Grablo!
    • Basic Concepts
  • Folder icon closed Folder open iconProject
    • General
    • Sharing Project
  • Folder icon closed Folder open iconLogic
    • Logic
    • Control Group
    • Control
    • Condition Group
    • Action Group
    • Condition
      • General
      • Type
        • Always Met
        • Once Met
        • Variable Comparison
        • Schedule
        • Time Range
        • Time Interval
        • Condition Reference
        • Action Reference
        • Change Detection
        • Custom Condition
    • Action
      • General
      • Type
        • Write Variable
        • I/O Device Control
        • Time Delay
        • Timer
        • Display Image
        • Play Media
        • Synthesizer
        • Audio Recording
        • Audio Transform
        • Shell Command
        • Speech-to-Text
        • Text-to-Speech
        • File System
        • Read/Write File
        • Database
        • HTTP Communication
        • MQTT Communication
        • OPC UA Communication
        • Modbus Communication
        • Send Email
        • Telegram Message
        • User Defined Communication
        • PID Control
        • Statistics
        • Collection
        • Custom Action
  • Folder icon closed Folder open iconDashboard
    • General
    • Widgets
  • Folder icon closed Folder open iconSetting
    • GPIO
    • Variables
    • I/O Device
    • File Editor
    • Collection
    • Timer
    • Image Viewer
    • Audio Transfrom
    • Media Player
    • Synthesizer
    • Text-to-Speech
    • Speech-to-Text
    • Audio Recorder
    • MQTT Client
    • OPC UA Client
    • Modbus
    • Email Client
    • Telegram Bot
    • Database
    • User Defined Communication
    • PID Control
    • Statistics
  • Folder icon closed Folder open iconI/O Device
    • DS18B20 Digital Temperature Sensor
    • MAX31865 RTD Temperature Sensor
    • TinyGPS++ GPS Library
    • BMP180 Digital Pressure and Temperature Sensor
    • AHTx0 Temperature and Humidity Sensor
    • SHT2x Temperature and Humidity Sensor
    • Servo Motor Control
    • PWM Signal Output
    • PWM Signal Monitoring
    • Hardware PWM Signal Output
    • LED Control
    • Push Button Input
    • Digital I/O
    • Stepper Motor Control
    • High Speed Counter
    • ADS1x15 ADC
    • ADXL345 3-Axis Accelerometer
    • BME280 Temperature, Humidity, Pressure Sensor
    • BMP280 Temperature, Pressure Sensor
    • MLX90614 Infrared Temperature Sensor
    • MCP4725 DAC
    • QMC5883L 3-Axis Magnetometer
    • SHT31 Digital Temperature and Humidity Sensor
    • TCS34725 RGB Color Sensor
    • VEML6070 UV Sensor
    • BH1750 Digital Light Intensity Sensor
    • DS3231 RTC High-Precision Real-Time Clock
    • MPU-9250 9-Axis IMU Sensor
    • CCS811 Carbon Dioxide and TVOC Air Quality Sensor
    • VL53L0X ToF Laser Distance Sensor
    • TFmini Plus(S) LiDAR Distance Sensor
    • MAX7219 8-Digit 7-Segment Display
    • PCF8574 LCD Display Driver
    • HC-SR04 Ultrasonic Distance Sensor
    • LED Brightness Control
    • RGB LED Color Control
    • DC Motor Control
    • AT24C256 EEPROM Memory
    • DHTxx Temperature and Humidity Sensor
    • MCP3xxx ADC
    • LCD Display Driver (MCP23008, MCP23017)
    • MFRC522 RFID Reader
    • Passive Buzzer
    • NeoPixel (WS281x) LED
    • Infrared (IR) Receiver
    • NeoPixel Matrix
    • ST77xx TFT Color LCD
    • ILI9341 TFT Color LCD
    • SSD1306 0.96-inch Monochrome OLED Display
    • SH1106 1.3-inch Monochrome OLED Display
    • MAX7219 8×8 LED Dot Matrix
    • HT16K33 4-Digit 7-Segment Display
    • HX711 Load Cell 24-bit AD Converter
    • TCS3200 RGB Color Sensor
    • MPU6050 6-Axis Gyro Accelerometer
    • TM1637 4-Digit 7-Segment Display
    • PM2008(M) Particulate Matter Sensor
    • PMS x003 Particulate Matter Sensor
    • MAX30102 SpO2 and Heart Rate Sensor
    • AS608, FPM10A Fingerprint Sensor
    • TTP229 Capacitive 16-Key Touch Keypad
    • 4×4 Keypad Matrix
    • Analog to Digital Converter (ADC)
    • Digital to Analog Converter (DAC)
    • RPM Monitor
    • PCA9685 16-Channel 12-Bit PWM Servo Driver
    • INA219 DC Current Sensor
    • VL6180X ToF Distance Sensor
    • Custom Digital Waveform Output
    • NRF24L01 2.4GHz RF Module
  • Folder icon closed Folder open iconBlock Coding
    • General
    • Blocks
      • Values
      • Logic
      • Loop
      • Math
      • Date/Time
      • Text
      • Byte Array
      • List
      • Type Conversion
      • Unit Conversion
      • Science
      • Bit/Byte
      • Complex Numbers/Vectors
      • JSON
      • XML
      • Local Variables
      • Local Functions
  • Folder icon closed Folder open iconConnect & Run
    • Hardware and Operating System
    • Grablo Package Installation
    • Connect and Run

User Defined Communication

Estimated reading: 4 minutes 326 views

An action that allows users to define and use their own communication protocols. Communication is possible using serial communication, TCP, UDP, WebSocket, shared memory, and Bluetooth.



[User Defined Communication]

Select the user defined communication to use.

User defined communications can be added, edited, or deleted from the selection window or [Settings] -> [User Defined Communication].



[Command]

Select the command to execute.

  • Send: Transmits the configured data frame.

  • Receive: Receives data.



[Receive Complete]

Select a variable to store reception completion status. When new data is received, this variable becomes true, otherwise it becomes false. Only displayed when [Command] is “Receive”.


[Frame]

Configure the data frame to send or receive. The frame serves the following roles:

  • When sending data
    • Composes the data to be sent.
    • Can include constants, variables, and integrity check data.
    • If variables are included, the variable values at the time of sending are used.
    • If integrity check data is included, the integrity of the sending data is checked and the calculation result is included in the frame.

  • When receiving data
    • Compares received data with frame data to check for matches.
    • Can include constants, variables, and integrity check data.
    • If variables are included, parses the received data and stores the values in variables.
    • If integrity check data is included, performs integrity checks on the received data to verify that the results match.



> [Name]

Enter the name of the data. Any name can be used.


> [Type]

Select the type of data.

  • Digital: A digital type constant that is true or false.

  • Number: A numeric type constant. You can specify numeric formats such as byte size, integer/floating point.

  • Text: A text type constant.

  • Byte Array: A byte array type constant.

  • Variable: Only [Digital], [Numeric], [String], and [Byte Array] type variables can be selected.

  • Integrity Check: Checks data for errors and verifies integrity. Provides various calculation methods.



> [Value]

Enter a constant value. Only displayed when [Type] is “Digital”, “Number”, “Text”, or “Byte Array”.


> [Number Format]

Select the format of the number. Only displayed when [Type] is “Number”.


> [Unknown Byte Size]

Check this if the byte size of the data to receive is unknown. Only displayed when [Command] is “Receive” and [Type] is “Variable”. Only one variable with unknown byte size can exist in a frame.


> [Byte Size]

Enter the byte size of the data to receive. Parses and stores in the variable by this size. Only displayed when [Command] is “Receive” and [Type] is “Variable”.


> [Byte Reverse]

Reverses the byte order of data to be sent or received. Used when the communication partner has a different byte order (endian) handling method. Only displayed when the constant or variable type is “Number”, “Text”, or “Byte Array”.


> [Check Method]

Select the integrity check method for frame data. Checks integrity from [Start Data] to [End Data]. Only displayed when [Type] is “Integrity Check”.

  • BYTE SUM: Calculates the sum by adding all bytes of data.

  • WORD SUM: Calculates the sum by adding words (16-bit units) of data.

  • BYTE XOR: Accumulates all bytes of data using XOR operation.

  • 7BIT SUM: Removes the upper 1 bit from each data byte and calculates the sum by adding only the remaining 7 bits.

  • 7BIT XOR: Removes the upper 1 bit from each data byte and accumulates only the remaining 7 bits using XOR operation.

  • 7BIT SUM (≥ 0x20): Sums using 7 bits only for data bytes with values of 0x20 (space) or higher.

  • BYTE SUM (2’s Complement): Adds all bytes and converts the sum to two’s complement to calculate the check value.

  • BYTE SUM (1’s Complement): Adds all bytes and converts the sum to one’s complement (bit inversion) to calculate the check value.

  • CRC16 STANDARD: Calculates 16-bit cyclic redundancy check (CRC) based on standard polynomial.

  • CRC16 CCITT: Calculates 16-bit CRC based on CCITT standard polynomial (0x1021).

  • CRC16 MODBUS: Calculates 16-bit CRC based on polynomial (0x8005) used in Modbus protocol.



> [Start Data]

Select the start data for integrity check. Only displayed when [Type] is “Integrity Check”.


> [End Data]

Select the end data for integrity check. Only displayed when [Type] is “Integrity Check”.


> [Convert to ASCII]

Converts integrity calculation data to ASCII. For example, if the calculation result is hexadecimal 0x9C, it is changed to string “9C”. Only displayed when [Type] is “Integrity Check”.

찾으시는 내용이 없나요? 문의하기

문의하기

공유하기

User Defined Communication

Or copy link

Clipboard Icon
콘탠츠

ㅤ

Grablo Inc.
support@grablo.co

Site Links

  • Grablo Home
  • Grablo App

이 사이트의 모든 컨텐츠는 저작권법에 보호받는 저작물로서, 무단으로 복제, 배포하는 경우에는 저작권법에 의하여 처벌을 받을 수 있습니다. Copyright 2024 grablo.co. All Rights Reserved.