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