Giter VIP home page Giter VIP logo

efrconnect-android's Introduction

Simplicity Connect Mobile Application

This is the source code for the Simplicity Connect mobile application.

What is Simplicity Connect BLE mobile app?

Silicon Labs Simplicity Connect is a generic BLE mobile app for testing and debugging Bluetooth® Low Energy applications. With Simplicity Connect, you can quickly troubleshoot your BLE embedded application code, Over-the-Air (OTA) firmware update, data throughput, and interoperability with Android and iOS mobiles, among the many other features. You can use the Simplicity Connect app with all Silicon Labs Bluetooth development kits, Systems on Chip (SoC), and modules.

Why download Simplicity Connect?

Simplicity Connect radically saves the time you will use for testing and debugging! With Simplicity Connect, you can quickly see what’s wrong with your code and how to fix and optimize it. Simplicity Connect is the first BLE mobile app allowing you to test data throughput and mobile interoperability with a single tap on the app.

How does it work?

Using Simplicity Connect BLE mobile app is easy. It runs on your mobile devices such as a smartphone or tablet. It utilizes the Bluetooth adapter on the mobile to scan, connect and interact with nearby BLE hardware.

After connecting the Simplicity Connect app and BLE hardware (e.g., a dev kit), the Blinky test on the app shows a green light indicating when your setup is ready to go. The app includes simple demos to teach you how to get started with Simplicity Connect and all Silicon Labs development tools.

The Browser, Advertiser, and Logging features help you to find and fix bugs quickly and test throughput and mobile interoperability simply, with a tap of a button. With our Simplicity Studio’s Network Analyzer tool (free of charge), you can view the packet trace data and dive into the details.

Demos and Sample Apps

Simplicity Connect includes many demos to test sample apps in the Silicon Labs GSDK quickly. Here are demo examples:

  • Blinky: The ”Hello World” of BLE – Toggling a LED is only one tap away.
  • Throughput: Measure application data throughput between the BLE hardware and your mobile device in both directions
  • Health Thermometer: Connect to a BLE hardware kit and receive the temperature data from the on-board sensor.
  • Connected Lighting DMP: Leverage the dynamic multi-protocol (DMP) sample apps to control a DMP light node from a mobile and protocol-specific switch node (Zigbee, proprietary) while keeping the light status in sync across all devices.
  • Range Test: Visualize the RSSI and other RF performance data on the mobile phone while running the Range Test sample application on a pair of Silicon Labs radio boards.
  • Motion: Control a 3D render of a Silicon Labs Thunderboard or Dev Kit that follows the phyiscal board movements.
  • Environment: Read and display the data from the on-board sensors on a Silicon Labs Thunderboard or Dev Kit.
  • Wi-Fi Commissioning: Commission a Wi-Fi device over BLE.
  • Bluetooth Electronic Shelf Labels (ESL): Adds and commissions ESL tags to the system network by scanning the tag's QR code with the mobile device's camera and provides the user a UI to view the list commissioned tags and control them.
  • Matter: Commission and control of the Matter devices over Thread and Wi-Fi.
  • Wi-Fi OTA Firmware Update: The Wi-Fi OTA firmware update demo demonstrates how to update the SiWx91x user application firmware over Wi-Fi connection, by downloading the image from the mobile phone.

Development Features

Simplicity Connect helps developers create and troubleshoot Bluetooth applications running on Silicon Labs’ BLE hardware. Here’s a rundown of some example functionalities.

Bluetooth Browser - A powerful tool to explore the BLE devices around you. Key features include:

  • Scan and sort results with a rich data set
  • Label favorite devices to surface on the top of scanning results
  • Advanced filtering to identify the types of devices you want to find
  • Save filters for later use
  • Multiple connections
  • Bluetooth 5 advertising extensions
  • Rename services and characteristics with 128-bit UUIDs (mappings dictionary)
  • Over-the-air (OTA) device firmware upgrade (DFU) in reliable and fast modesREADME.md
  • Configurable MTU and connection interval
  • All GATT operations

Bluetooth Advertiser – Create and enable multiple parallel advertisement sets:

  • Legacy and extended advertising
  • Configurable advertisement interval, TX Power, primary/secondary PHYs
  • Manual advertisement start/stop and stop based on a time/event limit
  • Support for multiple AD types

Bluetooth GATT Configurator – Create and manipulate multiple GATT databases

  • Add services, characteristics and descriptors
  • Operate the local GATT from the browser when connected to a device
  • Import/export GATT database between the mobile device and Simplicity Studio GATT Configurator

Bluetooth Interoperability Test – Verify interoperability between the BLE hardware and your mobile device

  • Runs a sequence of BLE operations to verify interoperability
  • Export results log

Building Simplicity Connect from the source code

  • Clone the project repository

  • Open the project directory in Android Studio

  • Wait for Gradle sync to finish

  • In the Build Variants tool window, select the desired variant: release (blueGeckoRelease) or debug (blueGeckoDebug)

  • Build the project with Build > Build Project and run it on a connected mobile device with Run > Run 'mobile' or Run > Debug 'mobile'

  • You can also build an APK installation package with Build > Build Bundle(s) / APK(s) > Build APK(s)... - the APK will be built, and a link to its location on the disk displayed in a notification in Studio.

Development

The main application code lies in the <project_directory>\mobile\src\main\java\com\siliconlabs\bledemo directory. The main application screen's code can be found there in the home_screen directory, while the application features (scanner, IOP test, advertiser/server configuration, all the demos) are separated into corresponding directories in the the features directory. The application architecture mostly follows the MVVM (Model-View-Viewmodel) pattern, and the feature/demo directories contain their own views, model and viewmodels. Handling the Bluetooth operations is covered mainly by the code in the bluetooth directory, most importantly the BluetoothService class. GATT service/characteristic/descriptor definitions are contained in <project_directory>\mobile\src\main\java\assets.

Additional information

The app can be found on the Google PlayStore and Apple App Store.

Learn more about Simplicity Connect BLE mobile app.

Release Notes

For more information on Silicon Labs product portfolio please visit www.silabs.com.

License

Copyright 2021 Silicon Laboratories

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

efrconnect-android's People

Contributors

japodsia-silabs avatar jcstange-silabs avatar jmz-sl avatar krbulaws avatar krystiangaj-silabs avatar razemla avatar saravankumarms avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

efrconnect-android's Issues

The latest production app crashes every time the Bluetooth Browser is tapped

Have just downloaded the latest Android Play Store app (version released: 24th April 2018)

Tap on Bluetooth Browser and the app crashes.

Crash occurs on all the following devices:
Samsung Galaxy S7 Edge Android 8.0.0
Samsung Galaxy S6 Android 7.0
Samsung Galaxy S5 Android 6.0.1

I've just tested in an environment without any other Bluetooth devices apart from the Silicon Labs board and the app does not crash. When I move back into an environment with other Bluetooth devices, the app starts crashing again.

Tablet specific connection issues

Using a Galaxy Tab A8 and a modified "soc-empty" example I cannot reliably connect to a bonded device. On other android tablets that I have tried, there are no issues. Below is the example bonding settings that I am using (pardon the custom log functions). I can include the entire app.c file later if you would like.

  1. If no bonding exists on either MCU or Tablet, then connection is successful and bond is then created (expected).
  2. If existing bonding has been deleted on MCU but not tablet, then first attempt fails (expected) and it auto attempts a second time to connect and is successful (expected).
  3. If both bonded and App is turned off and on, the connection and bonding is successful (expected).
  4. If both bonded and MCU is turned off, the devices will never reconnect, no matter how many times the app or MCU restarts. The MCU reports SL_STATUS_BT_CTRL_CONNECTION_TERMINATED_DUE_TO_MIC_FAILURE and the tablet reports 0x08 GATT_INSUFFICIENT_AUTHORIZATION see here.
  5. If existing bonding has been deleted on Tablet but not MCU, same as Scenario 4.

`

case sl_bt_evt_system_boot_id:
  LOG_TRACE("sl_bt_evt_system_boot_id");
  LOG_TRACE("evt->data.evt_system_boot.bootloader [%u]",
            evt->data.evt_system_boot.bootloader);
  LOG_TRACE("evt->data.evt_system_boot.build [%u]",
            evt->data.evt_system_boot.build);
  LOG_TRACE("evt->data.evt_system_boot.hash [%u]",
            evt->data.evt_system_boot.hash);
  LOG_TRACE("evt->data.evt_system_boot.hw [%u]",
            evt->data.evt_system_boot.hw);
  LOG_TRACE("evt->data.evt_system_boot.major [%u]",
            evt->data.evt_system_boot.major);
  LOG_TRACE("evt->data.evt_system_boot.minor [%u]",
            evt->data.evt_system_boot.minor);
  LOG_TRACE("evt->data.evt_system_boot.patch [%u]",
            evt->data.evt_system_boot.patch);

  // We decided to keep it as only delete bonds if the maximum has been
  // exceeded since tablets don't delete bonds and it's causing issues
  status = sl_bt_sm_store_bonding_configuration(MAX_ALLOWED_BONDS, 2);
  if(status != SL_STATUS_OK){
    //ble_send_device_event(connection_handle, nb_error_code_mcu_2_miscellaneous_error);
    LOG_DEBUG("[E: 0x%04x] Failed to store bonding configuration\n", (int)status);
  }

  // Configure the Bluetooth security options
  // Bit 0 = 1: Bonding requires MITM protection
  // Bit 1 = 1: Encryption requires bonding. Note that this setting will
  //            also enable bonding.
  // Bit 2 = 1: Secure connections only (no legacy connections)
  // Bit 3 = 0: Bonding requests does not need to be confirmed. Received bonding
  //            requests are notified by @ref sl_bt_evt_sm_confirm_bonding
  // Bit 4 = 0: Allow all connections
  status = sl_bt_sm_configure(0x07, (uint8_t) sl_bt_sm_io_capability_displayonly);
  if(status != SL_STATUS_OK){
    LOG_DEBUG("[E: 0x%04x] Failed to set io capability\n", (int)status);
  }

  // Set it to "bondings allowed" mode
  status = sl_bt_sm_set_bondable_mode(1);
  if(status != SL_STATUS_OK){
    LOG_DEBUG("[E: 0x%04x] Failed to allow bonding\n", (int)status);
  }

  // Default passkey. Valid range is 000000-999999 (-1 for random passkey)
  status = sl_bt_sm_set_passkey(p_passkey);
  if(status != SL_STATUS_OK){
    LOG_DEBUG("[E: 0x%04x] Failed to set passkey\n", (int)status);
  }

  // Extract unique ID from BT Address.
  status = sl_bt_system_get_identity_address(&address, &address_type);
  if(status != SL_STATUS_OK){
    LOG_DEBUG("[E: 0x%04x] Failed to get Bluetooth address\n", (int)status);
  }

  // Pad and reverse unique ID to get System ID.
  system_id[0] = address.addr[5];
  system_id[1] = address.addr[4];
  system_id[2] = address.addr[3];
  system_id[3] = 0xFF;
  system_id[4] = 0xFE;
  system_id[5] = address.addr[2];
  system_id[6] = address.addr[1];
  system_id[7] = address.addr[0];

  status = sl_bt_gatt_server_write_attribute_value(gattdb_system_id, 0,
                                                   sizeof(system_id),
                                                   system_id);
  if(status != SL_STATUS_OK){
    LOG_DEBUG("[E: 0x%04x] Failed to write attribute\n", (int)status);
  }

  // Create an advertising set.
  status = sl_bt_advertiser_create_set(&p_advertising_set_handle);
  if(status != SL_STATUS_OK){
    LOG_DEBUG("[E: 0x%04x] Failed to create advertising set\n", (int)status);
  }

  // Set advertising interval to 100ms.
  status = sl_bt_advertiser_set_timing(p_advertising_set_handle, 160UL,  // min. adv. interval (milliseconds * 1.6)
                                       160UL,  // max. adv. interval (milliseconds * 1.6)
                                       0U,   // adv. duration
                                       0U);  // max. num. adv. events
  if(status != SL_STATUS_OK){
    LOG_DEBUG("[E: 0x%04x] Failed to set advertising timing\n", (int)status);
  }

  // Start general advertising and enable connections.
  status = sl_bt_advertiser_start(p_advertising_set_handle,
                                  (uint8_t) sl_bt_advertiser_general_discoverable,
                                  (uint8_t) sl_bt_advertiser_connectable_scannable);
  if(status != SL_STATUS_OK){
    LOG_DEBUG("[E: 0x%04x] Failed to start advertising\n", (int)status);
  }

  LOG_TRACE("Starting Advertising!");
  break;`

This code is terrible and the project doesn't even build on Android Studio

The code in this project is very obscure and relies heavily on side-effects and external modifications.
I'm struggling with my implementation of the OTA protocol, but I'm definitely never gonna copy paste your code in my project.
I see in the code you need to add some 0xFF byte to pad the ota_data when not divisible by 4, but nothing about this is mentioned in your documentation.

Not able build this project with android Studio 3

Following is error :
Error:Cannot choose between the following configurations of project :libraries:materialdesign:

  • debugApiElements
  • debugRuntimeElements
  • releaseApiElements
  • releaseRuntimeElements
    All of them match the consumer attributes:
  • Configuration 'debugApiElements':
    • Found com.android.build.api.attributes.BuildTypeAttr 'debug' but wasn't required.
    • Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required.
    • Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required.
    • Found org.gradle.api.attributes.Usage 'java-api' but wasn't required.
  • Configuration 'debugRuntimeElements':
    • Found com.android.build.api.attributes.BuildTypeAttr 'debug' but wasn't required.
    • Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required.
    • Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required.
    • Found org.gradle.api.attributes.Usage 'java-runtime' but wasn't required.
  • Configuration 'releaseApiElements':
    • Found com.android.build.api.attributes.BuildTypeAttr 'release' but wasn't required.
    • Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required.
    • Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't required.
    • Found org.gradle.api.attributes.Usage 'java-api' but wasn't required.
  • Configuration 'releaseRuntimeElements':
    • Found com.android.build.api.attributes.BuildTypeAttr 'release' but wasn't required.
    • Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required.
    • Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't required.
    • Found org.gradle.api.attributes.Usage 'java-runtime' but wasn't required.

BLE Mesh

Can you share the BLE Mesh app android source code(java)

Issue with Characteristic string not updating on change

In this version (2.6.2 Android) of EFR connect when performing an OTA update, on reboot the device changes a string for the firmware revision number. Using other connectivity apps to check this string I can see the string is updated to a new revision number. When reading the characteristic EFR connect the string remains the same as the previous value read (the old fw revision). This persist even when disconnecting and reconnecting to the device.
This issue was not present in older versions of EFR connect.

project does not buid

When trying to build the project with android studio following errors occur:
Error:Cannot choose between the following configurations of project :libraries:materialdesign:

  • debugApiElements
  • debugRuntimeElements
  • releaseApiElements
  • releaseRuntimeElements
    All of them match the consumer attributes:
  • Configuration 'debugApiElements':
    • Found com.android.build.api.attributes.BuildTypeAttr 'debug' but wasn't required.
    • Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required.
    • Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required.
    • Found org.gradle.api.attributes.Usage 'java-api' but wasn't required.
  • Configuration 'debugRuntimeElements':
    • Found com.android.build.api.attributes.BuildTypeAttr 'debug' but wasn't required.
    • Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required.
    • Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required.
    • Found org.gradle.api.attributes.Usage 'java-runtime' but wasn't required.
  • Configuration 'releaseApiElements':
    • Found com.android.build.api.attributes.BuildTypeAttr 'release' but wasn't required.
    • Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required.
    • Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't required.
    • Found org.gradle.api.attributes.Usage 'java-api' but wasn't required.
  • Configuration 'releaseRuntimeElements':
    • Found com.android.build.api.attributes.BuildTypeAttr 'release' but wasn't required.
    • Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required.
    • Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't required.
    • Found org.gradle.api.attributes.Usage 'java-runtime' but wasn't required.

Bug report - v2.6.0 - OTA Firmware not Working with Application OTA DFU

Previously to the 2.6.0 release, everything worked normally. Tried several times with the old version.
For reference, the device is the BG22 running SDKs from 4.1.0 to 4.1.3, different projects, but same results.

The devices are using Application OTA DFU, i.e., the application controls the firmware download. However, the code is copy and paste of the Silicon Labs application note. No change. The GATT Services are locked and fixed as per the Simplicity Studio.

All attempts selecting Partial update.
When selecting Speed, the OTA starts and stops at 39%, then the App freezes and display error 0x0 (Unknown).
Sometimes, the App goes beyond 39%, but takes up to one minute to reach 100%. Once it does, it returns error 0x81 - No command 0x0 sent to the Control Characteristic. It does not enable the End button, and the App crashes.
As a side note, at the start of the OTA, it is displayed a pop-up with the words "Resetting..." and "Attempting connection..." which are somehow misplaced, i.e., related to the In-place OTA DFU since there is no reset nor new connection in the Application OTA DFU.

When selecting Reliability, the OTA does not even start and returns error 0x81 - No command 0x0 sent to the Control Characteristic, and the App crashes.

Connection Interval limited

The connection interval settings should be allowed to go to max of the spec.
This is how many people are gong to use the IoT device in the field to save battery power.

When I set it to High Priority in the app (100ms - 125ms) I get 360 ms using the energy profiler.
This would need to go to 4 secs as the BLE spec suggests.

NECTrial.ADD.dll.js.FI.dscintern.precare

Setupangle.Brothersolution.system.editorial.panel.fixdata.bind.solid.power.issue.interrupt.d.boarder.fc.editorial.basissystem.BOOTDATEI
Gasherd.grint.data.IDP.LDP.leonidsata
VR.CR.crubs.to.do-list.exe.extender.filebase.system.ADB.data.cirbet.modularsetup.-1-5.ADMC.ridgedata.BriceVOinstar.exe.Microsoft.OMACSON.pcstart.center.ACMON.muipushdata.repository.d.Hashed.ubscard.ca.ce.activation.1.1.1.0.8888.9999

Feature request: single connection advertiser.

Hi,is it possible to add option for advertiser only handle only one connection at a time?
so it will stop advertise when there is an active central connection and will resume when no active central connection.

Missing Resources

This repo contains several references to animations, colors, drawables, and other resources that are not included in the repo. Could they be pushed to the repo and is this repo maintained based on its ability to be built?

Missing_Resources

Setup Issue

Pac,Processor,Rechenzentrum vart.htc.GMT3.interactive.glanbia.server.ist.online

Gradle Sync Issues

I'm trying to compile this software with the latest version of Android Studio 3.5.1, I installed all the dependencies during project import. Once everything was installed, I get the following ERROR: Could not find com.android.support:appcompat-v7:22.2.1.
Required by:
project :mobile
project :mobile > project :libraries:materialdesign
Search in build.gradle files

I searched in the Android SDK platform packages but there isn't any Android Support packages to enable & download.

Does anyone know how to fix this?

Thanks,
Brandon

ERF Connect OTA problem

OTA upgrade completed. The following interface is displayed. What's the reason? thanks. (version android 2.5.0)
微信图片_20220621145334

application OTA with the latest EFR connect android APP

when i using the latest android app of efr connect and the BG22 working in application OTA Mode,
the OTA process was fail.
traced into the sl_bt_app_dfu.c file,found the ota_sts was changed from download_begin to DFU_ready, thus the memcpy action to ota_buff was not happened.
maybe this is the cause of the ota failure.

please help to check and update the android version of efr connect.

thanks!

Can't build project.

I just clonned the project and tried to build it.

Firstly, I got an error message about SDK location. So i updated 'Android NDK Location' path (21.3.6528147). Error message gone.

After that i'm getting a new error like this =>

Execution failed for task ':mobile:kaptBlueGeckoDebugKotlin'.
A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
java.lang.reflect.InvocationTargetException (no error message)

How can I fix this?

Build the new V2.8.0 source code - 2 issues

Hi, I've try to build the v2.8.0, Two issues:

  1. run App - [press Demo] - [press Scan] on the bottom nav bar, Logcat will see the error:
Failed to inflate ColorStateList, leaving it to the framework
java.lang.UnsupportedOperationException: Failed to resolve attribute at index 0: TypedValue{t=0x2/d=0x7f04010e a=-1}, theme={InheritanceMap=[id=0x7f1402abcom.siliconlabs.bledemo:style/ThemeOverlay.Material3.Button.IconButton, id=0x7f1402aecom.siliconlabs.bledemo:style/ThemeOverlay.Material3.Button.TextButton], Themes=[com.siliconlabs.bledemo:style/ThemeOverlay.Material3.Button.IconButton, forced, com.siliconlabs.bledemo:style/MainAppTheme, forced, com.siliconlabs.bledemo:style/CustomSplashTheme, forced, com.siliconlabs.bledemo:style/Theme.AppCompat.Empty, forced, android:style/Theme.DeviceDefault.Light.DarkActionBar, forced]}
at android.content.res.TypedArray.getColor(TypedArray.java:529)

.........................

at com.siliconlabs.bledemo.common.views.ExpandArrow.<init>(ExpandArrow.kt:8)

........................

at com.siliconlabs.bledemo.databinding.AdapterBrowserDeviceBinding.inflate(AdapterBrowserDeviceBinding.java:104)
at com.siliconlabs.bledemo.databinding.AdapterBrowserDeviceBinding.inflate(AdapterBrowserDeviceBinding.java:98)

  1. In the Demo page, press [Matter Demo], App crashed immediately. (seems the lib file - CHIPController.jar with error/bugs.)

The logcat reports:

Shutting down VM
E  FATAL EXCEPTION: main
Process: com.siliconlabs.bledemo, PID: 26430
java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/~~7JmyRpIQLugiQF2OSp5tfw==/com.siliconlabs.bledemo-aLo8HfzF3G0HtRUVF_PMMA==/base.apk!/lib/arm64-v8a/libCHIPController.so" has bad ELF magic: 76657273

at java.lang.Runtime.loadLibrary0(Runtime.java:1082)
at java.lang.Runtime.loadLibrary0(Runtime.java:1003)
at java.lang.System.loadLibrary(System.java:1661)
at chip.devicecontroller.ChipDeviceController.<clinit>(ChipDeviceController.java:1081)
at com.siliconlabs.bledemo.features.demo.matter_demo.utils.ChipClient.getAndroidChipPlatform(ChipClient.kt:49)
at com.siliconlabs.bledemo.features.demo.matter_demo.utils.ChipClient.getDeviceController(ChipClient.kt:33)
at com.siliconlabs.bledemo.features.demo.matter_demo.activities.MatterDemoActivity.onCreate(MatterDemoActivity.kt:73)
at android.app.Activity.performCreate(Activity.java:8944)
at android.app.Activity.performCreate(Activity.java:8913)

Please help to check the problems, thanks.

OTA example application

Hi! Really thanks for this application. Great work!
We were trying to do OTA firmware updates and I spent so much time while reading your code, there was so much stuff going in your application so I created an example application that just implements OTA progress. I tried to keep the code clean and simple and wrote some inline comments to help the reader. I am leaving a link to the example applications here so if there are any other people trying to implement OTA, I think it will be easier to understand what is going on.

Thanks!
https://github.com/sensemore/slilabs-ota

Can you continue to release the APK file to the build directory?

I noticed the build directory is no longer being updated.
But some users cannot visit Google Play Store, they hope they can download APK file from the build directory and then install it manually on their Android phone.
So can you continue to release the APK file to the build directory?

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.