RUI3 (RAK Unified Interface 3) - RAK4631
API Mode

Functions

void send (RAK_SERIAL_PORT port, uint8_t flag, uint8_t frame_type, uint8_t *payload, uint16_t length, RAK_PROTO_HANDLER response_handler)
 
int32_t registerHandler (uint8_t frame_type, RAK_PROTO_HANDLER request_handler)
 
int32_t deregisterHandler (uint8_t frame_type)
 

Detailed Description

Function Documentation

◆ send()

void send ( RAK_SERIAL_PORT  port,
uint8_t  flag,
uint8_t  frame_type,
uint8_t *  payload,
uint16_t  length,
RAK_PROTO_HANDLER  response_handler 
)
Description
This API is used to generate API mode packet.
Syntax
api.apiMode.send(port, flag, frame_type, payload, length, response_handler);
Parameters
portThe port this packet is sent to
List:
RAK_SERIAL_UART0
RAK_SERIAL_UART1
RAK_SERIAL_UART2
RAK_SERIAL_USB0
RAK_SERIAL_BLE0
flagflag header of API mode protocol
frame_typeframe type header of API mode protocol
payloadpacket payload
lengthpacket length
response_handlerone-time handler for this API mode request
void setup()
{
  Serial2.begin(115200);
  Serial1.begin(115200, RAK_API_MODE);
}

void loop()
{
  //Payload length inside payload 0x0000; Flag 0x00; AT CMD ID 16
  uint8_t buff[] = {0x00, 0x00, 0x00, 0x10};

  api.apiMode.send(RAK_SERIAL_UART1, 0x00, 0x01, buff, 4, NULL);
  delay(1000);
}

◆ registerHandler()

int32_t registerHandler ( uint8_t  frame_type,
RAK_PROTO_HANDLER  request_handler 
)
Description
This API is used to register a new frame type for API mode stack.
Syntax
api.apiMode.registerHandler(frame_type, request_handler);
Parameters
frame_typeframe type header of API mode protocol
request_handlerrequest handler for this frame type

◆ deregisterHandler()

int32_t deregisterHandler ( uint8_t  frame_type)
Description
This API is used to deregister a frame type for API mode stack.
Syntax
api.apiMode.deregisterHandler(frame_type);
Parameters
frame_typeframe type header of API mode protocol