Skip to content
Snippets Groups Projects
  1. Sep 18, 2020
  2. Sep 17, 2020
  3. Sep 08, 2020
  4. Aug 28, 2020
  5. Aug 20, 2020
  6. Aug 14, 2020
  7. Aug 12, 2020
  8. Aug 07, 2020
  9. Jul 31, 2020
  10. Jul 29, 2020
  11. Jul 21, 2020
    • Vivien Nicolas's avatar
      Add BleEndPoint for the Darwin platforms (#1660) · b1e52b25
      Vivien Nicolas authored
      * 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
      b1e52b25
    • yunhanw-google's avatar
      Add BlueZ in CHIP (#1608) · e1d448c6
      yunhanw-google authored
      
      -- Add BlueZ in Third-party for CHIP Linux device layer BLE manager integration
      
      Issue: #741
      Test: local compilation
      
      Co-authored-by: default avatarJustin Wood <woody@apple.com>
      e1d448c6
    • Vivien Nicolas's avatar
    • Boris Zbarsky's avatar
      Add new on/off cluster implementation based on the Silicon Labs ZigbeePro code (#1609) · 4dd52306
      Boris Zbarsky authored
      * Add initial Silicon Labs ZCL data model files.
      
      All except type_stubs.h come from
      https://github.com/project-chip/connectedhomeip/pull/1164
      
      types_stub.h comes from
      https://github.com/project-chip/connectedhomeip/issues/1425#issuecomment-656345511
      and
      https://github.com/project-chip/connectedhomeip/issues/1425#issuecomment-657764550
      
      
      
      * Add generated files from the Silicon Labs sample app provided by Ezra Hale.
      
      The sample app only implements the On/Off cluster.
      
      Most of the files have the same exact name as in the sample app, with
      the following exceptions:
      
      * endpoint_config.h was originally ZigbeeMinimalSoc_endpoint_config.h
      * gen_config.h was originally ZigbeeMinimalSoc.h
      * gen_tokens.h was originally ZigbeeMinimalSoc_tokens.h
      
      * Fix compile errors in types_stub.h
      
      This corrects various obvious problems in the file that prevent files
      that include it from compiling.
      
      * Fix #includes in the imported Silicon Labs code to not include nonexistent things.
      
      There are a few categories of fixes here:
      
      * Adjusting paths to match out directory structure (which is not
        identical to the one Silicon Labs apps normally use).
      * Commenting out includes of headers that we don't think we actually
        need.
      * Hardcoding some header names that are represented by preprocessor
        macros in the Silicon Labs build system.
      
      * Include various missing headers to allow the Silicon Labs code to compile.
      
      * Comment or ifdef out various calls to Silicon Labs functions we are not pulling in.
      
      For some of these we are not even pulling in the declaration.  For
      some, we have a declaration, but no definition.  At first glance, all
      of these are either there to solve problems that we will solve in a
      different way in CHIP, or the callsites are in code that CHIP is
      almost certainly not going to use.
      
      * Copy declaration of emberAfPluginOnOffClusterServerPostInitCallback from the zll-color-light sample app in the SiLabs ZCL code.
      
      * Restyle the Silicon Labs files to CHIP style
      
      * Add utilities for encoding and decoding messages that the Silicon Labs ZigbeePro implementation can handle.
      
      The actual encoding we are using is not quite the APS encoding, but
      it's still a throwaway, so that does not matter too much.
      
      * Switch the echo server to using the new On/Off implementation.
      
      We no longer compile the Dotdot-based ZCL data model files into
      libCHIP, because those have symbols whose names conflict with the new
      ZigbeePro-based ZCL data model files.
      
      * Switch command-line chip-tool to using the new On/Off implementation.
      
      * Switch iOS CHIPTool to using the new On/Off implementation.
      
      Co-authored-by: default avatarBhaskar Sarma <bhaskar@Bhaskars-MacBook-Pro.local>
      4dd52306
  12. Jul 20, 2020
    • Damian Królik's avatar
      Add support for nRF Connect SDK (#1494) · 34a4a937
      Damian Królik authored
      
      * Add CMake module for building CHIP examples with Nordic NCS
      
      Currently Nordic platform layer of CHIP is based on nRF5
      SDK. This commit is the first step needed to replace it
      with nRF Connect SDK based on Zephyr RTOS. While the old
      platform layer remains unchanged, add a CMake helper file
      which allows to build the entire CHIP using the NCS/Zephyr
      build system.
      
      * Port part of the door-lock example to Nordic Connect SDK
      
      Rewrite everything which doesn't depend on the CHIP platform
      layers using the NCS/Zephyr API. This includes functionality
      of the sample app related to LEDs, buttons, timers, message
      queues and logging.
      
      * Implement PlatformManagerImpl for nRF Connect SDK
      
      Implement PlatformManagerImpl for nRF Connect SDK based on
      generic implementation for Zephyr RTOS. Also provide initial
      implementation of functions to retrieve system time using
      Zephyr API and add Zephyr-based logging backend.
      
      The code compiles, but it requires other components to be
      tested.
      
      * Add empty stubs for nRF Connect platform layer
      
      This commit adds empty implementations of base platform functions.
      
      * Add ThreadStackManager implementation and enable OT
      
      This commit enables the OT stack in the Zephyr application.
      The ThreadStackManager allows the CHIP stack to control the
      state of the stack embedded into the Zephyr.
      It is required that all calls to this class are to be made
      from a cooperative task priority.
      
      * Adapt Inet layer to Zephyr networking API
      
      Make necessary changes to build CHIP Inet library using
      Zephyr networking API. Zephyr provides BSD-like socket
      interface, however a few things are missing:
      
      - some socket-related functions are not available, e.g.
        getsockname, recvmsg etc. Implement required
        replacements.
      - some constants are not available. In particular, some
        options passed to the setsockopt function must have been
        made optional. In case e.g. explicit multicast group
        management is needed we will have find another ways
        to implement that in Zephyr.
      - the whole ifaddrs library doesn't exist in Zephyr, so
        all the interface/address enumeration code must have been
        implemented for Zephyr.
      - disable TCP end point for nRF Connect SDK platform for
        now as it will require further changes.
      
      * Add ConnectivityManager for nRF Connect
      
      * Add README.md
      
      * Add ZCL server to the door-lock example for nRF Connect
      
      Co-authored-by: default avatarRafał Kuźnia <rafal.kuznia@nordicsemi.no>
      
      * Apply code-review suggestions
      
      * Restyled by whitespace
      
      Co-authored-by: default avatarRafał Kuźnia <rafal.kuznia@nordicsemi.no>
      Co-authored-by: default avatarRestyled.io <commits@restyled.io>
      34a4a937
  13. Jul 16, 2020
  14. Jul 15, 2020
  15. Jul 14, 2020
  16. Jul 08, 2020
  17. Jul 07, 2020
  18. Jul 01, 2020
    • Justin Wood's avatar
      Ready README.md for open source (#1000) · d4a06151
      Justin Wood authored
      * Cleanup
      
      * Updating text
      
      * Updating files
      
      * Removing this for now
      
      * Removing these placeholders
      
      * Updating based on feedback
      
      * Updating license text
      
      * Removing this config
      
      * Updating CLA
      
      * Removing tests
      
      * Adding CircleCI badge
      
      * Shield style
      d4a06151
  19. Jun 23, 2020
  20. Jun 19, 2020
    • Zang MingJie's avatar
      Disable maintainer mode by default (#1068) · e9196fd2
      Zang MingJie authored
      * Disable maintainer mode by default
      
      When maintainer mode is enabled, `make` will not try to run
      `aclocal`/`autoconf`/`automake` when corresponding `configure.ac` or
      `Makefile.am` is changed. It is very inconvenient for daily development
      that these files are changing everyday. Developers are force to re-run
      bootstrap and configure when these files are changed.
      
      With maintainer mode disabled, changes of these files will be handled by
      `Makefile` automatically, `make` will re-run corresponding commands when
      changes of these files are detected.
      
      The purpose of maintainer mode is to prevent updating `Makefile.in` and
      `configure` after release. Because CHIP doesn't release these files,
      there is no reason to enable maintainer mode.
      
      * Update comments
      e9196fd2
  21. Jun 18, 2020
    • Vivien Nicolas's avatar
      Provide Darwin compatible implementation for InetLayer (#1121) · 79625961
      Vivien Nicolas authored
      * Use --with-target-network=Network.framework as a build target. Does nothing so far
      
      * UDPEndpoint basic client working in order to send a message to a server
      
      * UDPEndPoint basic client can send/receive message from a server
      
      * UDPEndPoint basic client can send from a different port than the remote server
      
      * Add missing methods to EndPointBasis.h and move some code from UDPEndpoint to IPEndPoint
      
      * Prepare the client code to support multiple connections
      
      * UDP basic client can connect to a different server after the first connection
      
      * UDP Basic server over Network.framework
      
      * Restyle the code and add a IPEndPointBasis::GetEndPoint method
      
      * Map error code to INET_ERROR codes
      
      * Configure the protocol stack accordingly to the requested address type (ipv4/ipv6)
      
      * Fix some crashes and deadlocks into the Network.framework backend
      
      * Remove printf from IPEndPointBasis.cpp and use ChipLogging instead
      79625961
  22. Jun 17, 2020
    • Yufeng Wang's avatar
      [linux] Linux Device Layer needs ConfigurationMgr. (#738) · 92904f43
      Yufeng Wang authored
      * Add initial Linux platform DeviceLayer ConfigurationMgr module.
      
      * Implement ChipStorage using inipp for both durable and ephemeral settings.
      
      * Add unit tests
      
      * Restyled by whitespace
      
      * Restyled by clang-format
      
      * Address review comments
      92904f43
  23. Jun 11, 2020
    • Yakun Xu's avatar
      [nrf5] enable Thread on lock app (#1011) · 4b97e1b5
      Yakun Xu authored
      * [nrf5] enable Thread on lock app
      
      This commit enables OpenThread in the lock-app. The UART provides access
      to OpenThread CLI.
      
      * use with-openthread
      
      * condition new code
      
      * use IsIPv6GlobalUnicast()
      4b97e1b5
  24. Jun 10, 2020
    • Martin Turon's avatar
      [shell] Adds a generic, portable shell library. (#998) · 6f6c6d83
      Martin Turon authored
      * [shell] Adds a generic, portable shell library.
      
      - Command line interface (cli) registration, parsing, and dispatch.
      - Retargetable streamer object for input / output.
      - Stdio-based streamer implementation for posix platforms.
      - Default commands: help, echo.
      
      Other changes during review:
      - Build stdio streamer on UNIX only. ASF attribution.
      - Mark nRF5 as embedded. Reorder includes.
      - Add shell app to CI and VSCODE.
      - Add missing build script.
      - Fix standalone linker to use c++. Added base64 command.
      - Converted all sources to C++ and wrapped in namespace chip::Shell.
      - Fix shell_command naming consistancy. Shorten type names.
      - Extend shell to support hierarchical subcommands.
      - Added Doxygen.
      
      Plus PR comment resolution:
      - Moved location to `src/lib/shell`.
      - Use test driver pattern for TestShell
      - Use .cpp extension rather than .cc
      
      * [shell] Review comments -- improve tokenizer space handling and unit tests.
      6f6c6d83
  25. Jun 01, 2020
  26. May 30, 2020
  27. May 28, 2020
  28. May 26, 2020
    • Martin Turon's avatar
      [linux] Land the First (1st) of Nine (9) Phases for the Linux DeviceLayer Adapation (#614) · 0c03fa83
      Martin Turon authored
      
      * [linux] Add initial Linux platform DeviceLayer.
      
      - Adds Device Layer for Linux.
      - Uses SystemLayer Sockets.
      - Entropy and time implementations.
      - Stub out ble, connectivity, and configuration / storage for follow-on PR.
      - Uses pthreads for mutex and tasks.
      - Uses std::chrono for monotonic system time.
      
      * [linux] Add PlatformMgr tests.
      
      * [linux] Add CircleCI target for linux device layer.
      
      * [linux] Add fixme reference to LWIP ifdef.
      
      * Restyled by clang-format
      
      * [linux] fix header order; fix build
      
      After the latest rebase, the following error was coming up:
      
      ```
      ../../src/include/platform/ConnectivityManager.h:252:40: fatal error: platform/CHIP_DEVICE_LAYER_TARGET/ConnectivityManagerImpl.h: No such file or directory
        252 | #define CONNECTIVITYMANAGERIMPL_HEADER <platform/CHIP_DEVICE_LAYER_TARGET/ConnectivityManagerImpl.h>
      ```
      
      Though CHIP_DEVICE_LAYER_TARGET=Linux is set using AC_SUBST in configure.ac,
      the definition, which was working fine before, was mysteriously getting lost.
      It turns out the header re-ordering PR was the root cause of the issue.
      
      The fix was to change all sources in src/platform/Linux to
      move this include first:
          #include <platform/internal/CHIPDeviceLayerInternal.h>
      
      The error did not lead to the fix in an obvious way, so the issue
      is being documented here.
      
      * [linux] Update linux-embedded target to follow circleci matrix template.
      
      * [linux] Fix naming nits.
      
      Co-authored-by: default avatarRestyled.io <commits@restyled.io>
      0c03fa83
    • Rob Walker's avatar
      move zap to CHIP build system (#802) · 06724df6
      Rob Walker authored
      * move zap to CHIP build system
      
      * missed subdir
      
      * fix make distcheck
      
      * indentation nit
      
      * test driver rename, compiler warning
      
      * fix LocateAttribute
      
      * comment out internal functions until we have more dispatch info
      06724df6
  29. May 20, 2020
Loading