This is a react native application for controlling OneWheel boards.
Important Note: There are certain additional steps that must be taken to be able to use Custom Shaping on Pint boards. Those steps are left up to the you, the user! Good luck!
Important Note 2: This project is not, in any way, affiliated with Future Motion.
- NodeJS; nvm is highly recommended.
- XCode (for iOS)
- Android Command-Line Tools (for Android)
git clone https://github.com/tzfx/owrn # Clone
cd owrn # Hop into the directory
npm install # Install NodeJS dependencies.
### Now, choose your own adventure ###
npm run ios # iOS
# or
npm run android # android
Below are some quick troubleshooting for getting things working on iOS and Android.
Make sure you have the following installed:
- The latest version of XCode
- Xcode Command-line tools:
xcode-select --install
- Ruby >= 2.7.6
- Developer Mode enabled on the iPhone you'd like to publish the application to.
- Hot Tip #1: If things aren't compiling right, try to reinstall the react native to ios components with:
cd ios && pod install
. - Hot Tip #2: If xcode refuses to open when you do
npm run ios
, tryxed -b ios
. This should load the right workspace. - Hot Tip #3: There are two schema in the xcode workspace,
owrn
andowrn - Release
. The first one is appropriate for development and debugging, the second one is what you want to use to actually use the application on your phone, in a production capacity.
Make sure you have the following installed:
- The latest version of Java
- Android Command-Line Tools, which gives you access to
sdkmanager
. - Android platform tools
sdkmanager --install 'platform-tools'
- The latest Android sdk:
sdkmanager --install 'platform;android-33'
- For sim support, an android system image & g_apis package for your arch:
sdkmanager --install 'system-images;android-33;google_apis;arm64-v8a'
- Hot Tip #1: You can make sure that your phone is connected via
adb devices -l
- Hot Tip #2: If it isn't there, make sure you enable developer mode on the phone.
- Hot Tip #3: If it still isn't there, make sure you enable USB Debugging via Settings > System > Advanced > Developer Options > USB debugging
- Hot Tip #4: Permissions are WHACK. If your scanner isn't showing up any devices (or you get the permissions alert), make sure Precise Location is enabled for owrn in system settings.
- Hot Tip #5: You can build a production artefact and get it on your phone by doing
npm run android -- --mode=release
. This will strip out debug logging and the dependency on metro.
You may find it difficult to connect to your board. You may have to do the following:
- Open the official OneWheel application.
- Connect to your board.
- Disconnect from your board in the application.
- Re-open OWRN and connect.
These steps may not be necessary for everyone. 🫠