Git Product home page Git Product logo

airapi_mac-dist's Introduction

AirAPI_Mac-Dist

Pre-release versions of AirAPI SDK apps for macOS.

Release Info

  • 0.2.0, build 1: Pre-alpha update to the test bench & telemetry project for Nreal Air.

Latest Release Notes:

Updates / Fixes

  • Everything is pre-built and included within the application-- it should "just work"

    • After much R&D, the underlying libraries are now compiled and using CMake such that they are directly included with the app-- no more weird developer stuff with installing hidapi, or putting things on path (you can remove them now if you installed 0.1.0)
  • Fixed crash on "stop connection"

    • Was due to an underlying c++ threading issue which is now resolved when disconnecting

Notes:

  • In order to simplify the R&D, the ability to build for M-Series was temporarily disabled in Xcode-- but it should still run on M-Series with Rosetta

    • Please let us know if you are able to run with Rosetta on M-Series

    • If you have any crashes or issues, please go to issues and create a report-- more information is better, if you can include a crash report that would be 100% best (like this fine tester, right here)

  • No major changes or improvements to the UI were done in this build, this one is purely about smoothing out the ability to run the app, and making it as accessible to as many mac users as possible.

Known Issues:

  • The window is not resizable, and may be too large on some macs to see all of the buttons macs

    • apologies, this is an autolayout bug that was just beyond the goal of this release

    • this will be fixed in the next release.

  • Connection status UI does not ever update or reflect the actual status

    • on it, will be resolved in the next release

How to install

Disclaimer: this project is aimed at fellow developers and power users, proceed with caution.

  1. Download the latest release from the "releases" option on the right sidebar ->

  2. Unzip on your Mac

  3. You will find AirAPI_Example.app

  4. Open another finder window and move AirAPIExample.app to your /Applications folder

  5. Launch it:

    • You will be warnied by Apple that this app is unsafe etc-- it's safe.

    • To launch: go to ~/Applications in Finder and use option + right-click and then click "open". Then clock "open" again, this will by-pass gatekeeper

That's it, now plug in your Nreal Air and click "connect" (if the globe does not automatically start tracking your Nreal Air postitional updates)

Compatibility

This SDK is verified compatible with the following:

  • macOS Ventura (Intel)
  • Swift v5^ & and Xcode 14^
  • SceneKit
  • RealityKit

We need your feedback about M-Series-- did it work for you? If not, please get in touch or submit a git issue

airapi_mac-dist's People

Contributors

danburkhardt avatar

Stargazers

Mykhailo Marynenko avatar Oleg Lupikov avatar kidders avatar Yangc avatar Michael Spurlock avatar Nathan Lloyd Ward avatar  avatar L.Lawlite avatar Ben Baron avatar  avatar Jake Downs avatar  avatar Joseph Mearman avatar

Watchers

 avatar  avatar

airapi_mac-dist's Issues

Crash on M2 mac

Here's the crash report

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               AirAPI_Example [61347]
Path:                  /Applications/AirAPI_Example.app/Contents/MacOS/AirAPI_Example
Identifier:            com.gigabitelabs.AirAPI_Example
Version:               0.1.0 (1)
Code Type:             X86-64 (Translated)
Parent Process:        launchd [1]
User ID:               501

Date/Time:             2023-04-03 14:38:54.9349 -0700
OS Version:            macOS 13.3 (22E252)
Report Version:        12
Anonymous UUID:        59B8B8ED-8BF7-34DC-7FE1-71D0BC84C2C9

Sleep/Wake UUID:       C177574D-6291-4D6E-8668-664F854D5BFA

Time Awake Since Boot: 140000 seconds
Time Since Wake:       591 seconds

System Integrity Protection: enabled

Crashed Thread:        0

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000

Termination Reason:    Namespace DYLD, Code 1 Library missing
Library not loaded: /usr/local/opt/hidapi/lib/libhidapi.0.dylib
Referenced from: <3697C1E7-0BFE-3131-B694-3D87FF29A3BC> /Applications/AirAPI_Example.app/Contents/MacOS/AirAPI_Example
Reason: tried: '/usr/local/opt/hidapi/lib/libhidapi.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/hidapi/lib/libhidapi.0.dylib' (no such file), '/usr/local/opt/hidapi/lib/libhidapi.0.dylib' (no such file), '/usr/local/lib/libhidapi.0.dylib' (no such file), '/usr/lib/libhidapi.0.dylib' (no such file, not in dyld cache)
(terminated at launch; ignore backtrace)

Thread 0 Crashed:
0   Rosetta Runtime Routines	       0x10274f9a8 ???
1   <translation info unavailable>	       0x1027cd1d4 ???
2   dyld                          	       0x202a49fd7 abort_with_payload_wrapper_internal + 82
3   dyld                          	       0x202a4a009 abort_with_payload + 9
4   dyld                          	       0x2029ce8f0 dyld4::halt(char const*) + 375
5   dyld                          	       0x2029cbb71 dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) + 4526
6   dyld                          	       0x2029ca3bd start + 1805

Thread 1:: com.apple.rosetta.exceptionserver
0   runtime                       	    0x7ff7ffe24694 0x7ff7ffe20000 + 18068


Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000006   x1: 0x0000000000000001   x2: 0x00000003090818e0   x3: 0x000000000000007f
    x4: 0x00000003090814e0   x5: 0x0000000000000000   x6: 0x0000000000000000   x7: 0x00000020903817d0
    x8: 0x00000003090814e0   x9: 0x0000000000000000  x10: 0x000000000000007f  x11: 0x00000003090814e0
   x12: 0x000000000000007f  x13: 0x00000003090818e0  x14: 0x0000000000000001  x15: 0x0000000000000006
   x16: 0x0000000000000209  x17: 0x0000000000000000  x18: 0x800000010a7b4b80  x19: 0x0000000102745000
   x20: 0x00000000000007ff  x21: 0x000000010a7b9fa0  x22: 0xffffffffffffffff  x23: 0x000000010274f97c
   x24: 0x0000000202a49fd7  x25: 0x000000010274f248  x26: 0x00000001027cb420  x27: 0x0000000000000000
   x28: 0x0000000202a2fc42   fp: 0x000000002c000000   lr: 0x00000001027cd1d4
    sp: 0x000000010a7b4b80   pc: 0x000000010274f9a8 cpsr: 0x80001000
   far: 0x00000001027cd000  esr: 0x56000080  Address size fault

Binary Images:
       0x2029c4000 -        0x202a5ffff dyld (*) <afa3518c-143e-3060-bbe8-624d4ca41063> /usr/lib/dyld
    0x7ff7ffe20000 -     0x7ff7ffe4ffff runtime (*) <baf9136b-e1ff-3661-ad17-0f4ca7ce58f9> /usr/libexec/rosetta/runtime
       0x10a74f000 -        0x10a7a2fff libRosettaRuntime (*) <73cd5d0d-71d4-353e-9740-af3964d9a4ae> /Library/Apple/*/libRosettaRuntime
       0x1025bf000 -        0x1025fefff com.gigabitelabs.AirAPI_Example (0.1.0) <3697c1e7-0bfe-3131-b694-3d87ff29a3bc> /Applications/AirAPI_Example.app/Contents/MacOS/AirAPI_Example
               0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=2252K resident=0K(0%) swapped_out_or_unallocated=2252K(100%)
Writable regions: Total=157.1M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=157.1M(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Rosetta Arena                     4096K        2 
Rosetta Generic                    908K      224 
Rosetta IndirectBranch              32K        1 
Rosetta JIT                      128.0M        1 
Rosetta Return Stack                20K        2 
Rosetta Thread Context              20K        2 
Stack                             8176K        1 
Stack Guard                       56.0M        1 
VM_ALLOCATE                       15.9M        7 
VM_ALLOCATE (reserved)               8K        1         reserved VM address space (unallocated)
__DATA                             128K        5 
__DATA_CONST                        48K        2 
__DATA_DIRTY                        16K        1 
__LINKEDIT                         880K        8 
__TEXT                            1408K        4 
dyld private memory                260K        2 
mapped file                        6.8G       34 
===========                     =======  ======= 
TOTAL                              7.0G      298 
TOTAL, minus reserved VM space     7.0G      298 



-----------
Full Report
-----------

{"app_name":"AirAPI_Example","timestamp":"2023-04-03 14:38:56.00 -0700","app_version":"0.1.0","slice_uuid":"3697c1e7-0bfe-3131-b694-3d87ff29a3bc","build_version":"1","platform":1,"bundleID":"com.gigabitelabs.AirAPI_Example","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 13.3 (22E252)","roots_installed":0,"name":"AirAPI_Example","incident_id":"A484AD42-DD3A-48A7-B770-FB1609A60967"}
{
  "uptime" : 140000,
  "procRole" : "Background",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "Mac14,9",
  "coalitionID" : 24183,
  "osVersion" : {
    "train" : "macOS 13.3",
    "build" : "22E252",
    "releaseType" : "User"
  },
  "captureTime" : "2023-04-03 14:38:54.9349 -0700",
  "incident" : "A484AD42-DD3A-48A7-B770-FB1609A60967",
  "pid" : 61347,
  "translated" : true,
  "cpuType" : "X86-64",
  "roots_installed" : 0,
  "bug_type" : "309",
  "procLaunch" : "2023-04-03 14:38:53.1390 -0700",
  "procStartAbsTime" : 3589369810867,
  "procExitAbsTime" : 3589412324404,
  "procName" : "AirAPI_Example",
  "procPath" : "\/Applications\/AirAPI_Example.app\/Contents\/MacOS\/AirAPI_Example",
  "bundleInfo" : {"CFBundleShortVersionString":"0.1.0","CFBundleVersion":"1","CFBundleIdentifier":"com.gigabitelabs.AirAPI_Example"},
  "storeInfo" : {"deviceIdentifierForVendor":"0300181E-30A2-599D-84DA-70C8D0EC4281","thirdParty":true},
  "parentProc" : "launchd",
  "parentPid" : 1,
  "coalitionName" : "com.gigabitelabs.AirAPI_Example",
  "crashReporterKey" : "59B8B8ED-8BF7-34DC-7FE1-71D0BC84C2C9",
  "throttleTimeout" : 2147483647,
  "codeSigningID" : "com.gigabitelabs.AirAPI_Example",
  "codeSigningTeamID" : "",
  "codeSigningFlags" : 570491653,
  "codeSigningValidationCategory" : 10,
  "codeSigningTrustLevel" : 0,
  "wakeTime" : 591,
  "sleepWakeUUID" : "C177574D-6291-4D6E-8668-664F854D5BFA",
  "sip" : "enabled",
  "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"},
  "termination" : {"code":1,"flags":518,"namespace":"DYLD","indicator":"Library missing","details":["(terminated at launch; ignore backtrace)"],"reasons":["Library not loaded: \/usr\/local\/opt\/hidapi\/lib\/libhidapi.0.dylib","Referenced from: <3697C1E7-0BFE-3131-B694-3D87FF29A3BC> \/Applications\/AirAPI_Example.app\/Contents\/MacOS\/AirAPI_Example","Reason: tried: '\/usr\/local\/opt\/hidapi\/lib\/libhidapi.0.dylib' (no such file), '\/System\/Volumes\/Preboot\/Cryptexes\/OS\/usr\/local\/opt\/hidapi\/lib\/libhidapi.0.dylib' (no such file), '\/usr\/local\/opt\/hidapi\/lib\/libhidapi.0.dylib' (no such file), '\/usr\/local\/lib\/libhidapi.0.dylib' (no such file), '\/usr\/lib\/libhidapi.0.dylib' (no such file, not in dyld cache)"]},
  "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
  "faultingThread" : 0,
  "threads" : [{"triggered":true,"id":2031307,"threadState":{"x":[{"value":6},{"value":1},{"value":13036427488},{"value":127},{"value":13036426464},{"value":0},{"value":0},{"value":139858548688},{"value":13036426464},{"value":0},{"value":127},{"value":13036426464},{"value":127},{"value":13036427488},{"value":1},{"value":6},{"value":521},{"value":0},{"value":9223372041325595520},{"value":4336144384},{"value":2047},{"value":4470841248},{"value":18446744073709551615},{"value":4336187772},{"value":8634277847,"symbolLocation":82,"symbol":"abort_with_payload_wrapper_internal"},{"value":4336185928},{"value":4336694304},{"value":0},{"value":8634170434,"symbolLocation":10,"symbol":"__abort_with_payload"}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4336701908},"cpsr":{"value":2147487744},"fp":{"value":738197504},"sp":{"value":4470819712},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4336187816,"matchesCrashFrame":1},"far":{"value":4336701440}},"frames":[{"imageOffset":4336187816,"region":"Rosetta Runtime Routines","symbolLocation":10664,"imageIndex":4},{"imageOffset":4336701908,"region":"<translation info unavailable>","imageIndex":4},{"imageOffset":548823,"symbol":"abort_with_payload_wrapper_internal","symbolLocation":82,"imageIndex":0},{"imageOffset":548873,"symbol":"abort_with_payload","symbolLocation":9,"imageIndex":0},{"imageOffset":43248,"symbol":"dyld4::halt(char const*)","symbolLocation":375,"imageIndex":0},{"imageOffset":31601,"symbol":"dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*)","symbolLocation":4526,"imageIndex":0},{"imageOffset":25533,"symbol":"start","symbolLocation":1805,"imageIndex":0}]},{"id":2031353,"name":"com.apple.rosetta.exceptionserver","frames":[{"imageOffset":18068,"imageIndex":1}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 8633729024,
    "size" : 638976,
    "uuid" : "afa3518c-143e-3060-bbe8-624d4ca41063",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 140703126650880,
    "size" : 196608,
    "uuid" : "baf9136b-e1ff-3661-ad17-0f4ca7ce58f9",
    "path" : "\/usr\/libexec\/rosetta\/runtime",
    "name" : "runtime"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4470403072,
    "size" : 344064,
    "uuid" : "73cd5d0d-71d4-353e-9740-af3964d9a4ae",
    "path" : "\/Library\/Apple\/*\/libRosettaRuntime",
    "name" : "libRosettaRuntime"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4334546944,
    "CFBundleShortVersionString" : "0.1.0",
    "CFBundleIdentifier" : "com.gigabitelabs.AirAPI_Example",
    "size" : 262144,
    "uuid" : "3697c1e7-0bfe-3131-b694-3d87ff29a3bc",
    "path" : "\/Applications\/AirAPI_Example.app\/Contents\/MacOS\/AirAPI_Example",
    "name" : "AirAPI_Example",
    "CFBundleVersion" : "1"
  },
  {
    "size" : 0,
    "source" : "A",
    "base" : 0,
    "uuid" : "00000000-0000-0000-0000-000000000000"
  }
],
  "sharedCache" : {
  "base" : 140703400460288,
  "size" : 21474836480,
  "uuid" : "d56e3916-43b7-3708-aa0a-46b8d0b0441c"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=2252K resident=0K(0%) swapped_out_or_unallocated=2252K(100%)\nWritable regions: Total=157.1M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=157.1M(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nRosetta Arena                     4096K        2 \nRosetta Generic                    908K      224 \nRosetta IndirectBranch              32K        1 \nRosetta JIT                      128.0M        1 \nRosetta Return Stack                20K        2 \nRosetta Thread Context              20K        2 \nStack                             8176K        1 \nStack Guard                       56.0M        1 \nVM_ALLOCATE                       15.9M        7 \nVM_ALLOCATE (reserved)               8K        1         reserved VM address space (unallocated)\n__DATA                             128K        5 \n__DATA_CONST                        48K        2 \n__DATA_DIRTY                        16K        1 \n__LINKEDIT                         880K        8 \n__TEXT                            1408K        4 \ndyld private memory                260K        2 \nmapped file                        6.8G       34 \n===========                     =======  ======= \nTOTAL                              7.0G      298 \nTOTAL, minus reserved VM space     7.0G      298 \n",
  "legacyInfo" : {
  "threadTriggered" : {

  }
},
  "logWritingSignature" : "8715bd1df72f66521c31f798e17703f22a2b7e93",
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "62c73fd17cce0d1b0bcb8a02",
      "factorPackIds" : {

      },
      "deploymentId" : 240000040
    },
    {
      "rolloutId" : "6391cacc75b0720ff1f8c695",
      "factorPackIds" : {
        "COREOS_ICD" : "63957ec73127f3672e31c7e9"
      },
      "deploymentId" : 240000007
    }
  ],
  "experiments" : [
    {
      "treatmentId" : "c28e4ee6-1b08-4f90-8e05-2809e78310a3",
      "experimentId" : "6317d2003d24842ff850182a",
      "deploymentId" : 400000012
    }
  ]
}
}

Model: Mac14,9, BootROM 8422.100.650, proc 10:6:4 processors, 16 GB, SMC 
Graphics: Apple M2 Pro, Apple M2 Pro, Built-In
Display: nreal air, 1920 x 1080 (1080p FHD - Full High Definition), Main, MirrorOn, Online
Display: Color LCD, 3024 x 1964 Retina, MirrorOn, Online
Memory Module: LPDDR5, Hynix
AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x4388), wl0: Mar  1 2023 00:48:45 version 23.20.71.0.40.50.87 FWID 01-4929a159
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB31Bus
USB Device: USB31Bus
USB Device: USB31Bus
USB Device: Nreal Air
Thunderbolt Bus: MacBook Pro, Apple Inc.
Thunderbolt Bus: MacBook Pro, Apple Inc.
Thunderbolt Bus: MacBook Pro, Apple Inc.

I copied the downloaded files to my /usr/local/lib//usr/local/include but I'm not actually sure if those are in my dynamiclib path, or how to check. Also not sure what is libhidapi, maybe I have to install that first?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.