commit | b1e52b25df068911d913f3efa4c7b2581ee0a7a2 | [log] [tgz] |
---|---|---|
author | Vivien Nicolas <vnicolas@apple.com> | Wed Jul 22 00:14:00 2020 +0200 |
committer | GitHub <noreply@github.com> | Tue Jul 21 15:14:00 2020 -0700 |
tree | 4afcb194bdb0d0e3fe09f0f3cf8dcb207b5d4b0c | |
parent | 09ec421852dbcad61bbe7c2fbdf60e714ed54757 [diff] |
Add BleEndPoint for the Darwin platforms (#1660) * Create a new BleConnectionDelegate interface for BleLayer * Add BlePlatformDelegate, BleApplicationDelegate, BleConnectionDelegate code to src/platform/Darwin The delegates use CoreBluetooth which, unlike Network, is not directly available as C++ headers. As a result the mentioned delegates are implemented using Objective-c++. * Enable BleLayer to be built for standalone-apps * Remove c++11 extension from src/platform/Darwin/CHIPPlatformConfig.h since it is unused and create a warning when using Objective-c++ * Remove conflicting define from src/platform/Darwin/BlePlatformConfig.h that override BLE_CONNECTION_OBJECT default type * Expose BleLayer via a new ConnectivityManager::GetBleLayer method * Add Transport::BLE to src/transport It is a first version that directly use ChipDeviceController for callbacks. Transport::BLE is referenced as a friend class of ChipDeviceController to access some private members that may be better not accessible. Hopefully this dependency will be removed at some point. The current code also uses BleLayer->NewBleConnection which directly creates a BLE_CONNECTION_OBJECT from a given device name. * Add a new ChipDeviceController::ConnectDevice API dedicated for Ble devices The current API takes a name instead of an IP and a Port. Once PeerAddress has a better support of Ble this particular ConnectDevice api and the previous one (which uses IP/port) should likely be removed by a new API that takes a PeerAddress directly. This will obviosuly only be possible if Transport::BLE uses the SessionManager instead of beeing directly instantiated from the ChipDeviceController * Add .m and .mm to the set of compiled files by config/standalone-app.mk * Add 'echo-ble' to the list of commands supported by examples/chip-tool The patch reformats a little bit chip-tool in order to allow other commands that does not rely on IP. * Use the new platform BLE support from the iOS app
Visit connectedhomeip.com to learn more.
The Zigbee Alliance officially opened the Project Connected Home over IP (Project CHIP) Working Group on January 17 and is in the process of drafting the specification.
The Project’s design and technical processes are intended to be open and transparent to the general public, including to Work Group non-members wherever possible. The availability of this GitHub repository and its source code under an Apache v2 license is an important and demonstrable step to achieving this commitment.
The Project endeavors to bring together the best aspects of market-tested technologies and to redeploy them as a unified and cohesive whole-system solution. The overall goal of this approach is to bring the benefits of the Project to consumers and manufacturers as quickly as possible. As a result, what you observe in this repository is an implementation-first approach to the technical specification, vetting integrations in practice.
We would love for you to contribute to Project Connected Home over IP. Read our contribution guidelines here.
Instructions about how to build Project Connected Home over IP can be found here.
The Connected Home over IP repository is structured as follows:
File / Folder | Contents |
---|---|
.default-version | Default Project CHIP version if none is available via source code control tags, .dist-version , or .local-version |
bootstrap | GNU autotools bootstrap script for the Project CHIP build system |
bootstrap-configure | Convenience script that will bootstrap the Project CHIP build system, via bootstrap , and invoke configure |
build/ | Build system support content and build output directories |
BUILDING.md | More detailed information on configuring and building Project CHIP for different targets |
CODE_OF_CONDUCT.md | Code of Conduct for Project CHIP, and contributions to it |
CONTRIBUTING.md | Guidelines for contributing to Project CHIP |
CONTRIBUTORS.md | Contributors to Project CHIP |
docs/ | Documentation |
examples/ | Example firmware applications that demonstrate use of Project CHIP technology |
integrations/ | Third party integrations related to this project |
integrations/docker/ | Docker scripts and Dockerfiles |
LICENSE | Project CHIP License file (Apache 2.0) |
Makefile-Android | Convenience makefile for building Project CHIP against Android |
Makefile-Standalone | Convenience makefile for building Project CHIP as a standalone package on desktop and server systems |
README.md | This file |
src/ | Implementation of Project CHIP |
third_party/ | Third-party code used by Project CHIP |
tools/ | Tools needed to work with the Project CHIP repo |
Project CHIP is released under the Apache 2.0 license.