Giter VIP home page Giter VIP logo

ios-nrf-mesh-library's People

Contributors

agurusa avatar anees17861 avatar ball-hayden avatar bspinner avatar codepgq avatar cs-cw avatar daretobeorjan avatar domir avatar elod avatar ewouth avatar hinzclaudio avatar horsejockey avatar hung6129 avatar kkellermann avatar mostafaberg avatar peterhinson avatar philips77 avatar roshanrajaratnam avatar sebasborda avatar steffenern avatar tobiastu avatar trusbe 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ios-nrf-mesh-library's Issues

iOS 9 support

As an iOS 9 user, I want to be able to run nRF Mesh on my device so that I can use mesh features on my device.

OpenSSL Dynamic Framework Support ?

I want to package this into a Framework based on this library but the OpenSSL library reports this error:

Ld: symbol(s) not found for architecture arm64
Clang: error: linker command failed with exit code 1 (use -v to see invocation)

Is it possible to provide an OpenSSL dynamic framework for easy integration into projects? or cocoapods ?

I used this to generate a static library of OpenSSL.
https://github.com/x2on/OpenSSL-for-iPhone

Add ability to remove non-connected/non-configured nodes

if a node is provisioned but due to edge cases, is not configurable, we cannot reconnect to the node or relay messages, causing it to be only removed by resetting the whole network, this was by design due to the fact that the node will still have the network key, etc..
a better approach would be allowing a specific node to be "force deleted" with a user warning about security complications.

nRF mesh mobile app not able to provision proxy_client device app with CLIENT_MODEL_INSTANCE_COUNT = 5

Describe the bug
nRF mesh mobile app not able to provision proxy_client device app with CLIENT_MODEL_INSTANCE_COUNT = 5, we increased model count in nrf_mesh_config_app.h by 1.

We tried provisioning the client_proxy device app with said changes and observed the Element & model count in nRF mesh mobile app as N/A. After clicking the cell, the Model Configuration screen appears blank.

Are we missing any changes at the proxy_client device app side or at nRF mesh mobile app side?

Our requirement is to increase element count in the proxy_client device app with simple_on_off model in the new element added and the nRF mesh mobile app should be able provision it.

Please find logs and screen shot shared with this issue.

Platform details:

  • Device: iPad
  • OS: iOS 11

Logs / Screenshots

Logs.docx

img_0024
img_0025

Provisioning Abort button sometimes disappears

During the provisioning stages, the Abort button is sometimes intentionally disabled for states where the abort feature is not going to work, this causes an unknown state in some edge cases causing the button never to reappear when a node fails to provision

Swift build failed

Hi! I can't build the example nRFMeshProvision_Example, there's a Swift compiler error: "No such module 'nRFMeshProvision' ReconnectionViewController.swift" or any other file which uses the "import nRFMeshProvision.
Is that a library I don't have?

EDIT
Fixed by opening correct file .xcworkspace instead of .xcodeproj :P

Implement grouping using friendly names

As a user, I want to be able to CRUD groups from the settings so that I do not have to input addresses into the node configuration view and improve my experience.

Implement DFU feature

As a power user, I want to be able to flash mesh nodes with newer firmwares so that I can easily test, update and verify network operation with the latest firmware versions.

GenericOnOff Parametrers

As a user, I want be able to configure Generic OnOff parameters so that I can control the GenericOnOff state delay time and transition time

Implement Server configuration

As a power user, I want to be able to enable or disable the relay and proxy services on a node so that I have granular control over how the nodes behave.

implement Identify for provisioned nodes

As a user, I want to be able to identify nodes using nRF Mesh so that I can know where the models and elements are physically located and ease the process of configuring nodes.

cocoapods error installing OpenSSL dependency

Running 'pod install' I get an error during openssl dependency installation.

To Reproduce
run 'pod install'

Expected behavior
Verbose output terminating with:
cp: file.tgz: No such file or directory

It seems that the problem can be resolved changing the line:
s.dependency 'OpenSSL'
to:
s.dependency 'OpenSSL-Universal'
in the nRFMeshProvision.podspec file.

Whether the ProvisionedMeshNodeDelegate can add Option support?

Is your feature request related to a problem? Please describe.
As mentioned in the question, each time you call ProvisionedMeshNodeDelegate.delegate = self , you must say that all delegates are implemented in the file, even if many are not required;

Describe the solution you'd like
Add Option and Required support

Additional context
1533865664394

Notes

I've some suggestions, feedback & observations. Please consider them ..

  1. If Destination address is Group address, then please make sure that
    message should publish as set_unack (unreliable message).

    If it is unicast address, then it could be set message.

    In setting, give option for user to select whether he/she want to send reliable message or
    unreliable message in case of unicast destination address.

  2. iOS APP observations:

    I've installed v1.0.2 build no. 9.
    But not able to set various Publication parameters which are newly introduced feature.
    If we set & retried to modify the things then App shows default values instead of previously entered
    values.

    Mobile itself not properly re-transmit messages. If there are many NODEs in Group then NODEs
    which are in close vicinity of Proxy NODE are reacting properly, others are not since either Proxy is
    not re-transmitting or Mobile App is not re-transmitting.

  3. Relay - On/Off (along with Relay re-transmission parameters settings)

  4. Proxy - On/Off

  5. It will be great if Level GUI (seekbar which is going to introduced in next release under Generic Level
    Server ) publish real-time values instead of sending just last value.

    Level Value range is -> -32768 to 32767 (16-bit 2's compliment)
    Make sure that seekbar get divided into 10 virtual points which is hidden for user point of view
    and if user scroll seekbar (from extreme left to extreme right) then only 10 values get publish.

    If we don't create 10 discrete points then that could publish multiple values to Mesh network & that
    could hangs or degrade Mesh n/w performance.

Implement `peripheralDidUpdateName` method

When a peripheral changes name, we need to update our UI to immediately reflect those changes without having to re-scan and have issues with BLE cache not updating names.

Add ability to Auto rejoin

As a user, I want to be able to configure my phone to automatically rejoin the mesh if it's still nearby so that I have a better and seamless user experience.

Export/Import of nodes database and keys

Is your feature request related to a problem? Please describe.
User may need to synchronise more mobile handsets with the same mesh network.

Describe the solution you'd like
Export/Import of json or something similar with the network serialised info.

Swift compiler Error : Use of undeclared type 'OpenSSLHelper'

Describe the bug
Install pod in our project give swift compiler Error i.e Use of undeclared type 'OpenSSLHelper' also run command install pod in your example project gives same error. can you please check it.

Platform details:

  • Device: iPhone6
  • OS: iOS 11.2
  • Xcode : 9.2

NRF_ERROR_NO_MEM

Hi! We got the mesh working with our custom model. however if we try to send a package multiple times it throws NRF_ERROR_NO_MEM error. Any ideas why this might happen or if there is any workaround?

Thank you!

Implement and fix unit tests

As a Mesh developer, I want to have fully working unit tests so that I can confirm my changes are not breaking the current functions.

Checking out the Mesh Library

Hi! we are trying to setup the light_switch example from nordic and use this iOS app to setup the mesh. However we are unable to make it work? Know its in early stages, but we got to download and configure NRF52 with the example and nothing happens. Any ideas how to proceed? Do you have any working example that we can use in conjunction with the library setup? Thank you!

Provisioning process get stuck at 87%

Describe the bug
The provisioning process get stuck at 87% during the 12th node provisioning.
If I try to add a different node, other than the previous, the problem repeats.
The address (0x0017) is reused at each retry.

To Reproduce
Steps to reproduce the behavior:

  1. Provision the first 11 nodes
  2. Start provisioning os 12th node
  3. The provisioning process get stuck at 87%

Platform details:

  • Device: iPhone6S
  • OS: iOS 12.0
  • Library Version: 1.0.4(12)

Logs / Screenshots
Screenshots (the log is ordered from the most recent to the least recent):
img_0340
img_0337
img_0338
img_0339
img_0344

Handle disconnected state gracefully

As a user, I want to easily navigate the app when I'm not connected to the network so that I have a good user experience when I'm trying to explore my network without being connected to it.

nRF Mesh app stuck during provisioning of light switch proxy client, mesh sdk v2.1.1

Describe the bug
The nRF Mesh app is stuck at 91% in the progress bar. The full nRF Mesh log is attached below:

img_3730
img_3731
img_3732
img_3733

The log from the light switch proxy client is attached here:

<t: 0>, main.c, 331, ----- BLE Mesh Light Switch Client Demo -----
<t: 538>, main.c, 242, Initializing and adding models
<t: 5449>, main.c, 374, Device UUID : 0059ABCDEFABCDEFACCDEFABCDEFABCD
<t: 456106>, main.c, 264, Successfully updated connection parameters
<t: 1030>, main.c, 101, Successfully provisioned
<t: 1038>, main.c, 109, Node Address: 0x0001
<t: 79085>, main.c, 264, Successfully updated connection parameters

To Reproduce
Steps to reproduce the behavior:

  1. Use two nRF52832 DKs
  2. erase both boards using nrfjprog --eraseall
  3. compile light switch proxy client & server examples from mesh sdk v2.1.1
  4. download projects to the respective boards
  5. open a debugging session in Segger Embedded Studio to see log output (no breakpoints)
  6. Network tab -> Add new device
  7. connect to client node
  8. Do not make any changes to name, unicast address or appkey 1
  9. press Provision

Expected behavior
I expect the nRF Mesh app to provision successfully.

Important note: When I exit the nRF Mesh app (press home button on iPhone), open the nRF Mesh app again & press "Reconnect", it seems the proxy client is provisioned correctly. This can also be seen from proxy client log above (<t: 1030>, main.c, 101, Successfully provisioned).

Platform details:

  • Device: iPhone 8
  • OS: iOS 11.4.1
  • Application version V1.0.1, Build Number 7

Logs / Screenshots
Add any logs or screenshots that can help us debug the issue faster

Swift Compiler Error: Expression was too complex to be solved in reasonable time; consider breaking up the expression into distinct sub-expressions

Describe the bug

Expression was too complex to be solved in reasonable time; consider breaking up the expression into distinct sub-expressions

let packedNetKey = Data([netKeyIndex[0] << 4 | ((netKeyIndex[1] & 0xF0) >> 4),netKeyIndex[1] << 4])

private func discoveryCompleted() {
    if let provisioningData = provisioningData, meshState != nil {
        logEventWithMessage("provisioning started")
        let meshStateObject = meshState.state()
        let netKeyIndex = meshStateObject.keyIndex
        let packedNetKey = Data([netKeyIndex[0] << 4 | ((netKeyIndex[1] & 0xF0) >> 4),netKeyIndex[1] << 4])

To Reproduce
clone IOS-nRF-Mesh-Library and open xcode project
(nRFMeshProvision.xcworkspace)

build project , then it show "Expression was too complex to be solved in reasonable time"

Expected behavior
it too complex for swift , that should be change multi statment assign packedNetKey

Platform details:
-Xcode 9.2
-Swift 4

  • Device: iPhone6
  • OS: iOS 10.3.2
  • Library Version (or Commit)

Logs / Screenshots
Add any logs or screenshots that can help us debug the issue faster

http://220.134.203.121/nextcloud/s/MBAXtxFjRPX82GC

Please join the sensor related model, and friend node support?

In actual development, we need to add sensor devices to the network to link with other devices.
Does the friend node support it at present?
when will it start to support?
If the sensor node is used as a normal node, is there any other influence besides the power consumption?

image

Add GenericLevel model

As a user, I want to be able to send GenericLevel related messages so that I can test GenericLevel features on my hardware.

Add ability to create own App keys

As a power user, I want to be able to add, edit and remove my own AppKeys so that I get granular control over the configuration of my mesh network.

Can copy an appkey and add it into nRF Mesh App

Currently, nRF Mesh allows to add an appkey, but this key is generated randomly.
Whether can add a feature that user can copy and paste an appkey by themselves, this will make nRF mesh can work with other provisioners together like BlueZ.

hello,I'd like to ask you a question

I want to achieve ios background bluetooth broadcast data transmission,I looked for information on the Internet,plist File Required background modes item add App communicates using CoreBluetooth and App shares data using CoreBluetooth.I have solved the background program to stop running, but bluetooth is not broadcast out.

91% issue is back again

Describe the bug
During node provisioning the process get stuck at 91% and stops.
The app needs to be terminated and the network db erased.

To Reproduce
Steps to reproduce the behavior:

  1. Discovery new unprovisioned node
  2. Change default name
  3. Start provisioning
  4. See error at 91%

Expected behavior
The provisioning process get stuck at 91%

Platform details:

  • Device: iPhone6s
  • OS: iOS11.4.1

Logs / Screenshots
img_0159
img_0160
img_0161
img_0162

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.