LED Control


⚠️ Note: This document describes how to use the SDK's API to operate the scanning device and provides sample code in C language. Please note that the API is a synchronous operation and may block the main thread when used.

⚠️ Note: Before using the API, you need to connect the device first. For specific steps, please refer to Connect Device.

1. Write Command

To control the LED light of the scanning device, you need to perform a write without response operation using the following Bluetooth service and characteristic UUIDs:

Bluetooth UUID
Service 0x0000ff0000001000800000805f9b34fb
Characteristic 0x0000ff0400001000800000805f9b34fb

Use the following command to get the data to write to the characteristic:

const char* result = inateck_scanner_cmd_set_led(led_color, light_time, dark_time, led_count);

Input parameters:


The return result is in JSON format. If the call is successful, result will return:

{
    "status": 0,
    "data": [0, 1, 2, 3],
}

If the call fails, result will return:

{
    "status": 1,
    "data": [],
}

2. Message Parsing

After waiting for the device to respond, you can use the following method to parse the data:

int result = inateck_scanner_cmd_check_result(data, data_length);

The return result is of type int. If the call is successful, result will return 0. If the call fails, result will return 1.

3. Sample Code

#include <stdio.h>
#include <string.h>
#include "inateck_scanner_cmd.h"

int main() {
    const char* result = inateck_scanner_cmd_set_led(3, 10, 10, 10);
    if (result) {
        // result is in JSON format, parse the data
        const unsigned char* data = (const unsigned char*)result;
        int data_length = strlen(result);

        // Send data via Bluetooth write without response
        // Assume there is a function send_data_via_bluetooth to send data
        send_data_via_bluetooth(data, data_length);

        // Wait for the device to respond, receive data
        // Assume there is a function receive_data_via_bluetooth to receive data
        receive_data_via_bluetooth();

        const unsigned char* data = get_received_data();
        int data_length = get_received_data_length();

        // Parse the data
        int result = inateck_scanner_cmd_check_result(data, data_length);
        if (result == 0) {
            printf("Set led success\n");
        } else {
            printf("Set led failed\n");
        }
    }
    return 0;
}