Skip to content

FAQ

Frequently asked questions about Mesiontech AR products. For more help, visit the forum at https://bbs.mesiontech.com/.


Camera & Sensors

How to get grayscale camera data?

Use the get_camera_frame() Native API.

Prerequisite: add enable_get_camera_frame: true to render.yaml on the box sdcard.

std::vector<uint8_t*> data;  // [0]=left, [1]=right
float twb[16];               // pose matrix
double ts;                   // timestamp
int cam_w, cam_h;            // image dimensions
get_camera_frame(data, cam_w, cam_h, twb, ts);

How to get camera intrinsic/extrinsic parameters?

std::string configstring = "";
command(Command_ID::GetCameraConfig, "", configstring);

Returns YAML with dual-camera intrinsics, distortion model, and Camera-IMU extrinsics.

How to get RGB camera data?

Use the Native API to access the device's RGB camera. Supported resolutions:

Resolution FPS
1280x720 / 640x480 / 800x600 60fps
1920x1080 60fps
2592x1944 20fps

Call via Android standard UVC protocol or Mesiontech Unity plugin.

How to get hand tracking data?

void get_hands(double &dt,
    vector<yyss_hand_pose_info> &hands,
    vector<yyss_hand_key_info> &keys);

22 hand landmarks including all finger joints and wrist.


SDK & Configuration

SLAM coordinate system?

  • SLAM uses the IMU coordinate system as the primary reference
  • World coordinate system: Z-axis aligned with gravity, X/Y determined at initialization
  • Place the module horizontally for easier Euler angle observation

Supported platforms?

Carina SDK: Windows (x64), Ubuntu 18.04/20.04/22.04, Android (arm64-v8a/armeabi-v7a), Mac (v2.3.2+).

SDK usage notes?

Item Note
APK install Use adb install -t
Type-C Directional — try reversing if it fails
Ubuntu Copy cpld.rules to /etc/udev/rules.d
Android Place database.bin in sdcard
6DoF pose Rotation matrix idx [0-2, 4-6, 8-10], translation idx 12-14

How to compile OpenXR HelloXR?

Install OpenXR Runtime first, then follow the SDK documentation.


Mapping

How to enable mapping mode via SDK?

C++ SDK (A1088/FT60):

// Local mapping
carina_a1088_init("mapping_mode: true\nrtc_mode: on\nload_map: true\nmap_save_path: /home/.../map\n", "./database.bin");

// Cloud mapping
carina_a1088_init("mapping_mode: true\ncloud_mapping: true\nserver.address: 192.168.0.126:50080\n", "./database.bin");

How to use local map mode?

  1. Launcher → Settings → Map Settings → enable "Map Mode" + "Save Map" → Apply
  2. Walk around the environment in a loop (rich texture areas)
  3. Disable "Save Map", enable "Load Map" → Apply

When is the map saved?

Only on normal program exit (calling carina_a1088_stop / carina_a1088_release).

Where is the map file?

map.ply in the control box sdcard root. Multiple devices can share maps via "Offline Map Sync" on the same LAN.


Firmware & System

How to OTA update?

  1. Download update.zip to sdcard root
  2. Settings → System Update → Local Upgrade
  3. Reboot when prompted

How to UFS flash?

Install UFS flashing tool driver, connect via USB, follow tool instructions.

USB connection failure?

  1. Check cable supports data transfer
  2. Install latest USB driver (code: txlr)
  3. Try different USB port
  4. adb devices to verify detection

App Development

Vuforia watermark?

Free version has a watermark. Contact for licensed key: WeChat +86-18918690343

How to keep app alive in background?

Current system version may kill background processes. Contact sales to arrange an update.

How to switch head aim mode?

command(Command_ID::SetHeadAimMode, "on", result);   // enable
command(Command_ID::SetHeadAimMode, "off", result);  // disable

How to create custom gestures?

  1. Import YYSX Unity SDK + Gesture MRTK framework
  2. Modify YYSXArticulatedHand.cs
  3. Reference YYSX_IsPinching logic

ALVR streaming won't connect?

Ensure the ALVR Dashboard YYSS.exe path contains no Chinese characters. Use only English paths.