From 5f51925ad9caf58a1b52f4740f0cf8b2bdf1e344 Mon Sep 17 00:00:00 2001 From: silabs-hieuhoang Date: Mon, 16 Sep 2024 13:41:01 +0700 Subject: [PATCH 01/62] Create LICENSE.md --- LICENSE.md | 799 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 799 insertions(+) create mode 100644 LICENSE.md diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 00000000..c341dee8 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,799 @@ +**Copyright 2023 Silicon Laboratories Inc. [www.silabs.com](https://www.silabs.com/)** + +The licensor of this software is Silicon Laboratories Inc. Your use of this +software is governed by the terms of Silicon Labs Master Software License +Agreement (MSLA) available at +[www.silabs.com/about-us/legal/master-software-license-agreement](). This software +is distributed to you in Source Code format and is governed by the sections of +the MSLA applicable to Source Code. + +THIS MASTER SOFTWARE LICENSE AGREEMENT ("AGREEMENT") GOVERNS YOUR USE OF +THE LICENSED MATERIALS. INSTALLING, COPYING OR OTHERWISE USING THE +SOFTWARE, INDICATES YOUR ACCEPTANCE OF THE TERMS OF THIS AGREEMENT +REGARDLESS OF WHETHER YOU CLICK THE "ACCEPT" BUTTON. IF YOU DO NOT AGREE +WITH THESE TERMS AND CONDITIONS OR IF YOU ARE NOT AUTHORIZED TO ACCEPT +THE TERMS OF THIS LICENSE ON BEHALF OF YOUR EMPLOYER, DECLINE THE +LICENSE TERMS AND DO NOT USE THE SOFTWARE OR DOCUMENTATION. THESE TERMS +GOVERN YOUR CONTINUED USE OF THE LICENSED MATERIALS THAT YOU DOWNLOAD +NOW OR IN THE FUTURE, INCLUDING SUCH ADDITIONAL SOFTWARE MADE AVAILABLE +TO YOU THROUGH THE LICENSED MATERIALS YOU HAVE SELECTED, AND ALL UPDATES +AND VERSIONS OF SUCH SOFTWARE. + +

1. Definitions

. +"Application" means a product developed by Licensee, or +for Licensee by a third party, that contains Licensed Programs. + +"Authorized Application" means an Application that contains, integrates, +is packaged with, or functions with a Silicon Labs Device in Licensee's +Application. This includes a Licensed Program embedded in a network +co-processor or host processor that operates in conjunction with a +Silicon Labs Device. + +"Authorized Subcontractor" means a third-party subcontractor that you +engage to design or manufacture Authorized Applications and has executed +an agreement that is consistent with the terms of this Agreement, +including its confidentiality provisions. At all times, you shall remain +responsible for the actions or non-actions of you Authorized +Subcontractors the same as if the action on non-action was committed by +you. + +"Beta Software" means Software, including Software included within an +SDK, that is undergoing testing or further development, and has not +reached the generally available (GA) stage of development. + +"Commercial License" means an executed, in effect, software license +agreement between Licensee and Silicon Labs that governs Licensee's +rights and obligations with respect to Licensee's use of Micrium +Software. + +"Commercial Purpose" means embedding Micrium Software in any +Application that you sell or license to End Users or plan to do so. + +"Derivative Works" means a work based upon the Source Code version of +the Software, such as a revision, modification, translation, abridgment, +condensation, expansion or any other form in which such Software may be +recast, transformed or adapted, and that, if prepared without +authorization from Silicon Labs, would constitute copyright +infringement. + +"Development Tool" means a software provided by Silicon Labs to enable +development of Authorized Applications, configuration of Silicon Labs +Devices and Software. + +"Documentation" means Silicon Labs technical documentation related to +the Software, excluding advertising or marketing materials. + +"Embedded Stacks" means Software (other than Micrium Software) that is +stack libraries, application layers, and example code. + +"End User" means a purchaser, sublicensee, recipient and/or user of an +Application obtained directly or indirectly from Licensee. + +"External Manufacturers" means a third-party manufacturer, including +such manufacturer\'s subcontractors and agents, which is authorized by +Licensee to design and/or manufacture the Applications and to use, +install, and test the Applications and the Licensed Programs. + +"Firmware" means executable or binary code that is embedded in the +Silicon Labs Device in ROM or flash memory and cannot be modified by +Licensee. + +"Licensee" or "you" means the acquirer of the license rights granted by +this Agreement. If you are an individual working solely on your own +behalf, then you are the Licensee. If you are an employee working on +behalf of your employer, then your employer is the Licensee and you +confirm that you are authorized to accept the terms of this Agreement on +behalf of your Employer. + +"Licensed Programs" means Software in Object Code form that was either +originally in Object Code form or was compiled from the Software or +Derivative Works and is designed to operate in Applications in +Authorized Applications. + +"Licensed Materials" means Software and the related Documentation +including all updates and upgrades of the foregoing. + +"Micrium Software" means the Micrium real time kernel within the Micrium +real time operating system (Micrium OS). + +"Modified Open Source Software" means Silicon Labs\' modifications to +Open Source Software that was created by a third party. + +"Object Code" means computer programming code in binary form suitable for machine execution by a processor without the intervening steps of interpretation +or compilation. + +"Open Source Software" means the Source Code version of software that +may be freely used, modified or distributed without payment of a license +fee or royalties subject to the terms of a publicly available software +license, excluding Modified Open Source Software, the use of which is +subject to the terms of this Agreement. + +"Personal Information" means data concerning an individual user, +including but not limited to a user's activity on a Silicon Labs +website, location, IP address, mobile device ID, name, or biometric data +collected, stored or transmitted by a Silicon Lab Device or Software. + +"SDK" means software development kit (other than Micrium Software). + +"Silicon Labs" means Silicon Laboratories Inc., a Delaware corporation +located at 400 W. Cesar Chavez, Austin, TX 78701 if you are physically +located within the United States. If you are physically located outside +of the United States, Silicon Labs means Silicon Laboratories +International Pte Ltd., a Singapore corporation located at No. 18 Tai +Seng Street, #05-01, 18 Tai Seng, Singapore 539775. + +"Silicon Labs Devices" means Silicon Labs branded integrated circuit +chips purchased from Silicon Labs or one of its authorized distributors. + +"Silicon Labs Open Source Code" means Software created by Silicon Labs +and which is (a) delivered to Licensee in Source Code format, (b) is +identified as open source code and (c) states that use of the software +is subject to the terms of this Agreement. + +"Software" means the computer programming code that was downloaded or +otherwise distributed to Licensee and which is the subject of this +Agreement. Software may be in Object Code or Source Code form or may be +embedded as Firmware in a Silicon Labs Device. Software includes +Embedded Stacks, SDKs and Development Tools. Your rights are different +depending on whether the Software is delivered to you in Object Code, +Source Code or Firmware. Software that is Micrium Software is subject to +specific terms and conditions defined in Section 2. + +"Source Code" means the computer programming code in an uncompiled form +readable by humans which cannot be executed by a processor unless it is +compiled into binary form. + +"Third Party Software" means any software that Silicon Labs has licensed +from a third party. + +"Warranty Period" means the period of time ending thirty (30) days after +the first delivery of the Software to the Licensee, whether such +delivery is in the form of a download or actual physical delivery. + +"Unauthorized Use" means use or inclusion of the Licensed Materials in +(a) life support, aeronautical, aerospace, medical, military or nuclear +applications; (b) FDA Class III or other devices for which FDA premarket +approval is required; (c) implantable devices; (d) life support or life +endangering applications where failure or inaccuracy might cause death +or personal injury; and (e) automotive or transportation applications or +environments unless the specific Silicon Labs Device has been designated +by Silicon Labs as compliant with ISO/TS 16949 requirements. + +

2. Micrium Software.

+The terms and conditions in this Section 2 apply +only to Micrium Software and take precedence over any other conflicting +terms of this Agreement. + +2.1. Grant of Micrium Software License Upon accepting this Agreement +and downloading the Micrium Software, subject to your compliance with +the terms of this Agreement, Silicon Labs hereby grants you a limited, +non-exclusive, nontransferable license for the Term (as described in +Section 23), as follows: + +2.1.1. You and your Authorized Subcontractors may modify the Source Code +version of Micrium Software for the sole purpose of adapting the Micrium +Software to your application. + +2.1.2. You may embed the Micrium Software exclusively in products +developed by you or by your Authorized Subcontractors on your behalf +during the Term that embed the Micrium Software into Silicon Labs +Devices (the "End Products"). + +2.1.3. You may distribute copies of the Object Code version of the +Micrium Software solely to the extent that such copies are embedded in +End Products. + +2.2. Micrium Software License Restrictions. Your use of the Micrium +Software is subject to the following restrictions: + +2.2.1. You may allow Authorized Subcontractors to access and use the +Micrium Software solely to the extent necessary to adapt the Micrium +Software to your application. + +2.2.2. Except as provided in this Agreement, neither you, your +Authorized Subcontractors, nor any of your downstream customers may +sell, transfer, sublicense, distribute, or disseminate in any way the +Object Code or executable code of the Micrium Software in any written or +electronic manner. + +2.2.3. Neither you, your Authorized Subcontractors, nor any of your +downstream customers may distribute the Source Code version of Micrium +Software to any third party under any circumstances. You shall ensure +that each of your employees and Authorized Subcontractors that work with +Micrium Software are aware of this restriction. + +2.2.4. Except as permitted in this Agreement, neither you, your +Authorized Subcontractors, nor any of your downstream customer may embed +the Micrium Software in any integrated circuit device that is not a +Silicon Labs Device. + +2.3. End User Support. You agree to be fully responsible for all End +User support services and warranty costs for all End Products. + +2.4. Commercial Purpose. You are permitted to use the Micrium Software +for a Commercial Purpose only if you embed the Micrium Software into a +Silicon Labs Device. You may not embed the Micrium Software in a +non-Silicon Labs Device unless you and Silicon Labs execute a separate +Commercial License Agreement expressly permitting such use. + +2.5. Ownership. Silicon Labs is and shall remain the sole and exclusive +owner of the Micrium Software and all Documentation, media, manuals, +specifications, instructions and printed materials, and any copies or +portions thereof, furnished by Silicon Labs for use with the Micrium +Software. You own any improvements or modifications to the Micrium +Software made by you or your Authorized Subcontractor on your behalf to +adapt Micrium Software for use in your End Products. + +2.6. Maintenance and Support. Standard maintenance and technical +support, such as bug fixes, correction of failures, updates and +maintenance patches is provided to you at no cost for one year from date +that you download the Micrium Software. Silicon Labs may use a variety +of methods, including but not limited to telephone, Internet and/or +e-mail, to provide such maintenance and support. + +

3. 8051 SDK.

+The terms and condition in this Section 3 apply only to +the 8051 SDK and take precedence over any other conflicting terms of +this Agreement. + +3.1. 8051 SDK. The 8051 SDK consists of the following items: + +3.1.1. Drivers; + +3.1.2. Peripheral libraries (excluding CSLIB); and + +3.1.3. Example application code. + +3.2. Installation and Use Rights. + +3.2.1. You may download and install the 8051 SDK on one or more +computers and make any number of copies. + +3.2.2. You may internally evaluate the 8051 SDK. If you elect to use the +8051 SDK for any other purpose, including modification and distribution, +then the following additional terms apply to you. + +3.2.3. You may modify any files for your own use. + +3.2.4. You may redistribute to your customers applications that you +develop using the 8051 SDK. Your redistribution may be in any form, +including executable binary code, source code, physical media and +Internet downloads. + +3.3. Restrictions. + +3.3.1. You may not use the 8051 SDK with any integrated circuit products +other than those designed and manufactured by Silicon Labs. + +3.3.2. Except as provided above, you may not redistribute, sublicense, +assign, rent or lease any portion of the 8051 SDK to any third party. + +3.3.3. You may not modify or distribute the 8051 SDK so that all or any +part of it becomes Open Source Software. + +3.3.4. You may not obscure or remove any product identification, +copyright or other notices that appear on or in the 8051 SDK, including +any notices from third parties. + +3.3.5. You may not redistribute any modified or unmodified version of +the 8051 SDK to any third party as a standalone product. + +3.4. Ownership. Silicon Labs is and shall remain the owner of the 8051 +SDK at all times. Applications that you develop using the 8051 SDK shall +belong to you. + +

4. License Grant.

+Silicon Labs hereby grants Licensee a limited, +non-transferable, non-exclusive, perpetual license to use the Licensed +Materials solely under the following terms and condition: + +4.1. Object Code. With respect to Software (other than Micrium Software) +that is delivered to Licensee by Silicon Labs in Object Code format, +Licensee may: + +4.1.1. (a) if the Software is an Embedded Stack, you may install one +copy of the Software and its components all together on a single +computer, and if the Software is copied onto another computer, the +original copy must be deleted or otherwise made irreversibly inoperable; +(b) if the Software is an SDK or a Development Tool, you may make +multiple copies of the Software for your own internal use; + +4.1.2. store one copy of the Software for archival (non-operational) +purposes only, so long as access to such copy is restricted; + +4.1.3. use the Licensed Materials to develop applications to be used to +program Silicon Labs Devices; + +4.1.4. incorporate the Licensed Materials into Authorized Applications; + +4.1.5. facilitate the integration of the Licensed Materials and Silicon +Labs Devices into Authorized Applications; and + +4.1.6. distribute copies of the Licensed Materials to Licensee's +end-user customers, to the extent such copies are in Object Code form +only and are incorporated into Authorized Applications. + +4.2. Source Code. With respect to Software (other than Micrium Software +and Silicon Labs Open Source Software) that is delivered to Licensee by +Silicon Labs in Source Code format, Licensee may: + +4.2.1. use the sample application software in Source Code format to +develop and compile applications for use in Authorized Applications; + +4.2.2. copy, prepare Derivative Works of, compile and modify Source Code +of the Silicon Labs Software, solely to enable Licensee to design, +develop, modify, test, support and/or debug Derivative Works and/or +Licensed Programs that are intended to operate in Authorized +Applications; + +4.2.3. reproduce and distribute Derivative Works to Authorized +Subcontractors under agreements consistent with Licensee's rights and +obligations under this Agreement solely (a) to modify for Licensee's use +in developing and maintaining the Licensed Programs; and (b) to enable +Licensee to distribute Licensed Programs externally to End Users in +accordance with Section 4.2.5 below; + +4.2.4. reproduce and distribute Licensed Programs internally and to +Licensee's External Manufacturers under agreements consistent with +Licensee's rights and obligations under this Agreement, solely (a) for +Licensee's use in developing and maintaining the Licensed Programs; and +(b) to enable Licensee to distribute Licensed Programs externally to End +Users in accordance with Section 4.2.5 below; and + +4.2.5. distribute Licensed Programs externally to Licensee's End Users, +either directly or through Licensee's distribution channels and methods, +but only for use with Authorized Applications and not on a standalone +basis. + +

5. License Restrictions.

+The Licensed Materials shall only be used as +permitted by this Agreement. Any use of the Licensed Materials not +specifically authorized by this Agreement is prohibited. + +5.1. Without limiting the foregoing restriction, and except as +authorized by this Agreement, Licensee shall not: + +5.1.1. assign, sublicense, or otherwise transfer the Licensed Materials +to any third party; + +5.1.2. reverse compile, disassemble, alter, add to, delete from, or +otherwise modify Software delivered to Licensee in Object Code form or +in libraries in the Licensed Materials; + +5.1.3. publish the Licensed Materials in any manner that would cause it +to become part of the public domain or otherwise become subject to the +terms of an Open Source Software license; + +5.1.4. use the Licensed Materials except in conjunction with Silicon +Labs Devices; + +5.1.5. distribute the Source Code form of Software to any third party, +in whole or in part; or + +5.1.6. remove any copyright, trademark, patent or other proprietary +notices from the Licensed Materials or any portion thereof. + +5.2. Licensee shall not use the Licensed Materials in any way to further +the development or improvement of any product that does or would compete +with any Silicon Labs Device. + +5.3. If the Software is provided to demonstrate the capability of +Silicon Labs Devices, it shall be used only for this purpose. +Incorporation of the demonstration version of Silicon Labs Software into +Applications is solely at Licensee's risk and liability. + +5.4. Any subsequent distribution or transfer of the Licensed Programs to +End Users shall remain subject to the terms and conditions of this +Agreement. Whether by execution of an end-user license agreement or +other commercially reasonable means, Licensee shall ensure that its End +Users' use of the Licensed Programs shall only be permitted if they are +incorporated into Authorized Applications. Licensee shall prohibit any +further sublicensing, distribution, sale, marketing, reproduction, +modification, reverse engineering or decompiling of the Licensed +Programs. + +5.5. Licensor may include features in the Software to restrict use of +the Software that does not comply with the terms of this Agreement. + +

6. Unauthorized Use.

+The Licensed Materials are not licensed, designed, +intended, authorized, or warranted for Unauthorized Use. Licensee shall +be solely and exclusively responsible for any Unauthorized Uses by +Licensee, Licensee's Authorized Subcontractors, Licensee's End Users or +other sublicensees, and any Unauthorized Use by such Authorized +Subcontractors, End Users or sublicensees, with or without the knowledge +of Licensee, shall be attributed to Licensee. Licensee agrees to defend +and indemnify Silicon Labs for all third-party claims and for all +damages, costs and fees, including Silicon Labs' attorneys' fees, +arising from any such Unauthorized Use of the Licensed Materials. + +

7. Open Source Software.

+7.1. If the Software includes any Open Source +Software, such Software and the relevant Open Source Software license +under which such Software is licensed are disclosed at www.silabs.com. +All use of such Open Source Software by Licensee is subject to the terms +of the relevant open source software license and Licensee's use of such +Software is expressly conditioned upon Licensee's compliance with the +term of such license. + +7.2. If the Software is Silicon Labs Open Source Code, then the +following provisions apply: + +7.2.1. Silicon Labs hereby grants to Licensee a perpetual, worldwide, +non-exclusive, no-charge, royalty-free, irrevocable copyright license to +reproduce, prepare Derivative Works of, publicly display, publicly +perform, sublicense, and distribute Silicon Labs Open Source Code and +such Derivative Works in Source Code or Object Code form. + +7.2.2. Silicon Labs hereby grants to Licensee a perpetual, worldwide, +non-exclusive, no-charge, royalty-free, irrevocable (except as stated in +this section) patent license to make, have made, use, offer to sell, +sell, import, and otherwise transfer the Silicon Labs Open Source Code, +where such license applies only to those patent claims licensable by +Silicon Labs that are necessarily infringed by Licensee's use of the +Silicon Labs Open Source Code or by combination with any other device or +software. + +7.2.3. Licensee may add Licensee's own copyright statement to Licensee's +modifications of Silicon Labs Open Source Software and may provide +additional or different license terms and conditions for use, +reproduction, or distribution of such modifications, or for any such +Derivative Works as a whole, provided Licensee's use, reproduction, and +distribution of the Silicon Labs Open Source Software otherwise complies +with the conditions stated in this License. + +7.2.4. Licensee may reproduce and distribute copies of the Silicon Labs +Open Source Code or Derivative Works thereof in any medium, with or +without modifications, and in Source Code or Object Code form, provided +that Licensee meets the following conditions: (a) Licensee must give any +other recipients of the Silicon Labs Open Source Code or Derivative +Works a copy of this License; and (b) Licensee must cause any modified +files to carry prominent notices stating that Licensee changed the +files; and (c) Licensee must retain, in the Source Code form of any +Derivative Works that Licensee distributes, all copyright, patent, +trademark, and attribution notices from the Source Code form of the +Silicon Labs Open Source Code, excluding those notices that do not +pertain to any part of the Derivative Works; and (d) If the Silicon Labs +Open Source Code includes a \"NOTICE\" text file as part of its +distribution, then any Derivative Works that Licensee distributes must +include a readable copy of the attribution notices contained within such +NOTICE file, excluding those notices that do not pertain to any part of +the Derivative Works, in at least one of the following places: within a +NOTICE text file distributed as part of the Derivative Works; within the +Source Code form or documentation, if provided along with the Derivative +Works; or, within a display generated by the Derivative Works, if and +wherever such third-party notices normally appear. The contents of the +NOTICE file are for informational purposes only and do not modify the +License. Licensee may add Licensee's own attribution notices within +Derivative Works that Licensee distributes, alongside or as an addendum +to the NOTICE text from the Silicon Labs Open Source Code, provided that +such additional attribution notices cannot be construed as modifying the +License. + +7.3. With respect to Software that is not Open Source Software, Licensee +shall not: + +7.3.1. cause the Software to become subject to any Open Source Software +license, including but limited to the general public license (GPL) or +the lesser general public license (LGPL); + +7.3.2. cause the Software to be disclosed into the public domain or to +any third party except for those third parties to whom License is +authorized to distribute Licensed Programs under Sections 4.1.6 or +4.2.5; or + +7.3.3. cause any part of the Software to become a derivative of any Open +Source Software. + +7.4. Licensee shall not enable or permit any of its End Users to breach +the provisions of this Section 7, and shall include similar restrictive +provisions in its end user license agreement with such End Users. If +Licensee breaches this Section 7, Licensee shall indemnify and hold +Silicon Labs harmless from all costs, claims, settlements and judgments +incurred by Silicon Labs, including attorneys' fees, in the process of +defending, challenging and/or settling any demand, claim or order that +the Software is subject to an Open Source Software license or must be +disclosed into the public domain or to any third party. + +

8. Modified Open Source Software.

+Notwithstanding the terms of the Open +Source Software license under which the Open Source Software is +licensed, the following terms apply to modifications to such Open Source +Software that constitute Modified Open Source Software, as defined in +this Agreement. The following terms apply regardless of how the Modified +Open Source Software was delivered to you. + +8.1.1. You may not use Modified Open Source Software except for use with +Licensed Programs that are intended to operate in Authorized +Applications. + +8.1.2. You may not obscure, modify or remove copyright notices, files or +statements concerning ownership by Silicon Labs or reference to the +terms of this Agreement. + +8.1.3. Subject to Sections 8.1.1 and 8.1.2: + +8.1.3.1. You may copy and compile the Source Code of the Modified Open +Source Software. + +8.1.3.2. You may reproduce the Object Code and Source Code versions of +Modified Open Source Software and distribute the same through multiple +levels of distributions, including to your External Manufacturers. + +8.1.3.3. You may modify Modified Open Source Software and create +Derivative Works of Modified Open Source Software. + +

9. Third Party Software.

+9.1. If the Software contains any Third Party +Software, all use of such Third Party Software shall be subject to the +terms of the license from such third party to Silicon Labs or a separate +end user license agreement, if available, which may be set forth in the +header files of the Third Party Software. You agree to comply with all +terms and conditions for use of Third Party Software. + +9.2. Silicon Labs has licensed the BLE Homekit from Apple. You may not +download or use the BLE Homekit software unless you have executed a MFi +License with Apple. + +9.3. Silicon Labs has licensed emWin software, including libraries and +executables and related documentation (collectively "emWin Library") +from Segger Microcontroller GmbH. You are entitled to use the emWin +Library free of charge, subject to the following conditions, which you +accept by virtue of accepting the terms of this Agreement: (a) you may +use the emWin library exclusively with EFM 32-bit microcontrollers and +EFR radios; (b) you may not use the emWin Library to create or develop +software that is similar to or competitive with the emWin Library; and +(c) you may not modify the documentation that accompanies the emWin +Library. + +9.4. Silicon Labs does not make any endorsements or representations +concerning Third Party Software and disclaims all implied warranties +concerning Third Party Software. Third Party Software is offered "AS +IS." + +

10. Inspection Rights.

+Silicon Labs shall have the right, upon +reasonable advance notice, to inspect Licensee\'s records and facilities +with respect to the manufacture of Applications and to receive sample +units of Applications in order to verify that such manufacturing is +within the scope of this Agreement, that there are appropriate security +procedures to protect Silicon Labs' Confidential Information, and that +Licensee is in compliance with its other obligations under this +Agreement. + +

11. No Other Licenses.

+The licenses granted under this Agreement are +specifically set forth herein, and no licenses are granted by Silicon +Labs to Licensee by implication or estoppel, and no licenses shall be +granted by the parties' course of doing business. + +

12. Beta Software.

Beta Software, whether Object Code or Source Code +(a) can only be used for internal development, demonstration or testing +purposes; (b) cannot be included within Licensee's or End-Users' +products that are intended for general release or high-volume +production; and (c) cannot be used to support Z-Wave certification of +Silicon Labs Devices. Silicon Labs does not offer any warranties on Beta +Software and disclaims all implied warranties including, but not limited +to merchantability, fitness for use and noninfringement. Beta Software +is offered "AS IS." Under no circumstances will Silicon Labs incur any +liability or obligation to you related to your use of Beta Software. Any +use of Beta Software by you in violation of the terms of this Agreement +shall automatically terminate your right to use Beta Software for any +purpose whatsoever. + +

13. Upgrades, Updates, New Versions.

Although it has no obligation to +do so, Silicon Labs may introduce updates, upgrades or new versions of +the Software from time to time. Licensee is under no obligation to +download or use the updates, upgrade or new version of Software; +however, if Licensee elects to do so, the licenses granted to Licensee +pursuant to this Agreement shall be deemed to include such updates, +upgrades and new versions. In the case of any bug fix, improvement, +work-around, or correction made to the Software by Licensee, Licensee +agrees to provide to Silicon Labs, at no cost, the source code and any +documentation reasonably required for Silicon Labs to be able to +incorporate such changes into the Silicon Labs Software. + +

14. Regulatory Compliance.

Silicon Labs does not warrant that Software +or any Application will comply with the regulatory requirements of the +United States or any other country. Licensee is solely responsible for +complying with such requirements and for obtaining necessary government +certifications, if any. + +

15. License Fee and Royalties.

Unless Licensee has executed a +Commercial License with Silicon Labs, Licensee is not obligated to pay +any license fees or royalties to Silicon Labs so long as Licensee +complies with the terms of the licenses set forth herein. If Licensee +has executed a Commercial License, Licensee agree to pay all license +fees, maintenance fees and subscription fees described in such +Commercial License. + +

16. No Resale Fees.

Licensee may not directly or indirectly charge any +fee or otherwise require or accept any type of monetary compensation +solely for redistributing the Licensed Materials which is in excess of +any amount paid to Silicon Labs for the same Licensed Materials. This +does not apply to the sale of hardware products having the Licensed +Materials in object code form embedded within. + +

17. Proprietary Rights.

All rights and title in and to the Licensed +Materials, including without limitation, patents, copyrights, moral +rights, trademarks and trade secret rights, belong to Silicon Labs or +its licensors. Except for the rights expressly granted herein, no other +rights are granted to Licensee with respect to the Licensed Materials. + +

18. Confidential Information.

You agree that the Licensed Materials +contain confidential information, including trade secrets, know-how and +other information, that comprise the exclusive property of Silicon Labs +or its licensors. During the period this Agreement is in effect and at +all times after its termination, you shall maintain the confidentiality +of this information and shall not sell, license, sublicense, publish, +display, distribute, disclose or otherwise make available this +information to any third party nor use such information except as +authorized by this Agreement. + +

19. Limited Warranty and Remedies.

Silicon Labs warrants that, during +the Warranty Period, the Software will function substantially in +accordance with the Documentation when used with Silicon Labs Devices +and that the media on which the Software is furnished will be free from +defects in material and workmanship, under normal use and service, when +correctly installed and maintained. Silicon Labs does not warrant that +the functions in the Licensed Materials will meet Licensee's specific +requirements or that the operation of the Software will be uninterrupted +or error free. Silicon Labs does not warrant that the Software does not +contain any viruses or bugs. If Licensee notifies Silicon Labs, during +the Warranty Period, of a failure of the Software to conform to the +limited warranty stated in this section, Silicon Labs' sole obligation, +and Licensee's sole remedy, will be, at Silicon Labs' sole discretion: +(i) replacement of the Software, or part thereof, with a functionally +equivalent software product or part, or (ii) repair of the Software. +Without limiting any term or condition stated in this Agreement, this +warranty does not apply to any nonconformance caused by (A) improper or +inadequate maintenance or calibration, or (B) software or interfacing +equipment, parts or supplies not supplied by Silicon Labs or its +authorized distributor, (C) modifications to the Software or (D) +Unauthorized Use of the Software. + +

20. WARRANTY DISCLAIMER.

EXCEPT AS PROVIDED ABOVE IN SECTION 19, THE +LICENSED MATERIALS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +NON-INFRINGEMENT AND THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE +OF THE LICENSED MATERIALS IS WITH LICENSEE. SILICON LABS DOES NOT +WARRANT THAT THE LICENSED MATERIALS ARE FREE FROM DEFECTS THAT COULD +CAUSE VULNERABILITY TO CYBER-ATTACK, DATA BREACH OR PRIVACY VIOLATIONS. +SILICON LABS DISCLAIMS ALL LIABILITY RELATED TO LICENSEE'S DATA THAT MAY +BE RECEIVED, STORED OR USED BY SILICON LABS DEVICES OR SOFTWARE OR +INTERCEPTED BY THIRD PARTIES. SILICON LABS DISCLAIMS ALL LIABILITY FOR +DAMAGES CAUSED BY THIRD PARTIES, INCLUDING MACILICOUS USE OF, OR +INTERFERENCE WITH TRANSMISSION OF, LICENSEE'S DATA. + +

21. LIMITATION OF LIABILITY.

SILICON LABS' SOLE OBLIGATION OR LIABILITY +UNDER THIS AGREEMENT IS THE REPAIR OR REPLACEMENT OF THE LICENSED +MATERIALS ACCORDING TO THE LIMITED WARRANTY ABOVE. IN NO EVENT SHALL +SILICON LABS OR ANY OF ITS AFFILIATES OR SUPPLIERS BE LIABLE FOR +CONSEQUENTIAL, SPECIAL, INCIDENTAL OR SIMILAR DAMAGES, SUCH AS (BUT NOT +LIMITED TO) LOSS OF BUSINESS REVENUES, PROFITS OR SAVINGS OR LOSS OF +DATA RESULTING FROM THE USE OR INABILITY TO USE THE LICENSED MATERIALS, +EVEN IF SILICON LABS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES, OR FOR ANY CLAIM BY ANY THIRD PARTY. THIS INCLUDES, BUT IS NOT +LIMITED TO, DAMAGES ARISING FROM THE FAILURE OF THE SILICON LABS DEVICE +TO TRANSMIT DATA ARISING FROM A FAILURE OF THE SOFTWARE TO PERFORM IN +SUBSTANTIAL ACCORDANCE WITH THE DOCUMENTATION. IN NO EVENT SHALL THE +TOTAL CUMULATIVE LIABILITY OF SILICON LABS TO LICENSEE FOR ALL MATTERS +RELATED TO THE LICENSED MATERIALS EXCEED THE AMOUNT PAID BY LICENSEE TO +SILICON LABS FOR SUCH LICENSED MATERIALS OR ONE UNITED STATES DOLLAR +(\$1.00 USD). YOU ACKNOWLEDGE THAT THE AMOUNT PAID BY YOU FOR THE +LICENSED MATERIALS REFLECTS THIS ALLOCATION OF RISK. + +

22. Data Collection.

To the extent that Silicon Labs Devices collect, +store or transfer Personal Information, Silicon Labs may use such +Personal Information for its own internal purposes, including marketing +Silicon Labs Devices to the user. Silicon Labs will not sell Personal +Information to third parties. Silicon Labs Devices will not transfer +Personal Information to other devices in a network or to third parties +except to the extent necessary to perform the intended function of the +Silicon Labs Device. Silicon Labs will not be liable to Licensee or +Licensee's customers for (a) any intended transfer of Personal +Information described in the Documentation for the Silicon Labs Device; +(b) any unintended transfer of Personal Information or loss of data +caused by any third parties or third party devices or software, +including hacking, malware, eavesdropping, man-in-the-middle attacks or +other intentional acts; or (c) unauthorized access to or misuse of +Personal Information by third parties. + +

23. Term and Termination.

This Agreement will take effect on the date +the Licensed Materials are acquired by or delivered to Licensee, and +will remain in effect unless terminated as provided below. If you breach +any of your obligations under this Agreement, this Agreement will +immediately and automatically terminate. You may terminate this +Agreement at any time by destroying all copies of the Licensed +Materials. Upon termination of this Agreement, you shall immediately +discontinue the use of the Licensed Materials and shall return or +provide certification to Silicon Labs of the destruction of all copies +of the Licensed Materials. You many keep one copy of the Licensed +Materials for archival (non-operational) purposes only, so long as +access to such copies is restricted. If the Agreement is terminated by +Silicon Labs, you may continue to distribute copies of the Software +already installed in finished inventory, but you may not make any +additional copies or install the Software in additional products. All +provisions of this Agreement relating to disclaimers of warranties, +limitation of liability, remedies or damages, and Silicon Labs' +proprietary rights, shall survive any termination of this Agreement for +any reason. + +

24. Termination of License.

If you institute patent litigation against +Silicon Labs or any of its Affiliates (including a cross-claim or +counterclaim in a lawsuit) alleging that the Licensed Programs directly +or indirectly infringe a patent of Licensee, then any patent licenses +granted to you under this Agreement for that Licensed Program shall +terminate as of the date such litigation is filed. + +

25. Export Restrictions.

You may not export or re-export the Software +or any Licensed Programs, or any copy thereof, in violation of any +applicable laws or regulations. + +

26. Amendments.

This Agreement may be amended unilaterally by Silicon +Labs at any time. The most recent version of this Agreement supersedes +and replaces all prior versions. In the event of any conflicting terms, +the terms of the most recent version of this Agreement shall control. + +

27. Miscellaneous.

This Agreement sets forth the entire agreement and +understanding between the parties and neither party shall be bound by +any conditions, definitions, warranties, understandings or +representations with respect to the subject matter hereof other than as +provided herein or as duly set forth on or after the date hereof in +writing and signed by a proper and duly authorized representative of the +party to be bound thereby. The failure of any party at any time to +require performance of any provision of this Agreement shall in not +affect the right of such party to enforce the terms of this Agreement at +a later time. No waiver by any party of any condition or of any breach +of any term contained in this Agreement, in any one or more instances, +shall be construed as a further or continuing waiver of any such +condition or of any breach of any such term or any other term set forth +in this Agreement. If any provision of this Agreement is unenforceable +for any reason, the remaining terms of the Agreement shall not be deemed +invalid, inoperative, or unenforceable and, if possible, the +unenforceable provision shall be modified or interpreted in a manner to +make it enforceable. + +

28. Governing Law.

This Agreement shall be governed by the laws of the +State of Texas, United States of America, without regard to that state's +conflicts of laws rules. The 1980 United Nations Convention on Contracts +for the International Sale of Goods shall not apply. In any dispute +arising out of this Agreement, the parties each consent to the exclusive +personal jurisdiction and venue in the State and Federal courts located +within Travis County, Texas, United States of America. All disputes +concerning this Agreement shall be resolved by binding arbitration in +Travis County, Texas before a single arbitrator. The arbitration shall +be administered by JAMS pursuant to JAMS' Streamlined Arbitration Rules +and Procedures. The arbitration award shall include an award of +attorneys' fees to the prevailing party. Judgment on the award may be +entered in any court having jurisdiction. This clause shall not preclude +parties from seeking provisional remedies in aid of arbitration from a +court of appropriate jurisdiction. + +

29. Injunctive Relief.

The copying, disclosure, or use of the Software +in a manner inconsistent with any provision of this Agreement or the +improper use of the Silicon Labs trademarks may cause irreparable injury +to Silicon Labs for which Silicon Labs may not have an adequate remedy +at law. Silicon Labs may be entitled to equitable relief in court, +including but not limited to temporary restraining orders, preliminary +injunctions and permanent injunctions. + +

30. Silicon Labs Trademarks.

Silicon Labs and the Silicon Labs logo are +trademarks of Silicon Laboratories Inc. in the United States and other +countries. No use of the Silicon Labs trademarks by Licensee is implied +or consented to by Silicon Labs by entering into this Agreement. + +

31. Commercial Computer Software.

If Licensee is an agency of the U.S. +Government, the following will apply: The Software has been developed +entirely at private expense, is regularly used for nongovernmental +purposes and has been licensed to the public. The Software is a +"commercial item" as that term is defined in 48 C.F.R. 2.101 (Oct. +1995), consisting of "commercial computer software" and "commercial +computer software documentation" as those terms are used in 48 C.F.R. +12.212 (Sept. 1995) or as "commercial computer software" as that term is +defined in 48 C.F.R. 252.227-7014 (June 1995) or any equivalent agency +regulation or contract clause, whichever is applicable. Consistent with +48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June +1995), all U.S. Government agencies acquire only those rights to the +Software as are expressly set forth herein. From 9661bf90d83414fea80919c0d77bedf91a4d505e Mon Sep 17 00:00:00 2001 From: silabs-hieuhoang Date: Tue, 17 Sep 2024 09:02:35 +0700 Subject: [PATCH 02/62] Remove content copy MSLA and list exception in LICENSE.md --- LICENSE.md | 804 +---------------------------------------------------- 1 file changed, 7 insertions(+), 797 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index c341dee8..1f2c5e25 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,799 +1,9 @@ -**Copyright 2023 Silicon Laboratories Inc. [www.silabs.com](https://www.silabs.com/)** +**Copyright 2024 Silicon Laboratories Inc. [www.silabs.com](https://www.silabs.com/)** -The licensor of this software is Silicon Laboratories Inc. Your use of this -software is governed by the terms of Silicon Labs Master Software License -Agreement (MSLA) available at -[www.silabs.com/about-us/legal/master-software-license-agreement](). This software -is distributed to you in Source Code format and is governed by the sections of -the MSLA applicable to Source Code. +Source code in this repo is covered by one of several different licenses. +The default license is the Master Software License Agreement (MSLA) +[www.silabs.com/about-us/legal/master-software-license-agreement](), +which applies unless otherwise noted. -THIS MASTER SOFTWARE LICENSE AGREEMENT ("AGREEMENT") GOVERNS YOUR USE OF -THE LICENSED MATERIALS. INSTALLING, COPYING OR OTHERWISE USING THE -SOFTWARE, INDICATES YOUR ACCEPTANCE OF THE TERMS OF THIS AGREEMENT -REGARDLESS OF WHETHER YOU CLICK THE "ACCEPT" BUTTON. IF YOU DO NOT AGREE -WITH THESE TERMS AND CONDITIONS OR IF YOU ARE NOT AUTHORIZED TO ACCEPT -THE TERMS OF THIS LICENSE ON BEHALF OF YOUR EMPLOYER, DECLINE THE -LICENSE TERMS AND DO NOT USE THE SOFTWARE OR DOCUMENTATION. THESE TERMS -GOVERN YOUR CONTINUED USE OF THE LICENSED MATERIALS THAT YOU DOWNLOAD -NOW OR IN THE FUTURE, INCLUDING SUCH ADDITIONAL SOFTWARE MADE AVAILABLE -TO YOU THROUGH THE LICENSED MATERIALS YOU HAVE SELECTED, AND ALL UPDATES -AND VERSIONS OF SUCH SOFTWARE. - -

1. Definitions

. -"Application" means a product developed by Licensee, or -for Licensee by a third party, that contains Licensed Programs. - -"Authorized Application" means an Application that contains, integrates, -is packaged with, or functions with a Silicon Labs Device in Licensee's -Application. This includes a Licensed Program embedded in a network -co-processor or host processor that operates in conjunction with a -Silicon Labs Device. - -"Authorized Subcontractor" means a third-party subcontractor that you -engage to design or manufacture Authorized Applications and has executed -an agreement that is consistent with the terms of this Agreement, -including its confidentiality provisions. At all times, you shall remain -responsible for the actions or non-actions of you Authorized -Subcontractors the same as if the action on non-action was committed by -you. - -"Beta Software" means Software, including Software included within an -SDK, that is undergoing testing or further development, and has not -reached the generally available (GA) stage of development. - -"Commercial License" means an executed, in effect, software license -agreement between Licensee and Silicon Labs that governs Licensee's -rights and obligations with respect to Licensee's use of Micrium -Software. - -"Commercial Purpose" means embedding Micrium Software in any -Application that you sell or license to End Users or plan to do so. - -"Derivative Works" means a work based upon the Source Code version of -the Software, such as a revision, modification, translation, abridgment, -condensation, expansion or any other form in which such Software may be -recast, transformed or adapted, and that, if prepared without -authorization from Silicon Labs, would constitute copyright -infringement. - -"Development Tool" means a software provided by Silicon Labs to enable -development of Authorized Applications, configuration of Silicon Labs -Devices and Software. - -"Documentation" means Silicon Labs technical documentation related to -the Software, excluding advertising or marketing materials. - -"Embedded Stacks" means Software (other than Micrium Software) that is -stack libraries, application layers, and example code. - -"End User" means a purchaser, sublicensee, recipient and/or user of an -Application obtained directly or indirectly from Licensee. - -"External Manufacturers" means a third-party manufacturer, including -such manufacturer\'s subcontractors and agents, which is authorized by -Licensee to design and/or manufacture the Applications and to use, -install, and test the Applications and the Licensed Programs. - -"Firmware" means executable or binary code that is embedded in the -Silicon Labs Device in ROM or flash memory and cannot be modified by -Licensee. - -"Licensee" or "you" means the acquirer of the license rights granted by -this Agreement. If you are an individual working solely on your own -behalf, then you are the Licensee. If you are an employee working on -behalf of your employer, then your employer is the Licensee and you -confirm that you are authorized to accept the terms of this Agreement on -behalf of your Employer. - -"Licensed Programs" means Software in Object Code form that was either -originally in Object Code form or was compiled from the Software or -Derivative Works and is designed to operate in Applications in -Authorized Applications. - -"Licensed Materials" means Software and the related Documentation -including all updates and upgrades of the foregoing. - -"Micrium Software" means the Micrium real time kernel within the Micrium -real time operating system (Micrium OS). - -"Modified Open Source Software" means Silicon Labs\' modifications to -Open Source Software that was created by a third party. - -"Object Code" means computer programming code in binary form suitable for machine execution by a processor without the intervening steps of interpretation -or compilation. - -"Open Source Software" means the Source Code version of software that -may be freely used, modified or distributed without payment of a license -fee or royalties subject to the terms of a publicly available software -license, excluding Modified Open Source Software, the use of which is -subject to the terms of this Agreement. - -"Personal Information" means data concerning an individual user, -including but not limited to a user's activity on a Silicon Labs -website, location, IP address, mobile device ID, name, or biometric data -collected, stored or transmitted by a Silicon Lab Device or Software. - -"SDK" means software development kit (other than Micrium Software). - -"Silicon Labs" means Silicon Laboratories Inc., a Delaware corporation -located at 400 W. Cesar Chavez, Austin, TX 78701 if you are physically -located within the United States. If you are physically located outside -of the United States, Silicon Labs means Silicon Laboratories -International Pte Ltd., a Singapore corporation located at No. 18 Tai -Seng Street, #05-01, 18 Tai Seng, Singapore 539775. - -"Silicon Labs Devices" means Silicon Labs branded integrated circuit -chips purchased from Silicon Labs or one of its authorized distributors. - -"Silicon Labs Open Source Code" means Software created by Silicon Labs -and which is (a) delivered to Licensee in Source Code format, (b) is -identified as open source code and (c) states that use of the software -is subject to the terms of this Agreement. - -"Software" means the computer programming code that was downloaded or -otherwise distributed to Licensee and which is the subject of this -Agreement. Software may be in Object Code or Source Code form or may be -embedded as Firmware in a Silicon Labs Device. Software includes -Embedded Stacks, SDKs and Development Tools. Your rights are different -depending on whether the Software is delivered to you in Object Code, -Source Code or Firmware. Software that is Micrium Software is subject to -specific terms and conditions defined in Section 2. - -"Source Code" means the computer programming code in an uncompiled form -readable by humans which cannot be executed by a processor unless it is -compiled into binary form. - -"Third Party Software" means any software that Silicon Labs has licensed -from a third party. - -"Warranty Period" means the period of time ending thirty (30) days after -the first delivery of the Software to the Licensee, whether such -delivery is in the form of a download or actual physical delivery. - -"Unauthorized Use" means use or inclusion of the Licensed Materials in -(a) life support, aeronautical, aerospace, medical, military or nuclear -applications; (b) FDA Class III or other devices for which FDA premarket -approval is required; (c) implantable devices; (d) life support or life -endangering applications where failure or inaccuracy might cause death -or personal injury; and (e) automotive or transportation applications or -environments unless the specific Silicon Labs Device has been designated -by Silicon Labs as compliant with ISO/TS 16949 requirements. - -

2. Micrium Software.

-The terms and conditions in this Section 2 apply -only to Micrium Software and take precedence over any other conflicting -terms of this Agreement. - -2.1. Grant of Micrium Software License Upon accepting this Agreement -and downloading the Micrium Software, subject to your compliance with -the terms of this Agreement, Silicon Labs hereby grants you a limited, -non-exclusive, nontransferable license for the Term (as described in -Section 23), as follows: - -2.1.1. You and your Authorized Subcontractors may modify the Source Code -version of Micrium Software for the sole purpose of adapting the Micrium -Software to your application. - -2.1.2. You may embed the Micrium Software exclusively in products -developed by you or by your Authorized Subcontractors on your behalf -during the Term that embed the Micrium Software into Silicon Labs -Devices (the "End Products"). - -2.1.3. You may distribute copies of the Object Code version of the -Micrium Software solely to the extent that such copies are embedded in -End Products. - -2.2. Micrium Software License Restrictions. Your use of the Micrium -Software is subject to the following restrictions: - -2.2.1. You may allow Authorized Subcontractors to access and use the -Micrium Software solely to the extent necessary to adapt the Micrium -Software to your application. - -2.2.2. Except as provided in this Agreement, neither you, your -Authorized Subcontractors, nor any of your downstream customers may -sell, transfer, sublicense, distribute, or disseminate in any way the -Object Code or executable code of the Micrium Software in any written or -electronic manner. - -2.2.3. Neither you, your Authorized Subcontractors, nor any of your -downstream customers may distribute the Source Code version of Micrium -Software to any third party under any circumstances. You shall ensure -that each of your employees and Authorized Subcontractors that work with -Micrium Software are aware of this restriction. - -2.2.4. Except as permitted in this Agreement, neither you, your -Authorized Subcontractors, nor any of your downstream customer may embed -the Micrium Software in any integrated circuit device that is not a -Silicon Labs Device. - -2.3. End User Support. You agree to be fully responsible for all End -User support services and warranty costs for all End Products. - -2.4. Commercial Purpose. You are permitted to use the Micrium Software -for a Commercial Purpose only if you embed the Micrium Software into a -Silicon Labs Device. You may not embed the Micrium Software in a -non-Silicon Labs Device unless you and Silicon Labs execute a separate -Commercial License Agreement expressly permitting such use. - -2.5. Ownership. Silicon Labs is and shall remain the sole and exclusive -owner of the Micrium Software and all Documentation, media, manuals, -specifications, instructions and printed materials, and any copies or -portions thereof, furnished by Silicon Labs for use with the Micrium -Software. You own any improvements or modifications to the Micrium -Software made by you or your Authorized Subcontractor on your behalf to -adapt Micrium Software for use in your End Products. - -2.6. Maintenance and Support. Standard maintenance and technical -support, such as bug fixes, correction of failures, updates and -maintenance patches is provided to you at no cost for one year from date -that you download the Micrium Software. Silicon Labs may use a variety -of methods, including but not limited to telephone, Internet and/or -e-mail, to provide such maintenance and support. - -

3. 8051 SDK.

-The terms and condition in this Section 3 apply only to -the 8051 SDK and take precedence over any other conflicting terms of -this Agreement. - -3.1. 8051 SDK. The 8051 SDK consists of the following items: - -3.1.1. Drivers; - -3.1.2. Peripheral libraries (excluding CSLIB); and - -3.1.3. Example application code. - -3.2. Installation and Use Rights. - -3.2.1. You may download and install the 8051 SDK on one or more -computers and make any number of copies. - -3.2.2. You may internally evaluate the 8051 SDK. If you elect to use the -8051 SDK for any other purpose, including modification and distribution, -then the following additional terms apply to you. - -3.2.3. You may modify any files for your own use. - -3.2.4. You may redistribute to your customers applications that you -develop using the 8051 SDK. Your redistribution may be in any form, -including executable binary code, source code, physical media and -Internet downloads. - -3.3. Restrictions. - -3.3.1. You may not use the 8051 SDK with any integrated circuit products -other than those designed and manufactured by Silicon Labs. - -3.3.2. Except as provided above, you may not redistribute, sublicense, -assign, rent or lease any portion of the 8051 SDK to any third party. - -3.3.3. You may not modify or distribute the 8051 SDK so that all or any -part of it becomes Open Source Software. - -3.3.4. You may not obscure or remove any product identification, -copyright or other notices that appear on or in the 8051 SDK, including -any notices from third parties. - -3.3.5. You may not redistribute any modified or unmodified version of -the 8051 SDK to any third party as a standalone product. - -3.4. Ownership. Silicon Labs is and shall remain the owner of the 8051 -SDK at all times. Applications that you develop using the 8051 SDK shall -belong to you. - -

4. License Grant.

-Silicon Labs hereby grants Licensee a limited, -non-transferable, non-exclusive, perpetual license to use the Licensed -Materials solely under the following terms and condition: - -4.1. Object Code. With respect to Software (other than Micrium Software) -that is delivered to Licensee by Silicon Labs in Object Code format, -Licensee may: - -4.1.1. (a) if the Software is an Embedded Stack, you may install one -copy of the Software and its components all together on a single -computer, and if the Software is copied onto another computer, the -original copy must be deleted or otherwise made irreversibly inoperable; -(b) if the Software is an SDK or a Development Tool, you may make -multiple copies of the Software for your own internal use; - -4.1.2. store one copy of the Software for archival (non-operational) -purposes only, so long as access to such copy is restricted; - -4.1.3. use the Licensed Materials to develop applications to be used to -program Silicon Labs Devices; - -4.1.4. incorporate the Licensed Materials into Authorized Applications; - -4.1.5. facilitate the integration of the Licensed Materials and Silicon -Labs Devices into Authorized Applications; and - -4.1.6. distribute copies of the Licensed Materials to Licensee's -end-user customers, to the extent such copies are in Object Code form -only and are incorporated into Authorized Applications. - -4.2. Source Code. With respect to Software (other than Micrium Software -and Silicon Labs Open Source Software) that is delivered to Licensee by -Silicon Labs in Source Code format, Licensee may: - -4.2.1. use the sample application software in Source Code format to -develop and compile applications for use in Authorized Applications; - -4.2.2. copy, prepare Derivative Works of, compile and modify Source Code -of the Silicon Labs Software, solely to enable Licensee to design, -develop, modify, test, support and/or debug Derivative Works and/or -Licensed Programs that are intended to operate in Authorized -Applications; - -4.2.3. reproduce and distribute Derivative Works to Authorized -Subcontractors under agreements consistent with Licensee's rights and -obligations under this Agreement solely (a) to modify for Licensee's use -in developing and maintaining the Licensed Programs; and (b) to enable -Licensee to distribute Licensed Programs externally to End Users in -accordance with Section 4.2.5 below; - -4.2.4. reproduce and distribute Licensed Programs internally and to -Licensee's External Manufacturers under agreements consistent with -Licensee's rights and obligations under this Agreement, solely (a) for -Licensee's use in developing and maintaining the Licensed Programs; and -(b) to enable Licensee to distribute Licensed Programs externally to End -Users in accordance with Section 4.2.5 below; and - -4.2.5. distribute Licensed Programs externally to Licensee's End Users, -either directly or through Licensee's distribution channels and methods, -but only for use with Authorized Applications and not on a standalone -basis. - -

5. License Restrictions.

-The Licensed Materials shall only be used as -permitted by this Agreement. Any use of the Licensed Materials not -specifically authorized by this Agreement is prohibited. - -5.1. Without limiting the foregoing restriction, and except as -authorized by this Agreement, Licensee shall not: - -5.1.1. assign, sublicense, or otherwise transfer the Licensed Materials -to any third party; - -5.1.2. reverse compile, disassemble, alter, add to, delete from, or -otherwise modify Software delivered to Licensee in Object Code form or -in libraries in the Licensed Materials; - -5.1.3. publish the Licensed Materials in any manner that would cause it -to become part of the public domain or otherwise become subject to the -terms of an Open Source Software license; - -5.1.4. use the Licensed Materials except in conjunction with Silicon -Labs Devices; - -5.1.5. distribute the Source Code form of Software to any third party, -in whole or in part; or - -5.1.6. remove any copyright, trademark, patent or other proprietary -notices from the Licensed Materials or any portion thereof. - -5.2. Licensee shall not use the Licensed Materials in any way to further -the development or improvement of any product that does or would compete -with any Silicon Labs Device. - -5.3. If the Software is provided to demonstrate the capability of -Silicon Labs Devices, it shall be used only for this purpose. -Incorporation of the demonstration version of Silicon Labs Software into -Applications is solely at Licensee's risk and liability. - -5.4. Any subsequent distribution or transfer of the Licensed Programs to -End Users shall remain subject to the terms and conditions of this -Agreement. Whether by execution of an end-user license agreement or -other commercially reasonable means, Licensee shall ensure that its End -Users' use of the Licensed Programs shall only be permitted if they are -incorporated into Authorized Applications. Licensee shall prohibit any -further sublicensing, distribution, sale, marketing, reproduction, -modification, reverse engineering or decompiling of the Licensed -Programs. - -5.5. Licensor may include features in the Software to restrict use of -the Software that does not comply with the terms of this Agreement. - -

6. Unauthorized Use.

-The Licensed Materials are not licensed, designed, -intended, authorized, or warranted for Unauthorized Use. Licensee shall -be solely and exclusively responsible for any Unauthorized Uses by -Licensee, Licensee's Authorized Subcontractors, Licensee's End Users or -other sublicensees, and any Unauthorized Use by such Authorized -Subcontractors, End Users or sublicensees, with or without the knowledge -of Licensee, shall be attributed to Licensee. Licensee agrees to defend -and indemnify Silicon Labs for all third-party claims and for all -damages, costs and fees, including Silicon Labs' attorneys' fees, -arising from any such Unauthorized Use of the Licensed Materials. - -

7. Open Source Software.

-7.1. If the Software includes any Open Source -Software, such Software and the relevant Open Source Software license -under which such Software is licensed are disclosed at www.silabs.com. -All use of such Open Source Software by Licensee is subject to the terms -of the relevant open source software license and Licensee's use of such -Software is expressly conditioned upon Licensee's compliance with the -term of such license. - -7.2. If the Software is Silicon Labs Open Source Code, then the -following provisions apply: - -7.2.1. Silicon Labs hereby grants to Licensee a perpetual, worldwide, -non-exclusive, no-charge, royalty-free, irrevocable copyright license to -reproduce, prepare Derivative Works of, publicly display, publicly -perform, sublicense, and distribute Silicon Labs Open Source Code and -such Derivative Works in Source Code or Object Code form. - -7.2.2. Silicon Labs hereby grants to Licensee a perpetual, worldwide, -non-exclusive, no-charge, royalty-free, irrevocable (except as stated in -this section) patent license to make, have made, use, offer to sell, -sell, import, and otherwise transfer the Silicon Labs Open Source Code, -where such license applies only to those patent claims licensable by -Silicon Labs that are necessarily infringed by Licensee's use of the -Silicon Labs Open Source Code or by combination with any other device or -software. - -7.2.3. Licensee may add Licensee's own copyright statement to Licensee's -modifications of Silicon Labs Open Source Software and may provide -additional or different license terms and conditions for use, -reproduction, or distribution of such modifications, or for any such -Derivative Works as a whole, provided Licensee's use, reproduction, and -distribution of the Silicon Labs Open Source Software otherwise complies -with the conditions stated in this License. - -7.2.4. Licensee may reproduce and distribute copies of the Silicon Labs -Open Source Code or Derivative Works thereof in any medium, with or -without modifications, and in Source Code or Object Code form, provided -that Licensee meets the following conditions: (a) Licensee must give any -other recipients of the Silicon Labs Open Source Code or Derivative -Works a copy of this License; and (b) Licensee must cause any modified -files to carry prominent notices stating that Licensee changed the -files; and (c) Licensee must retain, in the Source Code form of any -Derivative Works that Licensee distributes, all copyright, patent, -trademark, and attribution notices from the Source Code form of the -Silicon Labs Open Source Code, excluding those notices that do not -pertain to any part of the Derivative Works; and (d) If the Silicon Labs -Open Source Code includes a \"NOTICE\" text file as part of its -distribution, then any Derivative Works that Licensee distributes must -include a readable copy of the attribution notices contained within such -NOTICE file, excluding those notices that do not pertain to any part of -the Derivative Works, in at least one of the following places: within a -NOTICE text file distributed as part of the Derivative Works; within the -Source Code form or documentation, if provided along with the Derivative -Works; or, within a display generated by the Derivative Works, if and -wherever such third-party notices normally appear. The contents of the -NOTICE file are for informational purposes only and do not modify the -License. Licensee may add Licensee's own attribution notices within -Derivative Works that Licensee distributes, alongside or as an addendum -to the NOTICE text from the Silicon Labs Open Source Code, provided that -such additional attribution notices cannot be construed as modifying the -License. - -7.3. With respect to Software that is not Open Source Software, Licensee -shall not: - -7.3.1. cause the Software to become subject to any Open Source Software -license, including but limited to the general public license (GPL) or -the lesser general public license (LGPL); - -7.3.2. cause the Software to be disclosed into the public domain or to -any third party except for those third parties to whom License is -authorized to distribute Licensed Programs under Sections 4.1.6 or -4.2.5; or - -7.3.3. cause any part of the Software to become a derivative of any Open -Source Software. - -7.4. Licensee shall not enable or permit any of its End Users to breach -the provisions of this Section 7, and shall include similar restrictive -provisions in its end user license agreement with such End Users. If -Licensee breaches this Section 7, Licensee shall indemnify and hold -Silicon Labs harmless from all costs, claims, settlements and judgments -incurred by Silicon Labs, including attorneys' fees, in the process of -defending, challenging and/or settling any demand, claim or order that -the Software is subject to an Open Source Software license or must be -disclosed into the public domain or to any third party. - -

8. Modified Open Source Software.

-Notwithstanding the terms of the Open -Source Software license under which the Open Source Software is -licensed, the following terms apply to modifications to such Open Source -Software that constitute Modified Open Source Software, as defined in -this Agreement. The following terms apply regardless of how the Modified -Open Source Software was delivered to you. - -8.1.1. You may not use Modified Open Source Software except for use with -Licensed Programs that are intended to operate in Authorized -Applications. - -8.1.2. You may not obscure, modify or remove copyright notices, files or -statements concerning ownership by Silicon Labs or reference to the -terms of this Agreement. - -8.1.3. Subject to Sections 8.1.1 and 8.1.2: - -8.1.3.1. You may copy and compile the Source Code of the Modified Open -Source Software. - -8.1.3.2. You may reproduce the Object Code and Source Code versions of -Modified Open Source Software and distribute the same through multiple -levels of distributions, including to your External Manufacturers. - -8.1.3.3. You may modify Modified Open Source Software and create -Derivative Works of Modified Open Source Software. - -

9. Third Party Software.

-9.1. If the Software contains any Third Party -Software, all use of such Third Party Software shall be subject to the -terms of the license from such third party to Silicon Labs or a separate -end user license agreement, if available, which may be set forth in the -header files of the Third Party Software. You agree to comply with all -terms and conditions for use of Third Party Software. - -9.2. Silicon Labs has licensed the BLE Homekit from Apple. You may not -download or use the BLE Homekit software unless you have executed a MFi -License with Apple. - -9.3. Silicon Labs has licensed emWin software, including libraries and -executables and related documentation (collectively "emWin Library") -from Segger Microcontroller GmbH. You are entitled to use the emWin -Library free of charge, subject to the following conditions, which you -accept by virtue of accepting the terms of this Agreement: (a) you may -use the emWin library exclusively with EFM 32-bit microcontrollers and -EFR radios; (b) you may not use the emWin Library to create or develop -software that is similar to or competitive with the emWin Library; and -(c) you may not modify the documentation that accompanies the emWin -Library. - -9.4. Silicon Labs does not make any endorsements or representations -concerning Third Party Software and disclaims all implied warranties -concerning Third Party Software. Third Party Software is offered "AS -IS." - -

10. Inspection Rights.

-Silicon Labs shall have the right, upon -reasonable advance notice, to inspect Licensee\'s records and facilities -with respect to the manufacture of Applications and to receive sample -units of Applications in order to verify that such manufacturing is -within the scope of this Agreement, that there are appropriate security -procedures to protect Silicon Labs' Confidential Information, and that -Licensee is in compliance with its other obligations under this -Agreement. - -

11. No Other Licenses.

-The licenses granted under this Agreement are -specifically set forth herein, and no licenses are granted by Silicon -Labs to Licensee by implication or estoppel, and no licenses shall be -granted by the parties' course of doing business. - -

12. Beta Software.

Beta Software, whether Object Code or Source Code -(a) can only be used for internal development, demonstration or testing -purposes; (b) cannot be included within Licensee's or End-Users' -products that are intended for general release or high-volume -production; and (c) cannot be used to support Z-Wave certification of -Silicon Labs Devices. Silicon Labs does not offer any warranties on Beta -Software and disclaims all implied warranties including, but not limited -to merchantability, fitness for use and noninfringement. Beta Software -is offered "AS IS." Under no circumstances will Silicon Labs incur any -liability or obligation to you related to your use of Beta Software. Any -use of Beta Software by you in violation of the terms of this Agreement -shall automatically terminate your right to use Beta Software for any -purpose whatsoever. - -

13. Upgrades, Updates, New Versions.

Although it has no obligation to -do so, Silicon Labs may introduce updates, upgrades or new versions of -the Software from time to time. Licensee is under no obligation to -download or use the updates, upgrade or new version of Software; -however, if Licensee elects to do so, the licenses granted to Licensee -pursuant to this Agreement shall be deemed to include such updates, -upgrades and new versions. In the case of any bug fix, improvement, -work-around, or correction made to the Software by Licensee, Licensee -agrees to provide to Silicon Labs, at no cost, the source code and any -documentation reasonably required for Silicon Labs to be able to -incorporate such changes into the Silicon Labs Software. - -

14. Regulatory Compliance.

Silicon Labs does not warrant that Software -or any Application will comply with the regulatory requirements of the -United States or any other country. Licensee is solely responsible for -complying with such requirements and for obtaining necessary government -certifications, if any. - -

15. License Fee and Royalties.

Unless Licensee has executed a -Commercial License with Silicon Labs, Licensee is not obligated to pay -any license fees or royalties to Silicon Labs so long as Licensee -complies with the terms of the licenses set forth herein. If Licensee -has executed a Commercial License, Licensee agree to pay all license -fees, maintenance fees and subscription fees described in such -Commercial License. - -

16. No Resale Fees.

Licensee may not directly or indirectly charge any -fee or otherwise require or accept any type of monetary compensation -solely for redistributing the Licensed Materials which is in excess of -any amount paid to Silicon Labs for the same Licensed Materials. This -does not apply to the sale of hardware products having the Licensed -Materials in object code form embedded within. - -

17. Proprietary Rights.

All rights and title in and to the Licensed -Materials, including without limitation, patents, copyrights, moral -rights, trademarks and trade secret rights, belong to Silicon Labs or -its licensors. Except for the rights expressly granted herein, no other -rights are granted to Licensee with respect to the Licensed Materials. - -

18. Confidential Information.

You agree that the Licensed Materials -contain confidential information, including trade secrets, know-how and -other information, that comprise the exclusive property of Silicon Labs -or its licensors. During the period this Agreement is in effect and at -all times after its termination, you shall maintain the confidentiality -of this information and shall not sell, license, sublicense, publish, -display, distribute, disclose or otherwise make available this -information to any third party nor use such information except as -authorized by this Agreement. - -

19. Limited Warranty and Remedies.

Silicon Labs warrants that, during -the Warranty Period, the Software will function substantially in -accordance with the Documentation when used with Silicon Labs Devices -and that the media on which the Software is furnished will be free from -defects in material and workmanship, under normal use and service, when -correctly installed and maintained. Silicon Labs does not warrant that -the functions in the Licensed Materials will meet Licensee's specific -requirements or that the operation of the Software will be uninterrupted -or error free. Silicon Labs does not warrant that the Software does not -contain any viruses or bugs. If Licensee notifies Silicon Labs, during -the Warranty Period, of a failure of the Software to conform to the -limited warranty stated in this section, Silicon Labs' sole obligation, -and Licensee's sole remedy, will be, at Silicon Labs' sole discretion: -(i) replacement of the Software, or part thereof, with a functionally -equivalent software product or part, or (ii) repair of the Software. -Without limiting any term or condition stated in this Agreement, this -warranty does not apply to any nonconformance caused by (A) improper or -inadequate maintenance or calibration, or (B) software or interfacing -equipment, parts or supplies not supplied by Silicon Labs or its -authorized distributor, (C) modifications to the Software or (D) -Unauthorized Use of the Software. - -

20. WARRANTY DISCLAIMER.

EXCEPT AS PROVIDED ABOVE IN SECTION 19, THE -LICENSED MATERIALS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR -NON-INFRINGEMENT AND THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE -OF THE LICENSED MATERIALS IS WITH LICENSEE. SILICON LABS DOES NOT -WARRANT THAT THE LICENSED MATERIALS ARE FREE FROM DEFECTS THAT COULD -CAUSE VULNERABILITY TO CYBER-ATTACK, DATA BREACH OR PRIVACY VIOLATIONS. -SILICON LABS DISCLAIMS ALL LIABILITY RELATED TO LICENSEE'S DATA THAT MAY -BE RECEIVED, STORED OR USED BY SILICON LABS DEVICES OR SOFTWARE OR -INTERCEPTED BY THIRD PARTIES. SILICON LABS DISCLAIMS ALL LIABILITY FOR -DAMAGES CAUSED BY THIRD PARTIES, INCLUDING MACILICOUS USE OF, OR -INTERFERENCE WITH TRANSMISSION OF, LICENSEE'S DATA. - -

21. LIMITATION OF LIABILITY.

SILICON LABS' SOLE OBLIGATION OR LIABILITY -UNDER THIS AGREEMENT IS THE REPAIR OR REPLACEMENT OF THE LICENSED -MATERIALS ACCORDING TO THE LIMITED WARRANTY ABOVE. IN NO EVENT SHALL -SILICON LABS OR ANY OF ITS AFFILIATES OR SUPPLIERS BE LIABLE FOR -CONSEQUENTIAL, SPECIAL, INCIDENTAL OR SIMILAR DAMAGES, SUCH AS (BUT NOT -LIMITED TO) LOSS OF BUSINESS REVENUES, PROFITS OR SAVINGS OR LOSS OF -DATA RESULTING FROM THE USE OR INABILITY TO USE THE LICENSED MATERIALS, -EVEN IF SILICON LABS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES, OR FOR ANY CLAIM BY ANY THIRD PARTY. THIS INCLUDES, BUT IS NOT -LIMITED TO, DAMAGES ARISING FROM THE FAILURE OF THE SILICON LABS DEVICE -TO TRANSMIT DATA ARISING FROM A FAILURE OF THE SOFTWARE TO PERFORM IN -SUBSTANTIAL ACCORDANCE WITH THE DOCUMENTATION. IN NO EVENT SHALL THE -TOTAL CUMULATIVE LIABILITY OF SILICON LABS TO LICENSEE FOR ALL MATTERS -RELATED TO THE LICENSED MATERIALS EXCEED THE AMOUNT PAID BY LICENSEE TO -SILICON LABS FOR SUCH LICENSED MATERIALS OR ONE UNITED STATES DOLLAR -(\$1.00 USD). YOU ACKNOWLEDGE THAT THE AMOUNT PAID BY YOU FOR THE -LICENSED MATERIALS REFLECTS THIS ALLOCATION OF RISK. - -

22. Data Collection.

To the extent that Silicon Labs Devices collect, -store or transfer Personal Information, Silicon Labs may use such -Personal Information for its own internal purposes, including marketing -Silicon Labs Devices to the user. Silicon Labs will not sell Personal -Information to third parties. Silicon Labs Devices will not transfer -Personal Information to other devices in a network or to third parties -except to the extent necessary to perform the intended function of the -Silicon Labs Device. Silicon Labs will not be liable to Licensee or -Licensee's customers for (a) any intended transfer of Personal -Information described in the Documentation for the Silicon Labs Device; -(b) any unintended transfer of Personal Information or loss of data -caused by any third parties or third party devices or software, -including hacking, malware, eavesdropping, man-in-the-middle attacks or -other intentional acts; or (c) unauthorized access to or misuse of -Personal Information by third parties. - -

23. Term and Termination.

This Agreement will take effect on the date -the Licensed Materials are acquired by or delivered to Licensee, and -will remain in effect unless terminated as provided below. If you breach -any of your obligations under this Agreement, this Agreement will -immediately and automatically terminate. You may terminate this -Agreement at any time by destroying all copies of the Licensed -Materials. Upon termination of this Agreement, you shall immediately -discontinue the use of the Licensed Materials and shall return or -provide certification to Silicon Labs of the destruction of all copies -of the Licensed Materials. You many keep one copy of the Licensed -Materials for archival (non-operational) purposes only, so long as -access to such copies is restricted. If the Agreement is terminated by -Silicon Labs, you may continue to distribute copies of the Software -already installed in finished inventory, but you may not make any -additional copies or install the Software in additional products. All -provisions of this Agreement relating to disclaimers of warranties, -limitation of liability, remedies or damages, and Silicon Labs' -proprietary rights, shall survive any termination of this Agreement for -any reason. - -

24. Termination of License.

If you institute patent litigation against -Silicon Labs or any of its Affiliates (including a cross-claim or -counterclaim in a lawsuit) alleging that the Licensed Programs directly -or indirectly infringe a patent of Licensee, then any patent licenses -granted to you under this Agreement for that Licensed Program shall -terminate as of the date such litigation is filed. - -

25. Export Restrictions.

You may not export or re-export the Software -or any Licensed Programs, or any copy thereof, in violation of any -applicable laws or regulations. - -

26. Amendments.

This Agreement may be amended unilaterally by Silicon -Labs at any time. The most recent version of this Agreement supersedes -and replaces all prior versions. In the event of any conflicting terms, -the terms of the most recent version of this Agreement shall control. - -

27. Miscellaneous.

This Agreement sets forth the entire agreement and -understanding between the parties and neither party shall be bound by -any conditions, definitions, warranties, understandings or -representations with respect to the subject matter hereof other than as -provided herein or as duly set forth on or after the date hereof in -writing and signed by a proper and duly authorized representative of the -party to be bound thereby. The failure of any party at any time to -require performance of any provision of this Agreement shall in not -affect the right of such party to enforce the terms of this Agreement at -a later time. No waiver by any party of any condition or of any breach -of any term contained in this Agreement, in any one or more instances, -shall be construed as a further or continuing waiver of any such -condition or of any breach of any such term or any other term set forth -in this Agreement. If any provision of this Agreement is unenforceable -for any reason, the remaining terms of the Agreement shall not be deemed -invalid, inoperative, or unenforceable and, if possible, the -unenforceable provision shall be modified or interpreted in a manner to -make it enforceable. - -

28. Governing Law.

This Agreement shall be governed by the laws of the -State of Texas, United States of America, without regard to that state's -conflicts of laws rules. The 1980 United Nations Convention on Contracts -for the International Sale of Goods shall not apply. In any dispute -arising out of this Agreement, the parties each consent to the exclusive -personal jurisdiction and venue in the State and Federal courts located -within Travis County, Texas, United States of America. All disputes -concerning this Agreement shall be resolved by binding arbitration in -Travis County, Texas before a single arbitrator. The arbitration shall -be administered by JAMS pursuant to JAMS' Streamlined Arbitration Rules -and Procedures. The arbitration award shall include an award of -attorneys' fees to the prevailing party. Judgment on the award may be -entered in any court having jurisdiction. This clause shall not preclude -parties from seeking provisional remedies in aid of arbitration from a -court of appropriate jurisdiction. - -

29. Injunctive Relief.

The copying, disclosure, or use of the Software -in a manner inconsistent with any provision of this Agreement or the -improper use of the Silicon Labs trademarks may cause irreparable injury -to Silicon Labs for which Silicon Labs may not have an adequate remedy -at law. Silicon Labs may be entitled to equitable relief in court, -including but not limited to temporary restraining orders, preliminary -injunctions and permanent injunctions. - -

30. Silicon Labs Trademarks.

Silicon Labs and the Silicon Labs logo are -trademarks of Silicon Laboratories Inc. in the United States and other -countries. No use of the Silicon Labs trademarks by Licensee is implied -or consented to by Silicon Labs by entering into this Agreement. - -

31. Commercial Computer Software.

If Licensee is an agency of the U.S. -Government, the following will apply: The Software has been developed -entirely at private expense, is regularly used for nongovernmental -purposes and has been licensed to the public. The Software is a -"commercial item" as that term is defined in 48 C.F.R. 2.101 (Oct. -1995), consisting of "commercial computer software" and "commercial -computer software documentation" as those terms are used in 48 C.F.R. -12.212 (Sept. 1995) or as "commercial computer software" as that term is -defined in 48 C.F.R. 252.227-7014 (June 1995) or any equivalent agency -regulation or contract clause, whichever is applicable. Consistent with -48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June -1995), all U.S. Government agencies acquire only those rights to the -Software as are expressly set forth herein. +During the unit test build process, some third-party code will be added to this repository and separated into another license. +An example can be found in the build/_deps directory, where the Unity library uses the MIT license. From 779d553ce12bb74fc7b6e5a2de56f9e15b9a7618 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Wed, 25 Sep 2024 17:45:42 +0700 Subject: [PATCH 03/62] Create coding-convention.yaml --- .github/workflows/coding-convention.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/coding-convention.yaml diff --git a/.github/workflows/coding-convention.yaml b/.github/workflows/coding-convention.yaml new file mode 100644 index 00000000..c5bb372b --- /dev/null +++ b/.github/workflows/coding-convention.yaml @@ -0,0 +1,24 @@ +name: Coding Convention +on: + workflow_dispatch: +env: + SECURITY: APP_SECURE=false + COMMAND: all + COMPONENT: all +jobs: + job1: + name: Check coding convention + runs-on: ubuntu-20.04 + steps: + - name: Check working directory + run: | + pwd + ls -la + - name: Set up environment + run: | + pip install pre-commit + sudo apt install uncrustify clang-tidy cppcheck + + + + From 24055700222bb98a768b85b8595779d71dbe214f Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Wed, 25 Sep 2024 17:46:26 +0700 Subject: [PATCH 04/62] Rename coding-convention.yaml to coding_convention.yaml --- .../workflows/{coding-convention.yaml => coding_convention.yaml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{coding-convention.yaml => coding_convention.yaml} (100%) diff --git a/.github/workflows/coding-convention.yaml b/.github/workflows/coding_convention.yaml similarity index 100% rename from .github/workflows/coding-convention.yaml rename to .github/workflows/coding_convention.yaml From 859f3a806c3ed926b880ace7495483e030f279b5 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Wed, 25 Sep 2024 17:48:18 +0700 Subject: [PATCH 05/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index c5bb372b..faacb9f0 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -1,6 +1,6 @@ name: Coding Convention on: - workflow_dispatch: + push: env: SECURITY: APP_SECURE=false COMMAND: all From da37b6c12dc016e863c1ed4bfb833a2609887f6c Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Wed, 25 Sep 2024 17:50:25 +0700 Subject: [PATCH 06/62] Create README.md --- tools/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 tools/README.md diff --git a/tools/README.md b/tools/README.md new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/tools/README.md @@ -0,0 +1 @@ + From 255a82a3d8e2f72f5a31dce467d424c6974882e0 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Wed, 25 Sep 2024 17:51:03 +0700 Subject: [PATCH 07/62] Create README.md --- tools/.codespell/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 tools/.codespell/README.md diff --git a/tools/.codespell/README.md b/tools/.codespell/README.md new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/tools/.codespell/README.md @@ -0,0 +1 @@ + From 1153f86f38bdead6921b257406920398a8732078 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Wed, 25 Sep 2024 18:20:33 +0700 Subject: [PATCH 08/62] Add clang-format and clang-tidy file --- tools/.clang-format | 76 +++++++++++++++++++++++++++++++++++++++++++++ tools/.clang-tidy | 50 +++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 tools/.clang-format create mode 100644 tools/.clang-tidy diff --git a/tools/.clang-format b/tools/.clang-format new file mode 100644 index 00000000..9414f657 --- /dev/null +++ b/tools/.clang-format @@ -0,0 +1,76 @@ +--- +BasedOnStyle: LLVM +IndentWidth: 2 +TabWidth: 2 +UseTab: Never + + +# General formatting +AccessModifierOffset: -2 +MaxEmptyLinesToKeep: 1 +# BreakBeforeBraces: Allman + +# Line length +ColumnLimit: 80 + +# Bracing style +BreakBeforeBraces: Custom +BraceWrapping: + AfterCaseLabel: true + AfterControlStatement: Never + AfterFunction: true + AfterStruct: false + AfterUnion: false + AfterExternBlock: false + BeforeCatch: false + BeforeElse: false + IndentBraces: false + SplitEmptyFunction: false + +# Use of spaces +SpacesBeforeTrailingComments: 1 +SpaceBeforeAssignmentOperators: true +SpaceBeforeParens: ControlStatements +SpaceInEmptyParentheses: false + +# Use of comments +CommentPragmas: "^ IWYU pragma:" + +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: true +AlignConsecutiveMacros: true +AlignEscapedNewlines: Right +AlignOperands: true +AlignTrailingComments: true +AllowAllArgumentsOnNextLine: false +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortBlocksOnASingleLine: Empty +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: Empty +AllowShortLoopsOnASingleLine: false +AllowShortEnumsOnASingleLine: false +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: No +BinPackArguments: false +BinPackParameters: false +BreakBeforeBinaryOperators: NonAssignment +BreakBeforeTernaryOperators: true +BreakStringLiterals: true +Cpp11BracedListStyle: true +IncludeBlocks: Regroup +IndentCaseLabels: true +IndentGotoLabels: false +IndentPPDirectives: None +IndentWrappedFunctionNames: true +KeepEmptyLinesAtTheStartOfBlocks: false +PointerAlignment: Right +ReflowComments: false +SortIncludes: false +SpaceAfterCStyleCast: true +SpaceAfterLogicalNot: false +SpaceBeforeRangeBasedForLoopColon: true +SpaceBeforeSquareBrackets: false +SpaceInEmptyBlock: false +SpacesInCStyleCastParentheses: false +SpacesInConditionalStatement: false +SpacesInContainerLiterals: false diff --git a/tools/.clang-tidy b/tools/.clang-tidy new file mode 100644 index 00000000..33711ca8 --- /dev/null +++ b/tools/.clang-tidy @@ -0,0 +1,50 @@ +Checks: > + -*, + readability-identifier-naming, + readability-magic-numbers, + readability-braces-around-statements + +WarningsAsErrors: > + readability-identifier-naming, + readability-magic-numbers, + readability-braces-around-statements + +HeaderFilterRegex: '' +FormatStyle: none +InheritParentConfig: true +User: user +CheckOptions: + - key: readability-identifier-naming.VariableCase + value: lower_case + - key: readability-identifier-naming.GlobalConstantCase + value: UPPER_CASE + - key: readability-identifier-naming.GlobalConstantPrefix + value: SL_ + - key: readability-identifier-naming.ConstantCase + value: UPPER_CASE + - key: readability-identifier-naming.ConstantPrefix + value: SL_ + - key: readability-identifier-naming.EnumConstantCase + value: UPPER_CASE + - key: readability-identifier-naming.EnumConstantPrefix + value: SL_ + - key: readability-identifier-naming.EnumCase + value: lower_case + - key: readability-identifier-naming.EnumPrefix + value: sl_ + - key: readability-identifier-naming.FunctionIgnoredRegexp + value: 'sli_.*' + - key: readability-identifier-naming.FunctionCase + value: lower_case + - key: readability-identifier-naming.FunctionPrefix + value: 'sl_' + - key: readability-identifier-naming.StructCase + value: lower_case + - key: readability-identifier-naming.StructPrefix + value: 'sl_' + - key: readability-identifier-naming.StructMemberCase + value: lower_case + - key: readability-identifier-naming.TypedefCase + value: lower_case + - key: readability-identifier-naming.TypedefPrefix + value: 'sl_' From 3c8f12f0034ca6fcc056a78b0622391817158098 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Wed, 25 Sep 2024 18:21:05 +0700 Subject: [PATCH 09/62] Add config files --- tools/.codespell/.codespellrc | 10 ++++++++++ tools/.codespell/exclude-file.txt | 0 tools/.codespell/ignore-words.txt | 5 +++++ 3 files changed, 15 insertions(+) create mode 100644 tools/.codespell/.codespellrc create mode 100644 tools/.codespell/exclude-file.txt create mode 100644 tools/.codespell/ignore-words.txt diff --git a/tools/.codespell/.codespellrc b/tools/.codespell/.codespellrc new file mode 100644 index 00000000..1cd614f0 --- /dev/null +++ b/tools/.codespell/.codespellrc @@ -0,0 +1,10 @@ +# See: https://github.com/codespell-project/codespell#using-a-config-file +[codespell] +# In the event of a false positive, add the problematic word, in all lowercase, to 'ignore-words.txt' (one word per line). +# Or copy & paste the whole problematic line to 'exclude-file.txt' +ignore-words = ./tools/.codespell/ignore-words.txt +exclude-file = ./tools/.codespell/exclude-file.txt +check-filenames = +check-hidden = +count = +skip = .git,*.a, diff --git a/tools/.codespell/exclude-file.txt b/tools/.codespell/exclude-file.txt new file mode 100644 index 00000000..e69de29b diff --git a/tools/.codespell/ignore-words.txt b/tools/.codespell/ignore-words.txt new file mode 100644 index 00000000..8ceb4f05 --- /dev/null +++ b/tools/.codespell/ignore-words.txt @@ -0,0 +1,5 @@ +teh +foobar +pris +bu +dout From 4f246822a9d893db22140ae0f414644f457f1429 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Wed, 25 Sep 2024 18:30:59 +0700 Subject: [PATCH 10/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index faacb9f0..93e03739 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -18,6 +18,17 @@ jobs: run: | pip install pre-commit sudo apt install uncrustify clang-tidy cppcheck + - name: Run test + run: | + pre-commit run --files > CodingConventionTool.log + - name: Upload Result + uses: actions/upload-artifact@v4.3.4 + with: + name: CodingConventionTool.log + path: . + warn: Output a warning but do not fail the action + retention-days: 90 + From 2cb825e8bab0bf8daab483f6caa7a55f3f11c878 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Wed, 25 Sep 2024 18:35:10 +0700 Subject: [PATCH 11/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 93e03739..b98892d6 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -10,6 +10,8 @@ jobs: name: Check coding convention runs-on: ubuntu-20.04 steps: + - name: Checkout + uses: actions/checkout@v4.1.7 - name: Check working directory run: | pwd From 7b06cae4148147c7fbe1f6172790917dd2274ac5 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Wed, 25 Sep 2024 18:40:07 +0700 Subject: [PATCH 12/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index b98892d6..9632befc 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -2,9 +2,7 @@ name: Coding Convention on: push: env: - SECURITY: APP_SECURE=false - COMMAND: all - COMPONENT: all + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} jobs: job1: name: Check coding convention @@ -22,7 +20,7 @@ jobs: sudo apt install uncrustify clang-tidy cppcheck - name: Run test run: | - pre-commit run --files > CodingConventionTool.log + git diff --name-only main $BRANCH_NAME | pre-commit run --files > CodingConventionTool.log - name: Upload Result uses: actions/upload-artifact@v4.3.4 with: From 6229f3e99a8256b48038d80fb22d36ecf498438b Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Wed, 25 Sep 2024 18:46:32 +0700 Subject: [PATCH 13/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 9632befc..d33447a4 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -10,6 +10,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4.1.7 + with: + ref: create-unit-test-functions-in-lib-iec60730 - name: Check working directory run: | pwd @@ -20,14 +22,7 @@ jobs: sudo apt install uncrustify clang-tidy cppcheck - name: Run test run: | - git diff --name-only main $BRANCH_NAME | pre-commit run --files > CodingConventionTool.log - - name: Upload Result - uses: actions/upload-artifact@v4.3.4 - with: - name: CodingConventionTool.log - path: . - warn: Output a warning but do not fail the action - retention-days: 90 + pre-commit run --files From 3b791ce71feae59764507d774a273a330e4f55dd Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Wed, 25 Sep 2024 18:50:21 +0700 Subject: [PATCH 14/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index d33447a4..99c1f3cc 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -11,7 +11,7 @@ jobs: - name: Checkout uses: actions/checkout@v4.1.7 with: - ref: create-unit-test-functions-in-lib-iec60730 + ref: update-source-code-lib-iec60730 - name: Check working directory run: | pwd From 613488600ee3b738bb5beab65cf3576cf04f2b91 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Wed, 25 Sep 2024 21:17:54 +0700 Subject: [PATCH 15/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 99c1f3cc..4920d3eb 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -22,7 +22,7 @@ jobs: sudo apt install uncrustify clang-tidy cppcheck - name: Run test run: | - pre-commit run --files + pre-commit run --all-files From b19c7cfdf15b9d7acb8d9ffa25fd529cef8830d1 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 02:03:59 +0700 Subject: [PATCH 16/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 4920d3eb..8f33f007 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -1,8 +1,11 @@ name: Coding Convention on: push: + branches: + - '**' env: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + REPO_LINK: ${{ github.repository }} jobs: job1: name: Check coding convention @@ -12,6 +15,14 @@ jobs: uses: actions/checkout@v4.1.7 with: ref: update-source-code-lib-iec60730 + - name: Copy coding convention tool + run: | + git clone $REPO_LINK + cp -r /home/runner/work/IEC60730_Libs/IEC60730_Libs/IEC60730_Libs/tools . + cd .. + pwd + ls -la + - name: Check working directory run: | pwd From 658a04b19f45b5536b339a04560d42553d54b420 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 02:06:08 +0700 Subject: [PATCH 17/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 8f33f007..befb6f26 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -5,7 +5,7 @@ on: - '**' env: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} - REPO_LINK: ${{ github.repository }} + REPO_LINK: https://github.com/${{ github.repository }}.git jobs: job1: name: Check coding convention @@ -17,11 +17,14 @@ jobs: ref: update-source-code-lib-iec60730 - name: Copy coding convention tool run: | - git clone $REPO_LINK - cp -r /home/runner/work/IEC60730_Libs/IEC60730_Libs/IEC60730_Libs/tools . cd .. pwd ls -la + cd IEC60730_Libs + ls -la + git clone $REPO_LINK + cp -r /home/runner/work/IEC60730_Libs/IEC60730_Libs/IEC60730_Libs/tools . + ls -la - name: Check working directory run: | From 531e87578f9c69c909abd55988cd36a5fea1a5dd Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 02:12:33 +0700 Subject: [PATCH 18/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index befb6f26..4f4526f4 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -23,7 +23,10 @@ jobs: cd IEC60730_Libs ls -la git clone $REPO_LINK - cp -r /home/runner/work/IEC60730_Libs/IEC60730_Libs/IEC60730_Libs/tools . + ls -la + cp -r /home/runner/work/IEC60730_Libs/IEC60730_Libs/tools . + ls -la + cd IEC60730_Libs ls -la - name: Check working directory From 0bbcc3abe426e67a779f39d973f28949ba760ba3 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 02:14:52 +0700 Subject: [PATCH 19/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 4f4526f4..718d1e2e 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -24,7 +24,7 @@ jobs: ls -la git clone $REPO_LINK ls -la - cp -r /home/runner/work/IEC60730_Libs/IEC60730_Libs/tools . + cp -r /home/runner/work/IEC60730_Libs/IEC60730_Libs/IEC60730_Libs/tools . ls -la cd IEC60730_Libs ls -la From 039766c2124061566857ecc9ba011df02c311df9 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 02:15:59 +0700 Subject: [PATCH 20/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 718d1e2e..1bcdfde5 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -24,7 +24,7 @@ jobs: ls -la git clone $REPO_LINK ls -la - cp -r /home/runner/work/IEC60730_Libs/IEC60730_Libs/IEC60730_Libs/tools . + cp -r ./tools . ls -la cd IEC60730_Libs ls -la From f30e530e909c11f463f68a58819d8cd14f804f7c Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 02:19:46 +0700 Subject: [PATCH 21/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 1bcdfde5..0a2e48e3 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -24,7 +24,12 @@ jobs: ls -la git clone $REPO_LINK ls -la - cp -r ./tools . + cp ./tools/.clang-format . + cp ./tools/.clang-tidy . + cp ./tools/.codespell/.codespellrc . + cp ./tools/.codespell/exclude-file.txt . + cp ./tools/.codespell/ignore-words.txt . + ls -la cd IEC60730_Libs ls -la From 74ef256ef0223b39077c8213a2de92021b34a069 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 02:21:44 +0700 Subject: [PATCH 22/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 0a2e48e3..b940e281 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -44,7 +44,7 @@ jobs: sudo apt install uncrustify clang-tidy cppcheck - name: Run test run: | - pre-commit run --all-files + git diff --name-only develop $BRANCH_NAME | xargs pre-commit run --files From adb33f0a62c48639bb7e3bbd385389f579735687 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 02:55:17 +0700 Subject: [PATCH 23/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index b940e281..9e303fa7 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -44,7 +44,7 @@ jobs: sudo apt install uncrustify clang-tidy cppcheck - name: Run test run: | - git diff --name-only develop $BRANCH_NAME | xargs pre-commit run --files + git diff --name-only main update-source-code-lib-iec60730 | xargs pre-commit run --files From 2712d9e49db080fb4aaabe91171a86de39e22d5a Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 03:19:54 +0700 Subject: [PATCH 24/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 9e303fa7..0659c30d 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -44,7 +44,7 @@ jobs: sudo apt install uncrustify clang-tidy cppcheck - name: Run test run: | - git diff --name-only main update-source-code-lib-iec60730 | xargs pre-commit run --files + git diff --name-only gen-firmware-on-host-runner update-source-code-lib-iec60730 | xargs pre-commit run --files From cbf3480ccf81d92589dd5f56e42d67265e38a1a3 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 03:23:50 +0700 Subject: [PATCH 25/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 0659c30d..a21b9239 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -44,7 +44,7 @@ jobs: sudo apt install uncrustify clang-tidy cppcheck - name: Run test run: | - git diff --name-only gen-firmware-on-host-runner update-source-code-lib-iec60730 | xargs pre-commit run --files + git diff --name-only original/gen-firmware-on-host-runner update-source-code-lib-iec60730 | xargs pre-commit run --files From 4071ade1b592e7fade72fcd14f15f537d66d347a Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 03:45:23 +0700 Subject: [PATCH 26/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index a21b9239..71d2dfc0 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -44,7 +44,7 @@ jobs: sudo apt install uncrustify clang-tidy cppcheck - name: Run test run: | - git diff --name-only original/gen-firmware-on-host-runner update-source-code-lib-iec60730 | xargs pre-commit run --files + git diff original/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files From a0c49c878364345139a67753f9449ed208873335 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 03:47:17 +0700 Subject: [PATCH 27/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 71d2dfc0..895a47ca 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -44,7 +44,7 @@ jobs: sudo apt install uncrustify clang-tidy cppcheck - name: Run test run: | - git diff original/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files + git diff origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files From a94412ea80446ca552f4ed495df515a74d97c484 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 03:51:21 +0700 Subject: [PATCH 28/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 895a47ca..96cb22a9 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -44,7 +44,9 @@ jobs: sudo apt install uncrustify clang-tidy cppcheck - name: Run test run: | - git diff origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files + git fetch origin + + git diff origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files From 5e6d7f3415031c65c99aca5e94f99ac1f25e5198 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 03:54:27 +0700 Subject: [PATCH 29/62] Update exclude-file.txt --- tools/.codespell/exclude-file.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/.codespell/exclude-file.txt b/tools/.codespell/exclude-file.txt index e69de29b..d3692f6a 100644 --- a/tools/.codespell/exclude-file.txt +++ b/tools/.codespell/exclude-file.txt @@ -0,0 +1,2 @@ +tools/** +.github/** From e3e8270a87223aaf9f975e22ca2d6f8ed819308d Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 03:55:49 +0700 Subject: [PATCH 30/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 96cb22a9..f4240f07 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -46,7 +46,7 @@ jobs: run: | git fetch origin - git diff origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files + git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files From 244d366fc84b268d5d36298078b3e166f2e4564d Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 04:01:40 +0700 Subject: [PATCH 31/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 36 ++++++------------------ 1 file changed, 8 insertions(+), 28 deletions(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index f4240f07..bf87b2f6 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -13,27 +13,6 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4.1.7 - with: - ref: update-source-code-lib-iec60730 - - name: Copy coding convention tool - run: | - cd .. - pwd - ls -la - cd IEC60730_Libs - ls -la - git clone $REPO_LINK - ls -la - cp ./tools/.clang-format . - cp ./tools/.clang-tidy . - cp ./tools/.codespell/.codespellrc . - cp ./tools/.codespell/exclude-file.txt . - cp ./tools/.codespell/ignore-words.txt . - - ls -la - cd IEC60730_Libs - ls -la - - name: Check working directory run: | pwd @@ -45,10 +24,11 @@ jobs: - name: Run test run: | git fetch origin - - git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files - - - - - + git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionResult.log + - name: Upload Result + uses: actions/upload-artifact@v4.3.4 + with: + name: CodingConventionResult.log + path: . + warn: Output a warning but do not fail the action + retention-days: 90 From 82c9f9ef9f8a8b63667b7b713ffbe1a4ee389f46 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 04:03:44 +0700 Subject: [PATCH 32/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index bf87b2f6..50ea7180 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -24,7 +24,7 @@ jobs: - name: Run test run: | git fetch origin - git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionResult.log + git diff --name-only origin/develop origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionResult.log - name: Upload Result uses: actions/upload-artifact@v4.3.4 with: From 049d56513f04c20b6b8d0eb94ec1b0ab404eefb3 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 04:11:07 +0700 Subject: [PATCH 33/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 50ea7180..b680425d 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -23,8 +23,9 @@ jobs: sudo apt install uncrustify clang-tidy cppcheck - name: Run test run: | + touch CodingConventionResult.log git fetch origin - git diff --name-only origin/develop origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionResult.log + git diff --name-only origin/develop origin/update-source-code-lib-iec60730 | xargs pre-commit run --files - name: Upload Result uses: actions/upload-artifact@v4.3.4 with: From 3f881ac61eafd38ce4b405097adef48501b23510 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 04:13:23 +0700 Subject: [PATCH 34/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index b680425d..8c4df2e3 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -25,7 +25,7 @@ jobs: run: | touch CodingConventionResult.log git fetch origin - git diff --name-only origin/develop origin/update-source-code-lib-iec60730 | xargs pre-commit run --files + git diff --name-only origin/iec-efr32 origin/update-source-code-lib-iec60730 | xargs pre-commit run --files >> CodingConventionResult.log - name: Upload Result uses: actions/upload-artifact@v4.3.4 with: From 18261efbb8ae3431a4f176b27ee8ebbed903c573 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 04:14:28 +0700 Subject: [PATCH 35/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 8c4df2e3..c93c42b4 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -25,7 +25,7 @@ jobs: run: | touch CodingConventionResult.log git fetch origin - git diff --name-only origin/iec-efr32 origin/update-source-code-lib-iec60730 | xargs pre-commit run --files >> CodingConventionResult.log + git diff --name-only origin/iec_efr32 origin/update-source-code-lib-iec60730 | xargs pre-commit run --files >> CodingConventionResult.log - name: Upload Result uses: actions/upload-artifact@v4.3.4 with: From db76f4ff2a2236d7898474de78032f711c143c79 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 04:16:57 +0700 Subject: [PATCH 36/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index c93c42b4..19c21b5a 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -23,9 +23,9 @@ jobs: sudo apt install uncrustify clang-tidy cppcheck - name: Run test run: | - touch CodingConventionResult.log + git config diff.renameLimit 999999 git fetch origin - git diff --name-only origin/iec_efr32 origin/update-source-code-lib-iec60730 | xargs pre-commit run --files >> CodingConventionResult.log + git diff --name-only origin/iec_efr32 origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionResult.log - name: Upload Result uses: actions/upload-artifact@v4.3.4 with: From e4db2c7c55b6600c0df2a41d88811f86334b00a0 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 04:18:20 +0700 Subject: [PATCH 37/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 19c21b5a..b4a1092c 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -24,8 +24,9 @@ jobs: - name: Run test run: | git config diff.renameLimit 999999 + touch CodingConventionResult.log git fetch origin - git diff --name-only origin/iec_efr32 origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionResult.log + git diff --name-only origin/iec_efr32 origin/update-source-code-lib-iec60730 | xargs pre-commit run --files - name: Upload Result uses: actions/upload-artifact@v4.3.4 with: From 315934e268fd278ace7bb2036c14e0c38bd61422 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 04:19:59 +0700 Subject: [PATCH 38/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index b4a1092c..06489513 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -13,6 +13,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4.1.7 + with: + ref: update-source-code-lib-iec60730 - name: Check working directory run: | pwd @@ -24,9 +26,8 @@ jobs: - name: Run test run: | git config diff.renameLimit 999999 - touch CodingConventionResult.log git fetch origin - git diff --name-only origin/iec_efr32 origin/update-source-code-lib-iec60730 | xargs pre-commit run --files + git diff --name-only origin/iec_efr32 origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionResult.log - name: Upload Result uses: actions/upload-artifact@v4.3.4 with: From 6b2811e5079a1df84d54338d350362469072b62e Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 04:31:45 +0700 Subject: [PATCH 39/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 06489513..8f38db0f 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -27,7 +27,7 @@ jobs: run: | git config diff.renameLimit 999999 git fetch origin - git diff --name-only origin/iec_efr32 origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionResult.log + git diff --name-only origin/main origin/iec_efr32 | xargs pre-commit run --files > CodingConventionResult.log - name: Upload Result uses: actions/upload-artifact@v4.3.4 with: From dca0aa487795ee6f8cfacc4a2e1ce4504628090f Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 04:38:30 +0700 Subject: [PATCH 40/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 8f38db0f..6a7f95d2 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -21,13 +21,20 @@ jobs: ls -la - name: Set up environment run: | + ls -la + cp ./tools/.clang-format . + cp ./tools/.clang-tidy . + cp ./tools/.codespell/.codespellrc . + cp ./tools/.codespell/exclude-file.txt . + cp ./tools/.codespell/ignore-words.txt . + ls -la pip install pre-commit sudo apt install uncrustify clang-tidy cppcheck - name: Run test run: | git config diff.renameLimit 999999 git fetch origin - git diff --name-only origin/main origin/iec_efr32 | xargs pre-commit run --files > CodingConventionResult.log + git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files - name: Upload Result uses: actions/upload-artifact@v4.3.4 with: From 65bf1696aa911ad2ecae9e5c0bfa1287d6c8f151 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 04:40:20 +0700 Subject: [PATCH 41/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 6a7f95d2..062087fe 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -34,7 +34,7 @@ jobs: run: | git config diff.renameLimit 999999 git fetch origin - git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files + git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionResult.log - name: Upload Result uses: actions/upload-artifact@v4.3.4 with: From 4d736f79a6def4931a867d29913283a9c6365f28 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 04:41:55 +0700 Subject: [PATCH 42/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 062087fe..2ef7c752 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -34,7 +34,8 @@ jobs: run: | git config diff.renameLimit 999999 git fetch origin - git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionResult.log + touch CodingConventionResult.log + git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files >> CodingConventionResult.log - name: Upload Result uses: actions/upload-artifact@v4.3.4 with: From 253602ebafa4fd01673d864d2e3a534b993d1e22 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 04:46:55 +0700 Subject: [PATCH 43/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 2ef7c752..47f58f14 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -35,8 +35,9 @@ jobs: git config diff.renameLimit 999999 git fetch origin touch CodingConventionResult.log - git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files >> CodingConventionResult.log + git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files - name: Upload Result + if: always() uses: actions/upload-artifact@v4.3.4 with: name: CodingConventionResult.log From 521cc7ad3314c0cefbbdc04321cdfb43004190a2 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 05:18:25 +0700 Subject: [PATCH 44/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 47f58f14..57ba2965 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -35,12 +35,12 @@ jobs: git config diff.renameLimit 999999 git fetch origin touch CodingConventionResult.log - git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files + git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs -n 1 pre-commit run --files | xargs | tee CodingConventionResult.txt - name: Upload Result if: always() uses: actions/upload-artifact@v4.3.4 with: - name: CodingConventionResult.log - path: . + name: CodingConventionResult.txt + path: CodingConventionResult.txt warn: Output a warning but do not fail the action retention-days: 90 From 3645a1fa599d9d746e6d10f7db8f91a8f6a30284 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 05:30:05 +0700 Subject: [PATCH 45/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 57ba2965..f613d1f1 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -35,12 +35,20 @@ jobs: git config diff.renameLimit 999999 git fetch origin touch CodingConventionResult.log - git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs -n 1 pre-commit run --files | xargs | tee CodingConventionResult.txt + diff_files=$(git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730) + echo "Changed files:" + echp "$diff_files" + if [ -n "$diff_files" ]; then + echo "$diff_files" | xargs -n 1 pre-commit run --file | tee log.txt + else + echo "No files changed between branches" + fi + - name: Upload Result if: always() uses: actions/upload-artifact@v4.3.4 with: name: CodingConventionResult.txt - path: CodingConventionResult.txt + path: log.txt warn: Output a warning but do not fail the action retention-days: 90 From 76f2fa31f6bdc4a72be3b8ecf48997f49789cd92 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 05:35:19 +0700 Subject: [PATCH 46/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index f613d1f1..82dda4c2 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -34,21 +34,13 @@ jobs: run: | git config diff.renameLimit 999999 git fetch origin - touch CodingConventionResult.log - diff_files=$(git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730) - echo "Changed files:" - echp "$diff_files" - if [ -n "$diff_files" ]; then - echo "$diff_files" | xargs -n 1 pre-commit run --file | tee log.txt - else - echo "No files changed between branches" - fi + git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.log - name: Upload Result if: always() uses: actions/upload-artifact@v4.3.4 with: - name: CodingConventionResult.txt - path: log.txt + name: CodingConventionTool.txt + path: CodingConventionTool.txt warn: Output a warning but do not fail the action retention-days: 90 From 5ac5462676eab6f7895be248801d270443068628 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Thu, 26 Sep 2024 05:36:57 +0700 Subject: [PATCH 47/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 82dda4c2..fb147c08 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -34,7 +34,8 @@ jobs: run: | git config diff.renameLimit 999999 git fetch origin - git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.log + touch CodingConventionTool.log + git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files - name: Upload Result if: always() From db26937ad5860f17c0c59662295359aeb9b97b8e Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Tue, 1 Oct 2024 05:18:45 +0700 Subject: [PATCH 48/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index fb147c08..880ea82c 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -9,7 +9,7 @@ env: jobs: job1: name: Check coding convention - runs-on: ubuntu-20.04 + runs-on: [self-hosted, ds-sqa-hn-003] steps: - name: Checkout uses: actions/checkout@v4.1.7 @@ -19,23 +19,9 @@ jobs: run: | pwd ls -la - - name: Set up environment - run: | - ls -la - cp ./tools/.clang-format . - cp ./tools/.clang-tidy . - cp ./tools/.codespell/.codespellrc . - cp ./tools/.codespell/exclude-file.txt . - cp ./tools/.codespell/ignore-words.txt . - ls -la - pip install pre-commit - sudo apt install uncrustify clang-tidy cppcheck - name: Run test - run: | - git config diff.renameLimit 999999 - git fetch origin - touch CodingConventionTool.log - git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files + run: + git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.txt - name: Upload Result if: always() From dcae762fe790dac3c187dab2c34701dafa59f4f0 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Tue, 1 Oct 2024 05:20:16 +0700 Subject: [PATCH 49/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 880ea82c..bf4c6819 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -27,7 +27,7 @@ jobs: if: always() uses: actions/upload-artifact@v4.3.4 with: - name: CodingConventionTool.txt + name: CodingConventionResult path: CodingConventionTool.txt warn: Output a warning but do not fail the action retention-days: 90 From d67359e639d59adc048b935e266c4cce4bb7d1ea Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Tue, 1 Oct 2024 14:18:12 +0700 Subject: [PATCH 50/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index bf4c6819..33ccb141 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -21,7 +21,7 @@ jobs: ls -la - name: Run test run: - git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.txt + git diff --name-only origin/iec_efr32 origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.txt - name: Upload Result if: always() From e61c6004373456e68f42eb3f1278555d7ff97c75 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Tue, 1 Oct 2024 14:38:45 +0700 Subject: [PATCH 51/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 33ccb141..4a17312c 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -21,7 +21,7 @@ jobs: ls -la - name: Run test run: - git diff --name-only origin/iec_efr32 origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.txt + git diff --name-only origin/ origin/create-unit-test-functions-in-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.txt - name: Upload Result if: always() From c7a611a05e1df6ef4b92f67a24238daf5e38f10f Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Tue, 1 Oct 2024 14:38:57 +0700 Subject: [PATCH 52/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 4a17312c..f7fbe40f 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -21,7 +21,7 @@ jobs: ls -la - name: Run test run: - git diff --name-only origin/ origin/create-unit-test-functions-in-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.txt + git diff --name-only origin/develop origin/create-unit-test-functions-in-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.txt - name: Upload Result if: always() From 6f3b6908dc13b3bd7937b05c3789fde90f5c8fde Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Tue, 1 Oct 2024 14:41:07 +0700 Subject: [PATCH 53/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index f7fbe40f..feb510f2 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -21,7 +21,7 @@ jobs: ls -la - name: Run test run: - git diff --name-only origin/develop origin/create-unit-test-functions-in-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.txt + git diff --name-only origin/main origin/create-unit-test-functions-in-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.txt - name: Upload Result if: always() From 5d8a2ec26fb7ebe3527969f814e6c8cd64897bfd Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Tue, 1 Oct 2024 14:47:49 +0700 Subject: [PATCH 54/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index feb510f2..a45f9715 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -21,7 +21,7 @@ jobs: ls -la - name: Run test run: - git diff --name-only origin/main origin/create-unit-test-functions-in-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.txt + git diff --name-only main origin/create-unit-test-functions-in-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.txt - name: Upload Result if: always() From 7c912d7f54b18ad86d6670fb2251711cb27a2c21 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Tue, 1 Oct 2024 15:50:00 +0700 Subject: [PATCH 55/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index a45f9715..cae3858e 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -21,7 +21,8 @@ jobs: ls -la - name: Run test run: - git diff --name-only main origin/create-unit-test-functions-in-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.txt + pre-commit install + pre-commit run --all-files > CodingConventionTool.txt - name: Upload Result if: always() From 48d5b01c41aa6940ae491e3c1216c45e09c2115e Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Tue, 1 Oct 2024 15:52:41 +0700 Subject: [PATCH 56/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index cae3858e..2de086dd 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -9,14 +9,16 @@ env: jobs: job1: name: Check coding convention - runs-on: [self-hosted, ds-sqa-hn-003] + runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v4.1.7 with: ref: update-source-code-lib-iec60730 - - name: Check working directory + - name: Prepare environment run: | + pip install pre-commit + sudo apt install clang-format clang-tidy cppcheck pwd ls -la - name: Run test From 8552bbd5b3549b655afbaa10a3425c7ce5bf5f5a Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Tue, 1 Oct 2024 16:16:12 +0700 Subject: [PATCH 57/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 2de086dd..0c927b15 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -9,7 +9,7 @@ env: jobs: job1: name: Check coding convention - runs-on: ubuntu-20.04 + runs-on: [ds-sqa-hn-003] steps: - name: Checkout uses: actions/checkout@v4.1.7 From 96933b06ff499c56dc49f84651a3739106db6bc6 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Wed, 2 Oct 2024 11:35:48 +0700 Subject: [PATCH 58/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 0c927b15..ec2aafe4 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -1,3 +1,4 @@ + name: Coding Convention on: push: @@ -9,22 +10,19 @@ env: jobs: job1: name: Check coding convention - runs-on: [ds-sqa-hn-003] + runs-on: [self-hosted, ds-sqa-hn-003] steps: - name: Checkout uses: actions/checkout@v4.1.7 with: ref: update-source-code-lib-iec60730 - - name: Prepare environment + - name: Check working directory run: | - pip install pre-commit - sudo apt install clang-format clang-tidy cppcheck pwd ls -la - name: Run test run: - pre-commit install - pre-commit run --all-files > CodingConventionTool.txt + git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.txt - name: Upload Result if: always() From 756a6de8117b6d81c69ef2b55b3bb6468016d938 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Mon, 7 Oct 2024 02:06:13 +0700 Subject: [PATCH 59/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 31 ++++++++++++++++++------ 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index ec2aafe4..3dd3b6ea 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -1,28 +1,43 @@ name: Coding Convention -on: +on: push: - branches: - - '**' + branches: + - '*' # matches every branch that doesn't contain a '/' + - '*/*' # matches every branch containing a single '/' + - '**' # matches every branch env: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} REPO_LINK: https://github.com/${{ github.repository }}.git jobs: job1: name: Check coding convention - runs-on: [self-hosted, ds-sqa-hn-003] + runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v4.1.7 with: ref: update-source-code-lib-iec60730 - - name: Check working directory + - name: Install python3.11 + if: always() + run: | + sudo apt update + sudo apt upgrade + sudo add-apt-repository ppa:deadsnakes/ppa -y + sudo apt update + sudo apt install python3.11 + python3.11 --version + which python3.11 + sudo apt install python3.11-full + sudo apt install python3-pip + - name: Install Pre-commmit run: | - pwd - ls -la + python3.11 -m pip install pre-commit + sudo apt install uncrustify clang-tidy cppcheck - name: Run test run: - git diff --name-only origin/gen-firmware-on-host-runner origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.txt + pre-commit install + git diff --name-only origin/main origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.txt - name: Upload Result if: always() From 23c4f549796e7a2874f53a5f09ee6d8dd74b4b43 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Mon, 7 Oct 2024 02:10:03 +0700 Subject: [PATCH 60/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 3dd3b6ea..86331ded 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -29,7 +29,7 @@ jobs: python3.11 --version which python3.11 sudo apt install python3.11-full - sudo apt install python3-pip + curl -sS https://bootstrap.pypa.io/get-pip.py | sudo python3.11 - name: Install Pre-commmit run: | python3.11 -m pip install pre-commit From abd65d70242ca4beea9d4f1ec1e7d41c983d7e6b Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Mon, 7 Oct 2024 02:13:04 +0700 Subject: [PATCH 61/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 86331ded..315bef5f 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -37,7 +37,7 @@ jobs: - name: Run test run: pre-commit install - git diff --name-only origin/main origin/update-source-code-lib-iec60730 | xargs pre-commit run --files > CodingConventionTool.txt + pre-commit run --all-files > CodingConventionTool.txt - name: Upload Result if: always() From f832f8ff9643df36844546b63b95c289bf2559f6 Mon Sep 17 00:00:00 2001 From: silabs-bingocth Date: Mon, 7 Oct 2024 02:18:05 +0700 Subject: [PATCH 62/62] Update coding_convention.yaml --- .github/workflows/coding_convention.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coding_convention.yaml b/.github/workflows/coding_convention.yaml index 315bef5f..ed0f74d5 100644 --- a/.github/workflows/coding_convention.yaml +++ b/.github/workflows/coding_convention.yaml @@ -35,7 +35,7 @@ jobs: python3.11 -m pip install pre-commit sudo apt install uncrustify clang-tidy cppcheck - name: Run test - run: + run: | pre-commit install pre-commit run --all-files > CodingConventionTool.txt