Skip to content
  • 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
Loading