Logo
Logo
  • Products
  • Platforms
  • Services
  • Contact us

Overview

  • Design
    • Design Overview
      • Layers
      • Usage
    • Modules
      • Interfaces
        • GPIO Interface
        • I2C Interface
        • SPI Interface
        • Timer Interface
        • ADC Interface
        • PWM Interface
        • RTC Interface
        • Serial Interface
        • Socket Interface
        • CAN Interface
        • EEPROM Platform Interface
        • High Resolution Timer
        • Watchdog Timer Interface
        • FLASH Interface
      • Devices
        • Cellular
        • Graphic LCD
        • Keypad Driver
        • NOR FLASH
        • Stepper Motor Timer Driver
        • USB Device
        • SD CARD
  • Code Organization
    • Directory Structure
    • Headers
    • Conventions
  • Naming conventions
    • For APIs
    • For HAL Calls
    • For Callbacks
  • Flint integration
  • Organization
    • Driver Modules:
    • App Modules:
  • Implementation:
    • Modbus Sys Con:
  • RAPIDSEA MACROS
    • Overview
    • List of Macros
    • Configuration Header Details
  • RAPIDSEA ERROR CODES
    • Error Codes
    • Error Code Header Details

Coding Standard

  • Coding Conventions
    • Overview
    • Naming Conventions
    • Documentation Format
    • Coding Style and Methods
    • Error Handling
    • Conclusion
  • Naming Conventions
    • File Naming Conventions
      • For Module/Protocol File
      • For HAL File
    • Header Files
      • Header Guard
      • Includes
      • Function Prototypes
      • Variable Naming
        • Macros
        • Structure, Enums, and Typedefs
    • Source Files
      • Includes
      • Function Definitions
        • Static Functions
        • For APIs
        • For HAL Calls
        • For Callbacks
      • Variable Naming
        • Data Types Naming
        • Prefix for Variable Names
  • Documentation
    • Header File Documentation Formats
      • Header
      • Function Documentation
      • Variable Documentation
        • Macros Documentation
        • Structure and Enums Documentation
    • Source File Documentation Formats
      • Header
      • Function Documentation
      • Variable & Macros Documentation
  • Coding Style and Methods
    • Coding Style
      • Indentation & Formatting
      • General Rules
    • Methods
      • Modules, Formats and Utils
      • Protocols
      • Devices Drivers
      • Manager
      • Platform & HAL

Interfaces

  • GPIO Interface
    • GPIO Overview:
    • GPIO Supported Modes
    • Application Interface
    • Error Code
    • Implementation Guide
  • I2C Interface
    • I2C Overview
    • Supported Communication Modes
    • I2C Role Operation
    • Application Interface
    • Implementation Guide
    • Error Code
  • SPI Interface
    • SPI Overview
    • Supported Communication Modes
    • SPI Role Operation
    • Application Interface
    • Error Code
    • Implementation Guide
  • Timer Interface
    • Timer Overview
    • Timer Operation Modes
    • Application Interface
    • Error Code
    • Implementation Guide
  • ADC Interface
    • ADC Overview
    • Application Interface
    • Error Code
    • Implementation Guide
  • PWM Interface
    • PWM Overview
    • PWM Modes
    • Application Interface
    • Implementation Guide
    • Error Code
  • RTC Interface
    • RTC Overview
    • RTC BUS Interface
    • Application Interface
    • Implementation Guide
    • Error Code
  • Serial Interface
    • Serial Overview
    • Supported Communication Modes
    • Application Interface
    • Error Code
    • Implementation Guide
    • Note:
  • Socket Interface
    • Socket Overview
    • Types of Sockets
    • Supported Communication Modes
    • Application Interface
    • Error Code
    • Implementation Guide
    • Note:
  • CAN Interface
    • CAN Overview
    • CAN Types
    • Supported Communication Modes
    • Application Interface
    • Error Code
    • Implementation Guide
  • EEPROM Platform Interface
    • EEPROM Overview
    • Supported Communication Modes
    • EEPROM BUS Interface
    • Application Interface
    • Error Code
    • Implementation Guide
  • High Resolution Timer
    • HR Timer Overview
    • Application Interface
    • Error Code
  • Watchdog Timer Interface
    • Watchdog Timer Overview
    • Application Interface
    • Error Code
  • FLASH Interface
    • FLASH Overview
    • Supported Communication Modes
    • FLASH BUS Interface
    • Application Interface
    • Error Code
    • Implementation Guide

Manager

  • Menu Editor
    • Menu Editor Overview
    • Usage
    • Application Interface
    • Example Usecase
    • Dependency
      • Graphic LCD
        • Graphic LCD Overview
        • Usage
        • Error Code
        • Graphic LCD Header Details
      • Keypad Driver
        • Keypad Overview
        • Usage
        • Application Interface
        • Error Code
        • Keypad driver module Header Details
    • Error Code
    • Menu editor module Header Details
  • Stepper Manager
    • Stepper Manager Overview
    • Usage
    • Application Interface
    • Error Code
    • Stepper Manager Header Details
  • LED Manager
    • LED Manager Overview
    • Application Interface
    • Error Code
    • LED Manager Header Details

Device Drivers

  • Cellular
    • Cellular Overview
    • Application Interface
    • Error Code
    • Cellular Header Details
  • Graphic LCD
    • Graphic LCD Overview
    • Usage
    • Error Code
    • Graphic LCD Header Details
  • Keypad Driver
    • Keypad Overview
    • Usage
    • Application Interface
    • Error Code
    • Keypad driver module Header Details
  • NOR FLASH
    • Nor Flash Overview
    • Application Interface
    • Error Code
    • NOR Flash Header Details
  • Stepper Motor Timer Driver
    • Stepper Motor Timer Driver Overview
    • Application Interface
    • Stepper Motor Timer Driver Header details
  • USB Device
    • USB Device Overview
    • Usage
    • Application Interface
    • Error Code
    • USB device Header Details
  • SD CARD
    • SD Card Overview
    • Usage
    • Application Interface
    • Error Code
    • SD Card Header Details

Bootloader

  • Bootloader
    • Bootloader Overview
    • Supported bootloader interfaces
    • Application Interface
    • Error Code
    • Implementation Guide
    • Note:
    • Bootloader Header Details
  • Bootloader Cloud Connector
    • Bootloader Cloud Overview
    • Application Interface
    • Error Code
    • Implementation Guide
    • Bootloader cloud connector Header Details

Environmental Setup

  • Supported Platforms
    • Linux Environment
    • Windows Environment
    • RA8D1 Environment
  • Project Installation Setup (Linux)
    • Prerequisite
    • Installation Steps (Example)
    • Linux Server Executable Path
    • Linux Client Executable Path
    • Evaluation Version in Linux
    • Application run in Linux
  • Project Installation Setup (Windows)
    • Prerequisite
    • Installation Steps (Example)
    • Windows Server Executable Path
    • Windows Client Executable Path
    • Evaluation Version in Windows
    • Application run in windows
  • Project Installation Setup (RA8D1)
    • Prerequisite
    • Installation Steps (Example)
    • Evaluation Version in RA8D1

Protocols

  • Modbus Client Protocol
    • MODBUS Overview
    • Modbus Client
    • Supported Functionalities
    • Application Interface
    • Implementation Guide
    • Modbus Supported Modes
    • Modbus RTU (Remote Terminal Unit)
    • Modbus TCP/IP (Transmission Control Protocol)
    • Modbus Client Stack Memory Usage
    • Modbus Client Stack RAM Consumption
    • RTU Interface
    • ASCII Interface
    • TCP Interface
    • Modbus Client Header Details
  • Modbus Server Protocol
    • MODBUS Overview
    • Modbus Server
    • Supported Functionalities
    • Application Interface
    • Implementation Guide
    • Modbus Supported Modes
    • Modbus RTU (Remote Terminal Unit)
    • Modbus TCP/IP (Transmission Control Protocol)
    • Modbus Server Stack Memory Usage
    • Modbus Server Stack RAM Consumption
    • RTU Interface
    • ASCII Interface
    • TCP Interface
    • Modbus Server Header Details
  • ISO14229 - UDS Protocol
    • UDS Overview
    • Supported Services
    • UDS Server
    • UDS Client
  • ISO15765 - DoCAN Protocol
    • DoCAN Overview
    • Using DoCAN
    • Dependency
      • CAN Interface
        • CAN Overview
        • CAN Types
        • Supported Communication Modes
        • Application Interface
        • Error Code
        • Implementation Guide
    • DoCAN Header Details
  • ISO13400 - DoIP Protocol
    • DoIP Overview
    • The OSI layer model of DoIP
    • DoIP Packets Structure Info
    • Supported Ports
    • Supported Payloads
    • DoIP Server
    • DoIP Client
    • DoIP Header Details
  • DoIP (ISO13400) Server Stack
    • Overview
    • Application Interface
    • Implementation Guide
    • Dependency
      • Socket Interface
        • Socket Overview
        • Types of Sockets
        • Supported Communication Modes
        • Application Interface
        • Error Code
        • Implementation Guide
        • Note:
    • Example demo
    • DoIP Server Header Details
  • DoIP (ISO13400) Client Stack
    • DoIP Client Overview
    • Application Interface
    • Implementation Guide
    • Dependency
      • Socket Interface
        • Socket Overview
        • Types of Sockets
        • Supported Communication Modes
        • Application Interface
        • Error Code
        • Implementation Guide
        • Note:
    • Example demo
    • DoIP Client Header
  • ISO15031 - OBD Protocol
    • OBD Overview
    • Supported Services
    • OBD-II Server
    • OBD-II Client
  • SAE J1939 - Protocol
    • SAE J1939 Overview
    • The OSI layer of J1939
    • SAE J1939 Communication Mechanisms
    • 1. BAM (Broadcast Announce Message)
    • 2. RTS/CTS (Request to Send / Clear to Send)
    • 3. Request/Response
    • Application Interface
    • Dependency
      • CAN Interface
        • CAN Overview
        • CAN Types
        • Supported Communication Modes
        • Application Interface
        • Error Code
        • Implementation Guide
    • J1939 Header Details
  • UDS Server Stack
    • Overview
    • DoCAN Interface
    • DoIP Interface
    • Application Interface
    • Implementation Guide
    • Example demo
    • UDS Header Details
  • UDS Client Stack
    • UDS Client Overview
    • DoCAN Interface
    • DoIP Interface
    • Application Interface
    • Implementation Guide
    • Example demo
    • UDS Client Header
  • OBD-II Server Stack
    • Overview
    • DoCAN Interface
    • Application Interface
    • Implementation Guide
    • Dependency
      • CAN Interface
        • CAN Overview
        • CAN Types
        • Supported Communication Modes
        • Application Interface
        • Error Code
        • Implementation Guide
    • Example demo
    • OBD Header Details
  • OBD-II Client Stack
    • OBD-II Client Overview
    • DoCAN Interface
    • Application Interface
    • Implementation Guide
    • Dependency
      • CAN Interface
        • CAN Overview
        • CAN Types
        • Supported Communication Modes
        • Application Interface
        • Error Code
        • Implementation Guide
    • Example demo
    • OBD-II Client Header
  • Agent Server
    • Overview
    • Frame Structure
    • Application Interface
    • Agent Header Details
  • SOME/IP Protocol
    • SOME/IP Overview
    • Supported Services
      • 1. Service Discovery (SD)
      • 2. Message Serialization and Deserialization
      • 3. Remote Procedure Call (RPC)
      • 4. Event Notification
      • 5. Event Group Handling
    • SOME/IP Server
    • SOME/IP Client
    • Rapidsea SOME/IP Stack Related Documents/Reports
    • SOME/IP Header Details
  • SOME/IP Server Stack
    • Overview
    • Application Interface
    • SOME/IP Server Configuration Parameter:
    • Implementation Guide
    • SOME/IP Server Stack Memory Usage
    • Note:
    • Dependency
      • Socket Interface
        • Socket Overview
        • Types of Sockets
        • Supported Communication Modes
        • Application Interface
        • Error Code
        • Implementation Guide
        • Note:
    • Example demo
    • SOME/IP Server Header Details
  • SOME/IP Client Stack
    • SOME/IP Client Overview
    • Application Interface
    • SOME/IP Client Configuration Parameter:
    • Implementation Guide
    • SOME/IP Client Stack Memory Usage
    • Note:
    • Dependency
      • Socket Interface
        • Socket Overview
        • Types of Sockets
        • Supported Communication Modes
        • Application Interface
        • Error Code
        • Implementation Guide
        • Note:
    • Example demo
    • SOME/IP Client Header
  • Automotive Navigation Stack
    • Overview
    • Supported features
    • Architecture
    • Hardware Interface
    • Application Interface
    • Implementation Guide
    • Running ANC over RTOS
    • Running ANC over Baremetal
    • Dependency
      • GPIO Interface
        • GPIO Overview:
        • GPIO Supported Modes
        • Application Interface
        • Error Code
        • Implementation Guide
      • SPI Interface
        • SPI Overview
        • Supported Communication Modes
        • SPI Role Operation
        • Application Interface
        • Error Code
        • Implementation Guide
      • Handle Manager
        • Handle Manager Header
    • ANC Header Details
  • XCP Server Protocol
    • XCP Overview
      • Transport Layer Abstraction
      • Key Capabilities
      • RAPIDSEA XCP Stack
    • XCP Server
    • Supported Functionalities
    • Application Interface
    • Implementation Guide
    • XCP Supported Modes
    • XCP UDP (User Datagram Protocol)
    • XCP Server Stack Memory Usage
    • XCP server stack RAM consumption
    • XCP Server header Details

VP

  • Visual Programming
    • Overview
    • Error Code
    • Implementation Guide
    • VP Header

Modules

  • Filter Moving Average
    • Usage
    • Feature Supported
    • Sliding Window Moving Average
    • Exponential Weigting Method
    • Error Code
    • Example Demo
    • Filter Moving Average Header Details
  • Ring Buffer
    • Usage
    • Error Code
    • Example Demo
    • Ring Buffer Header Details
  • Message Queue
    • Usage
    • Feature Supported
    • Limitations
    • Error Code
    • Example Demo
    • Message Queue Header Details
  • Storage Backed Queue
    • Usage
    • Error Code
    • Example Demo
    • Message Queue Header Details
  • Dispatcher
    • Usage
    • Error Code
    • Example Demo
    • Message Queue Header Details
  • Can DBC Framer
    • Usage
    • Error Code
    • Example Demo
    • Message Queue Header Details
  • JSON Parser
    • Example Demo
    • JSON Parser Header Details
  • System Configuration Stack
    • Overview
    • Supported features
    • Architecture
    • Application Interface
    • System Configuration Header Details
  • Container Map
    • Map Structure Format
    • Usage
    • Features Supported
    • Limitations
    • Error Code
    • Example Demo
    • Container Map Header Details

Automotive Modules

  • Auto Modules Introduction
    • Overview
    • Auto Modules Data Structures
    • Auto Modules Working Processes
    • Error Codes
    • Conclusion
    • Auto Module Header Details
  • Speedometer
    • Configuration Parameters
    • APIs
    • Error Codes
    • Speedometer Module Header Details
  • Tachometer
    • Configuration Parameters
    • APIs
    • Error Codes
    • Tachometer Module Header Details
  • Odometer
    • Configuration Parameters
    • APIs
    • Error Codes
    • Odometer Module Header Details
  • Trip Meter
    • Configuration Parameters
    • APIs
    • Error Codes
    • Trip Meter Module Header Details
  • Temperature Gauge
    • Configuration Parameters
    • APIs
    • Error Codes
    • Temperature Module Header Details
  • Fuel Gauge
    • Configuration Parameters
    • APIs
    • Error Codes
    • Fuel Gauge Module Header Details
  • Gear Indication
    • Configuration Parameters
    • APIs
    • Error Codes
    • Gear Module Header Details
  • Telltales
    • Configuration Parameters
    • APIs
    • Error Codes
    • Telltale Module Header Details

Formats

  • MDF4 File Format
    • MDF Overview
    • Block Sections
    • Block Types
    • ID Block (ID)
    • Header Block (HD)
    • Meta Data Block (MD)
    • File history block (FH)
    • Channel Block (CN)
    • Channel Group Block (CG)
    • Data Group block (DG)
    • Data Block (DT)
    • Application Interface
    • Error Code
    • MDF4 Header Details
  • CSV File Format
    • CSV Overview
    • Usage
    • Application Interface
    • Error Code
    • CSV Header Details

Utilities

  • Handle Manager
    • Handle Manager Header
  • Callback Manager
    • Callback Manager Header
  • Search Manager
    • Search Manager Header
  • Array-backed-FIFO Buffer Manager
    • Array-FIFO Buffer Manager Header
  • Pointer-Array-FIFO Buffer Manager
    • Pointer-FIFO Buffer Manager Header
  • Auto De-Fragmenting Memory Pool
    • Auto De-Fragmenting Memory Pool Header

Examples

  • Examples
    • Running Examples
  • Auto Module Demo
    • Features
    • Prerequisites
    • Key Functions
    • Setup
    • Auto Modules Running Example
    • User Configuration of UDP Server
    • User Configuration of UDP Client
    • Auto Modules Working Process
  • Modbus Client Demo
    • Overview
    • Read Coil Status (0x01) request
    • Read Input Status (0x02) request
    • Read Holding Register (0x03) request
    • Read Input Register (0x04) request
    • Write Single Coil (0x05) request
    • Write Single Holding (0x06) request
    • Write Multiple Coils (0x0F) request
    • Write Multiple Holding (0x10) request
    • Modbus Running Example
    • User Configuration of client in RTU
    • User Configuration of client in TCP
  • Modbus Server Demo
    • Overview
    • Modbus Running Example
    • User Configuration of server in RTU
    • User Configuration of server in TCP
  • DoIP UDS Server Demo
    • Diagnostic Session Control (0x10) service
    • ECU Reset (0x11) service
    • Clear Diagnostic Information (0x14) Service
    • Read DTC Information (0x19) Service
    • Read Data By ID (0x22) service
    • Read Memory By Address (0x23) service
    • Read Scaling Data By Identifier (0x24) service
    • Security Access (0x27) service
    • Communication Control (0x28) service
    • Read Data By Periodic Identifier (0x2A) service
    • Write Data By Identifier (0x2E) service
    • Input Output Control By Identifier (0x2F) service
    • Routine Control (0x31) service
    • RequestDownload (0x34) service
    • TransferData (0x36) service
    • RequestTransferExit (0x37) service
    • Write Memory By Address (0x3D) service
    • Tester Present (0x3E) service
    • Access Timing Parameter (0x83) service
    • SecuredDataTransmission (0x84) service
    • Control DTC Setting (0x85) service
    • Link Control (0x87) service
    • DoIP Server Running Example
    • User Configuration for Server
    • Linux
    • Windows
  • DoIP UDS Client Demo
    • Diagnostic Session Control (0x10) request
    • ECU Reset (0x11) request
    • Clear Diagnostic Information (0x14) request
    • Read DTC Information (0x19) request
    • Read Data By ID (0x22) request
    • Read Memory By Address (0x23) request
    • Read Scaling Data By Identifier (0x24) request
    • Security Access (0x27) request
    • Communication Control (0x28) request
    • Read Data By Periodic Identifier (0x2A) request
    • Write Data By Identifier (0x2E) request
    • Input Output Control By Identifier (0x2F) request
    • Routine Control (0x31) request
    • RequestDownload (0x34) request
    • TransferData (0x36) request
    • RequestTransferExit (0x37) request
    • Write Memory By Address (0x3D) request
    • Tester Present (0x3E) request
    • Access Timing Parameter (0x83) request
    • SecuredDataTransmission (0x84) request
    • Control DTC Setting (0x85) request
    • Link Control (0x87) request
    • DoIP Client Running Example
    • User Configuration for Client
    • For Linux
    • For windows
    • Diagnostic Session Control
    • Security Access
    • Security Access request seed
    • Security Access send key
    • Read Data by ID service
    • Write Data by ID Service
  • DoCAN UDS Server Demo
    • Diagnostic Session Control (0x10) service
    • ECU Reset (0x11) service
    • Clear Diagnostic Information (0x14) Service
    • Read DTC Information (0x19) Service
    • Read Data By ID (0x22) service
    • Read Memory By Address (0x23) service
    • Read Scaling Data By Identifier (0x24) service
    • Security Access (0x27) service
    • Communication Control (0x28) service
    • Read Data By Periodic Identifier (0x2A) service
    • Write Data By Identifier (0x2E) service
    • Input Output Control By Identifier (0x2F) service
    • Routine Control (0x31) service
    • RequestDownload (0x34) service
    • TransferData (0x36) service
    • RequestTransferExit (0x37) service
    • Write Memory By Address (0x3D) service
    • Tester Present (0x3E) service
    • Access Timing Parameter (0x83) service
    • SecuredDataTransmission (0x84) service
    • Control DTC Setting (0x85) service
    • Link Control (0x87) service
  • DoCAN UDS Client Demo
    • Diagnostic Session Control (0x10) request
    • ECU Reset (0x11) request
    • Clear Diagnostic Information (0x14) request
    • Read DTC Information (0x19) request
    • Read Data By ID (0x22) request
    • Read Memory By Address (0x23) request
    • Read Scaling Data By Identifier (0x24) request
    • Security Access (0x27) request
    • Communication Control (0x28) request
    • Read Data By Periodic Identifier (0x2A) request
    • Write Data By Identifier (0x2E) request
    • Input Output Control By Identifier (0x2F) request
    • Routine Control (0x31) request
    • RequestDownload (0x34) request
    • TransferData (0x36) request
    • RequestTransferExit (0x37) request
    • Write Memory By Address (0x3D) request
    • Tester Present (0x3E) request
    • Access Timing Parameter (0x83) request
    • SecuredDataTransmission (0x84) request
    • Control DTC Setting (0x85) request
    • Link Control (0x87) request
  • DoCAN OBD-II Server Demo
    • Request Current Diagnostic Data (0x01) service
    • Freeze Frame Data (0x02) service
    • Request Diagnostic Trouble Codes (DTCs) (0x03) service
    • Clear Diagnostic Information (0x04) service
    • Request Oxygen Sensor Monitoring Test Results (0x05) service
    • Request On-Board Monitoring Test Results for Specific Monitored Systems (0x06) service
    • Request Emission-Related Diagnostic Trouble Codes Detected During Current or Last Completed Driving Cycle (0x07) service
    • Request Control of On-Board System, Test or Component (0x08) service
    • Request Vehicle Information (0x09) service
  • DoCAN OBD-II Client Demo
    • Request Current Diagnostic Data (0x01) service
    • Freeze Frame Data (0x02) service
    • Request Diagnostic Trouble Codes (DTCs) (0x03) service
    • Clear Diagnostic Information (0x04) service
    • Request Oxygen Sensor Monitoring Test Results (0x05) service
    • Request On-Board Monitoring Test Results for Specific Monitored Systems (0x06) service
    • Request Emission-Related Diagnostic Trouble Codes Detected During Current or Last Completed Driving Cycle(0x07) service
    • Request Control of On-Board System, Test or Component (0x08) service
    • Request Vehicle Information (0x09) service
  • SAE-J1939 Demo
    • Real-Time ECU Communication Simulation
    • J1939 Running Example
    • PGN-based Message Handling:
    • Multiple Message Handling:
    • Network Management:
  • SOME/IP Server Demo
    • Service Discovery Process
    • Notification Process
    • Server Service Details Information
    • Server Eventgroup Details Information
    • Server Event Information
    • Server Event Data Information
    • Read data by Method ID services:
    • Write data by Method ID services:
    • SOME/IP Server Running Example
    • User Configuration for Server (IPV4)
    • Windows (IPV4)
    • User Configuration for Server (IPV6)
    • Windows (IPV6)
  • SOME/IP Client Demo
    • Service Discovery Process
    • Notification Process
    • Client Service Details Information
    • Client Eventgroup Details Information
    • Client Event Information
    • Client Event Data Information
    • Read data by Method ID services:
    • Write data by Method ID services:
    • SOME/IP Client Running Example
    • User Configuration for Client (IPV4)
    • User Configuration for Client (IPV6)
    • SOME/IP Client Menu:
    • Find service & Eventgroup subscription
    • Read data by Method ID
    • Write data by Method ID
    • Stop subscribe eventgroup
  • MDF Demo
  • JSON Parser Demo
    • Overview
    • Example Usecase
    • JSON Module Driver
  • Filter Moving Average Demo
    • Overview
    • Features
    • Example Usecase
    • Filter Moving Average Module Driver
  • Ring Buffer Demo
    • Overview
    • Features
    • Example Usecase
    • Ring Buffer Module Driver
  • Storage Backed Queue Demo
    • Overview
    • Features
    • Example Usecase
    • Storage Backed Queue Module Driver
  • Message Queue Demo
    • Overview
    • Features
    • Example Usecase
    • Message Queue Driver
  • Dispatcher Demo
    • Overview
    • Features
    • Example Usecase
    • Dispatcher Module Driver
  • Can DBC framer Demo
    • Overview
    • Features
    • Can DBC framer Module Driver
  • Visual Programming Demo
    • Overview
    • VP Running Example (Cold Storage Monitoring System)
    • VP demo tutorial
  • XCP Server Demo
    • Overview
    • XCP Running Example
    • XCP Server Initialization
    • XCP running Example
      • Use Case: Fuel Tank Simulation
RAPIDSEA
  • Rapidsea
  • Menu Editor

Menu Editor

Menu Editor Overview

  • This is the menu editor module is the aplication module which will edit the menu contents provided by the user.

  • In application text menu, the menu list and variables are declared.

  • The main buffer structure variable and the internal data buffer both should be declared on the application side and the pointers of the variables are used in the module.

Usage

  1. The API functions have the first argument as the strucure instance and next followed by config structure.

  2. Menu config and variables are initialized with module open function.

  3. The module has an edit mode to modify the menu contents and a view mode to display the menu data.

  4. Return codes of API functions are defined in header file.

Application Interface

Menu editor calls

Function

Description

rs_menu_editor_open

Function to open the menu editor module

rs_menu_editor_refresh_lcd_contents

Function to refresh the menu editor contents in lcd module

rs_menu_editor_process

Function to process the menu editor contents.

rs_menu_editor_update_contents

Function to update the menu editor contents.

The below table contains callback functions that are to be performed from the HAL.

Callback Functions

Function

Description

rcb_keypad_action

It executes an action when a key event (press or release) occurs. It processes the key event and triggers the appropriate response.

Example Usecase

The example of menu listed below:

const rs_lcd_menu_list_t arr_menu_Items[] =
{
//label             parent  child  next   data id                     format                           prop

{"menu",              0,      1,    0,      0,                          0,                              0},//0
{"Configuration",     0,      4,    2,      0,                          0,                              0}, //1
{"Status",            0,      10,   3,      0,                          0,                              0}, //2
{"About",             0,      12,   0,      0,                          0,                              0}, //3
{"Control mode",      1,      0,    5,      FLINT_DATA_BRIDGE_ID_DEFAULT_DATA_DB_ENUM_CONTROL_MODE,    RS_DATA_PROP_STORAGE_ENUM,    MENU_PROP_EDITTABLE | MENU_PROP_HAS_VALUE}, //4
{"CAN Baud rate",     1,      0,    6,      FLINT_DATA_BRIDGE_ID_DEFAULT_DATA_DB_ENUM_BAUDRATE,        RS_DATA_PROP_STORAGE_ENUM,    MENU_PROP_EDITTABLE | MENU_PROP_HAS_VALUE}, //5
{"Open circuit",      1,      0,    9,      FLINT_DATA_BRIDGE_ID_DEFAULT_DATA_DB_ENUM_OPEN_CIRCUIT,    RS_DATA_PROP_STORAGE_ENUM,    MENU_PROP_EDITTABLE | MENU_PROP_HAS_VALUE}, //8
{"Drive mode",        1,      0,    0,      FLINT_DATA_BRIDGE_ID_DEFAULT_DATA_DB_ENUM_DRIVE_MODE,      RS_DATA_PROP_STORAGE_ENUM,    MENU_PROP_EDITTABLE | MENU_PROP_HAS_VALUE}, //9
{"CAN comm",          2,      0,    11,     FLINT_DATA_BRIDGE_ID_DEFAULT_DATA_DB_ENUM_CAN_COMM,        RS_DATA_PROP_STORAGE_ENUM,    MENU_PROP_EDITTABLE | MENU_PROP_HAS_VALUE}, //10
};

Dependency

This menu editor module depends on the below RAPIDSEA modules.

  • Graphic LCD
  • Keypad Driver

Error Code

  • Every API’s for the menu editor returns some success or failure values. Please refer below section,

    RAPIDSEA ERROR CODES

The below diagram captures the high level of Menu editor with keypad and lcd

Menu editor diagram

Menu editor module Header Details

Documentation from the relevant header as follows:

rs_menu_editor

This file contains the APIs for Menu editing functionalities

Author

Embien RAPIDSEA Team

Copyright

Embien Technologies India Pvt. Ltd.

Defines

RS_MENU_MAX_ARR_SIZE

Maximum size of the array.

RS_MENU_NONE_MODE

Menu mode where the menu is neither view mode nor edit mode.

RS_MENU_VIEW_MODE

Menu mode where the menu is in view-only mode

RS_MENU_EDIT_MODE

Menu mode where the menu allows editing

RS_MENU_PROP_HAS_VALUE

Menu property indicating that the item has an associated value.

RS_MENU_PROP_EDITTABLE

Menu property indicating that the item can be edited

RS_MENU_PROP_EDIT_BY_DIGIT

Menu property indicating that only single-digit values can be edited

RS_MENU_VALUE_FORMAT_DECIMAL_POINTS_NONE

Value format with no decimal points.

RS_MENU_VALUE_FORMAT_DECIMAL_POINTS_ONE

Value format with one decimal point

RS_MENU_VALUE_FORMAT_DECIMAL_POINTS_TWO

Value format with two decimal points

RS_MENU_KEY_RIGHT

Key code for the right key.

RS_MENU_KEY_SET

Key code for the set/center key

RS_MENU_KEY_DOWN

Key code for the down key

RS_MENU_KEY_LEFT

Key code for the left key.

RS_MENU_KEY_UP

Key code for the up key

RS_MENU_KEY_HOLD_DURATION_1000

Duration in milliseconds for a 1-second key hold.

RS_MENU_KEY_HOLD_DURATION_2000

Duration in milliseconds for a 2-second key hold

RS_MENU_KEY_HOLD_DURATION_3000

Duration in milliseconds for a 3-second key hold

RS_MENU_KEY_HOLD_DURATION_10000

Duration in milliseconds for a 10-second key hold

RS_MENU_KEY_HOLD_DURATION_15000

Duration in milliseconds for a 15-second key hold.

RS_MENU_KEY_HOLD_DURATION_18000

Duration in milliseconds for an 18-second key hold.

RS_MENU_BLINK_CURSOR_EVERY_500MS

Time interval (in milliseconds) at which the cursor blinks.

RS_MENU_LINE_COUNT_1

Single Line Menu.

RS_MENU_LINE_COUNT_2

Two Line Menu

Typedefs

typedef struct tag_rs_menu_list rs_menu_list_t

Structure for the Menu list.

typedef struct tag_rs_menu_config rs_menu_config_t

Structure for the Menu configuration.

typedef struct tag_rs_menu_instance rs_menu_instance_t

Structure for the Menu instance.

Functions

rs_handle_t rs_menu_editor_open(rs_menu_instance_t *ptr_menu_inst, rs_menu_config_t *ptr_menu_config)

Function declarations.

Opens and initializes the menu editor instance.

This function sets up the menu editor instance by linking it with the provided configuration.

Parameters:
  • ptr_menu_inst – [in] - Pointer to the menu editor instance.

  • ptr_menu_config – [in] - Pointer to the menu configuration structure.

Returns:

Handle to the menu editor instance on success, or an error code.

rs_ret_val_t rs_menu_editor_process(rs_handle_t menu_handle)

Processes the menu editor operations.

This function manages the menu editor state and performs operations such as updating the menu display or handling user inputs.

Parameters:

ptr_menu_inst – [in] - Pointer to the menu instance structure to be processed.

rs_ret_val_t rs_menu_editor_update_contents(rs_handle_t menu_handle)
void rs_menu_editor_refresh_lcd_contents(rs_handle_t handle)

Refreshes the LCD display based on the current menu state.

Refreshes the LCD contents for the menu editor.

This function updates the LCD screen to reflect the current state of the menu associated with the provided handle. It should be called when changes in the menu structure or content require a refresh on the display.

This function updates the LCD display with the latest information from the menu editor associated with the provided handle.

Parameters:
  • handle – [in] - Handle to the menu instance that controls the LCD.

  • handle – [in] - Handle to the menu editor instance whose LCD contents need to be refreshed.

Returns:

None.

Returns:

This function does not return a value since it is a void function.

void rcb_keypad_action(rs_handle_t keypad_handle, uint8_t u8_key_index, uint8_t u8_key_state, uint16_t u16_press_time)
struct tag_rs_menu_list
#include <rs_menu_editor.h>

Structure for the Menu list.

Public Members

char *ptr_label

Label of the menu.

uint16_t parent_index

Parent index of the menu.

uint16_t child_index

Child index of the menu.

uint16_t next_index

Next index of the menu.

uint16_t data_id

Data id of the menu.

uint8_t display_format1

Display format of the menu.

uint8_t prop

Property type of the menu.

uint8_t reserved

Reserved.

struct tag_rs_menu_config
#include <rs_menu_editor.h>

Structure for the Menu configuration.

Public Members

uint8_t menu_type

Type of the menu (e.g., two or four lines)

uint8_t line_1_type
uint8_t line_2_type
uint8_t line_3_type
uint8_t line_4_type
rs_menu_list_t *ptr_menu_list_1

Pointer to the menu list 1 information.

rs_menu_list_t *ptr_menu_list_2

Pointer to the menu list 2 information.

rs_menu_list_t *ptr_menu_list_3

Pointer to the menu list 3 information.

rs_menu_list_t *ptr_menu_list_4

Pointer to the menu list 4 information.

uint32_t num_of_menu_list

Number of the menu list.

struct tag_rs_menu_instance
#include <rs_menu_editor.h>

Structure for the Menu instance.

Public Members

rs_handle_t lcd_handle

Handle for the LCD display.

rs_handle_t keypad_handle

Handle for the keypad input.

rs_handle_t menu_handle

Handle for the menu editor instance.

rs_menu_config_t *ptr_menu_config

Pointer to the menu configuration.

uint16_t current_menu_index

Current menu index.

uint8_t line_1[RS_MENU_MAX_ARR_SIZE]

LCD’s line1 information.

uint8_t line_2[RS_MENU_MAX_ARR_SIZE]

LCD’s line2 information.

int8_t line1_cursor_pos

Cursor to move left and right.

int8_t line2_cursor_pos

Cursor to move left and right.

uint8_t mode

© Copyright 2025, Team Embien.