tree: abfadd9023828e508167296d7369fcf343638d5b [path history] [tgz]
  1. args.gni
  2. BLEAdvertisingArbiter.cpp
  3. BLEAdvertisingArbiter.h
  4. BLEManagerImpl.cpp
  5. BLEManagerImpl.h
  6. BlePlatformConfig.h
  7. BUILD.gn
  8. CHIPDevicePlatformConfig.h
  9. CHIPDevicePlatformEvent.h
  10. CHIPPlatformConfig.h
  11. ConfigurationManagerImpl.cpp
  12. ConfigurationManagerImpl.h
  13. ConnectivityManagerImpl.cpp
  14. ConnectivityManagerImpl.h
  15. DiagnosticDataProviderImpl.cpp
  16. DiagnosticDataProviderImpl.h
  17. DiagnosticDataProviderImplGetter.cpp
  18. InetPlatformConfig.h
  19. InetUtils.cpp
  20. InetUtils.h
  21. KeyValueStoreManagerImpl.cpp
  22. KeyValueStoreManagerImpl.h
  23. Logging.cpp
  24. NFCManagerImpl.cpp
  25. NFCManagerImpl.h
  26. PlatformManagerImpl.cpp
  27. PlatformManagerImpl.h
  28. README.md
  29. SysHeapMalloc.cpp
  30. SysHeapMalloc.h
  31. SystemPlatformConfig.h
  32. SystemTimeSupport.cpp
  33. ThreadStackManagerImpl.cpp
  34. ThreadStackManagerImpl.h
  35. ZephyrConfig.cpp
  36. ZephyrConfig.h
src/platform/Zephyr/README.md

Overview of Zephyr Adaption

The following is a quick overview of the Zephyr adaptation of CHIP. Most of this code will have parallels in any new adaptation.

(All file names are relative to connectedhomeip/src/...).

include/platform/Zephyr/PlatformManagerImpl.h
Zephyr/PlatformManagerImpl.cpp

  • Concrete implementation of PlatformManager interface
  • Provides initialization of the CHIP stack and core event loop for the chip task
  • Relies on GenericPlatformManagerImpl_POSIX<> class to provide most of the implementation

include/platform/Zephyr/ConfigurationManagerImpl.h
Zephyr/ConfigurationManagerImpl.cpp

  • Concrete implementation of ConfigurationManager interface
  • Manages storage and retrieval of persistent configuration data
  • Relies on GenericConfigurationManagerImpl<> classes to implement most API functionality
  • Delegates low-level reading and writing of persistent values to ZephyrConfig class

include/platform/Zephyr/ThreadStackManagerImpl.h
Zephyr/ThreadStackManagerImpl.cpp

  • Concrete implementation of ThreadStackManager interface
  • Supports Thread stack initialization and core event loop processing
  • Relies on GenericThreadStackManagerImpl_OpenThread/POSIX<> classes to implement most API functionality

include/platform/Zephyr/BLEManagerImpl.h
Zephyr/BLEManagerImpl.cpp

  • Concrete implementation of the BLEManager interface
  • Maps CHIP‘s BLE interface abstractions (BleLayer, BlePlatformDelegate, BleApplicationDelegate) onto the platform’s native BLE services
  • Implements chip-compatible BLE advertising.

platform/Zephyr/Logging.cpp

  • Adaption of chip debug logging to platform logging facility.

platform/Zephyr/ZephyrConfig.cpp

  • Implements low-level read/write of persistent configuration values
  • Class API specifically designed to work in conjunction with the GenericConfigurationManagerImpl<> class.

platform/Zephyr/CHIPDevicePlatformEvent.h

  • Defines platform-specific event types and data for the chip Device Layer.