├── .gitignore ├── .gitmodules ├── 3D ├── v01 │ ├── Zigbee网关-A.STL │ ├── Zigbee网关-B.STL │ └── Zigbee网关-C.STL └── v02p1 │ ├── Zigbee网关-A.STL │ ├── Zigbee网关-B.STL │ └── Zigbee网关-C.STL ├── CC-BY-SA-4.0 ├── README.md ├── README_zh.md ├── datasheets ├── 1811131825_Korean-Hroparts-Elec-TYPE-C-31-M-12_C165948.pdf ├── 74LVC1G66.pdf ├── C181158_S8050_2018-01-31.pdf ├── CH340DS1.PDF ├── CSTCE12M0G52-R0.pdf ├── E18-MS1PA1-IPX_UserManual-H_CN_v1.1.pdf ├── E18-MS1PA1-IPX_Usermanual_EN_v1.1.pdf ├── ESP-WROOM-02D_datasheet_cn.pdf ├── WS2812B_cn.pdf └── cd4051b.pdf ├── documents ├── bom.md ├── signal.md └── tty.md ├── firmware ├── bin │ ├── espFW │ │ ├── cclib.bin │ │ └── ser2net.bin │ └── zigbeeFW │ │ ├── CC2530ZNP-SB.hex │ │ ├── normal_21db │ │ ├── CC2530ZNP-Prod.bin │ │ └── CC2530ZNP-Prod.hex │ │ └── source_routing_21db │ │ ├── CC2530ZNP-Prod.bin │ │ └── CC2530ZNP-Prod.hex └── esp │ ├── cclib │ ├── .gitignore │ ├── CCDebugger.cpp │ ├── CCDebugger.h │ ├── CCLib_proxy.ino │ └── platformio.ini │ └── ser2net │ ├── .gitignore │ ├── data │ └── config.json │ ├── platformio.ini │ └── src │ ├── ESP-Serial-Bridge.cpp │ └── config.h ├── images ├── 3Dfinal.jpg ├── bottom_view.png ├── flash │ └── info.png ├── front_hw.jpeg ├── pay │ ├── alipay.png │ └── wechat.png ├── sch_v2p1.png ├── signal │ ├── 14db.png │ ├── 18db.png │ └── 26db.png ├── tasmota │ ├── AP_SSID.jpg │ ├── console1.jpg │ ├── set_debug.jpg │ ├── updata_zigbee_c.jpg │ ├── wifi_config.jpg │ └── wifi_config2.jpg ├── top_view.png └── ttyv01.png ├── project ├── bom │ └── ibom.html ├── fp-info-cache ├── gerber │ ├── z2m_partner-Bottom_Cu.gbr │ ├── z2m_partner-Bottom_Mask.gbr │ ├── z2m_partner-Bottom_Paste.gbr │ ├── z2m_partner-Bottom_Silk.gbr │ ├── z2m_partner-EdgeCuts.gbr │ ├── z2m_partner-NPTH.drl │ ├── z2m_partner-PTH.drl │ ├── z2m_partner-Top_Cu.gbr │ ├── z2m_partner-Top_Mask.gbr │ ├── z2m_partner-Top_Paste.gbr │ ├── z2m_partner-Top_Silk.gbr │ └── z2m_partner_gerber.zip ├── z2m_partner-bottom.pos ├── z2m_partner-cache.lib ├── z2m_partner-top.pos ├── z2m_partner.kicad_pcb ├── z2m_partner.kicad_pcb-bak ├── z2m_partner.net ├── z2m_partner.pdf ├── z2m_partner.pretty │ ├── E18-MS1PA1-IPX-24PIN.kicad_mod │ ├── E18-MS1PA1-IPX.kicad_mod │ └── SK6812_4020.kicad_mod ├── z2m_partner.pro ├── z2m_partner.sch ├── z2m_partner.sch-bak ├── z2m_partner_BOM.csv └── z2m_partner_POS.csv └── sponsor.md /.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | .vscode 3 | *.patch -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "firmware/esp/Tasmota"] 2 | path = firmware/esp/Tasmota 3 | url = https://github.com/SchumyHao/Tasmota 4 | -------------------------------------------------------------------------------- /3D/v01/Zigbee网关-A.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/3D/v01/Zigbee网关-A.STL -------------------------------------------------------------------------------- /3D/v01/Zigbee网关-B.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/3D/v01/Zigbee网关-B.STL -------------------------------------------------------------------------------- /3D/v01/Zigbee网关-C.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/3D/v01/Zigbee网关-C.STL -------------------------------------------------------------------------------- /3D/v02p1/Zigbee网关-A.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/3D/v02p1/Zigbee网关-A.STL -------------------------------------------------------------------------------- /3D/v02p1/Zigbee网关-B.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/3D/v02p1/Zigbee网关-B.STL -------------------------------------------------------------------------------- /3D/v02p1/Zigbee网关-C.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/3D/v02p1/Zigbee网关-C.STL -------------------------------------------------------------------------------- /CC-BY-SA-4.0: -------------------------------------------------------------------------------- 1 | Attribution-ShareAlike 4.0 International 2 | 3 | ======================================================================= 4 | 5 | Creative Commons Corporation ("Creative Commons") is not a law firm and 6 | does not provide legal services or legal advice. Distribution of 7 | Creative Commons public licenses does not create a lawyer-client or 8 | other relationship. Creative Commons makes its licenses and related 9 | information available on an "as-is" basis. Creative Commons gives no 10 | warranties regarding its licenses, any material licensed under their 11 | terms and conditions, or any related information. Creative Commons 12 | disclaims all liability for damages resulting from their use to the 13 | fullest extent possible. 14 | 15 | Using Creative Commons Public Licenses 16 | 17 | Creative Commons public licenses provide a standard set of terms and 18 | conditions that creators and other rights holders may use to share 19 | original works of authorship and other material subject to copyright 20 | and certain other rights specified in the public license below. The 21 | following considerations are for informational purposes only, are not 22 | exhaustive, and do not form part of our licenses. 23 | 24 | Considerations for licensors: Our public licenses are 25 | intended for use by those authorized to give the public 26 | permission to use material in ways otherwise restricted by 27 | copyright and certain other rights. Our licenses are 28 | irrevocable. Licensors should read and understand the terms 29 | and conditions of the license they choose before applying it. 30 | Licensors should also secure all rights necessary before 31 | applying our licenses so that the public can reuse the 32 | material as expected. Licensors should clearly mark any 33 | material not subject to the license. This includes other CC- 34 | licensed material, or material used under an exception or 35 | limitation to copyright. More considerations for licensors: 36 | wiki.creativecommons.org/Considerations_for_licensors 37 | 38 | Considerations for the public: By using one of our public 39 | licenses, a licensor grants the public permission to use the 40 | licensed material under specified terms and conditions. If 41 | the licensor's permission is not necessary for any reason--for 42 | example, because of any applicable exception or limitation to 43 | copyright--then that use is not regulated by the license. Our 44 | licenses grant only permissions under copyright and certain 45 | other rights that a licensor has authority to grant. Use of 46 | the licensed material may still be restricted for other 47 | reasons, including because others have copyright or other 48 | rights in the material. A licensor may make special requests, 49 | such as asking that all changes be marked or described. 50 | Although not required by our licenses, you are encouraged to 51 | respect those requests where reasonable. More_considerations 52 | for the public: 53 | wiki.creativecommons.org/Considerations_for_licensees 54 | 55 | ======================================================================= 56 | 57 | Creative Commons Attribution-ShareAlike 4.0 International Public 58 | License 59 | 60 | By exercising the Licensed Rights (defined below), You accept and agree 61 | to be bound by the terms and conditions of this Creative Commons 62 | Attribution-ShareAlike 4.0 International Public License ("Public 63 | License"). To the extent this Public License may be interpreted as a 64 | contract, You are granted the Licensed Rights in consideration of Your 65 | acceptance of these terms and conditions, and the Licensor grants You 66 | such rights in consideration of benefits the Licensor receives from 67 | making the Licensed Material available under these terms and 68 | conditions. 69 | 70 | 71 | Section 1 -- Definitions. 72 | 73 | a. Adapted Material means material subject to Copyright and Similar 74 | Rights that is derived from or based upon the Licensed Material 75 | and in which the Licensed Material is translated, altered, 76 | arranged, transformed, or otherwise modified in a manner requiring 77 | permission under the Copyright and Similar Rights held by the 78 | Licensor. For purposes of this Public License, where the Licensed 79 | Material is a musical work, performance, or sound recording, 80 | Adapted Material is always produced where the Licensed Material is 81 | synched in timed relation with a moving image. 82 | 83 | b. Adapter's License means the license You apply to Your Copyright 84 | and Similar Rights in Your contributions to Adapted Material in 85 | accordance with the terms and conditions of this Public License. 86 | 87 | c. BY-SA Compatible License means a license listed at 88 | creativecommons.org/compatiblelicenses, approved by Creative 89 | Commons as essentially the equivalent of this Public License. 90 | 91 | d. Copyright and Similar Rights means copyright and/or similar rights 92 | closely related to copyright including, without limitation, 93 | performance, broadcast, sound recording, and Sui Generis Database 94 | Rights, without regard to how the rights are labeled or 95 | categorized. For purposes of this Public License, the rights 96 | specified in Section 2(b)(1)-(2) are not Copyright and Similar 97 | Rights. 98 | 99 | e. Effective Technological Measures means those measures that, in the 100 | absence of proper authority, may not be circumvented under laws 101 | fulfilling obligations under Article 11 of the WIPO Copyright 102 | Treaty adopted on December 20, 1996, and/or similar international 103 | agreements. 104 | 105 | f. Exceptions and Limitations means fair use, fair dealing, and/or 106 | any other exception or limitation to Copyright and Similar Rights 107 | that applies to Your use of the Licensed Material. 108 | 109 | g. License Elements means the license attributes listed in the name 110 | of a Creative Commons Public License. The License Elements of this 111 | Public License are Attribution and ShareAlike. 112 | 113 | h. Licensed Material means the artistic or literary work, database, 114 | or other material to which the Licensor applied this Public 115 | License. 116 | 117 | i. Licensed Rights means the rights granted to You subject to the 118 | terms and conditions of this Public License, which are limited to 119 | all Copyright and Similar Rights that apply to Your use of the 120 | Licensed Material and that the Licensor has authority to license. 121 | 122 | j. Licensor means the individual(s) or entity(ies) granting rights 123 | under this Public License. 124 | 125 | k. Share means to provide material to the public by any means or 126 | process that requires permission under the Licensed Rights, such 127 | as reproduction, public display, public performance, distribution, 128 | dissemination, communication, or importation, and to make material 129 | available to the public including in ways that members of the 130 | public may access the material from a place and at a time 131 | individually chosen by them. 132 | 133 | l. Sui Generis Database Rights means rights other than copyright 134 | resulting from Directive 96/9/EC of the European Parliament and of 135 | the Council of 11 March 1996 on the legal protection of databases, 136 | as amended and/or succeeded, as well as other essentially 137 | equivalent rights anywhere in the world. 138 | 139 | m. You means the individual or entity exercising the Licensed Rights 140 | under this Public License. Your has a corresponding meaning. 141 | 142 | 143 | Section 2 -- Scope. 144 | 145 | a. License grant. 146 | 147 | 1. Subject to the terms and conditions of this Public License, 148 | the Licensor hereby grants You a worldwide, royalty-free, 149 | non-sublicensable, non-exclusive, irrevocable license to 150 | exercise the Licensed Rights in the Licensed Material to: 151 | 152 | a. reproduce and Share the Licensed Material, in whole or 153 | in part; and 154 | 155 | b. produce, reproduce, and Share Adapted Material. 156 | 157 | 2. Exceptions and Limitations. For the avoidance of doubt, where 158 | Exceptions and Limitations apply to Your use, this Public 159 | License does not apply, and You do not need to comply with 160 | its terms and conditions. 161 | 162 | 3. Term. The term of this Public License is specified in Section 163 | 6(a). 164 | 165 | 4. Media and formats; technical modifications allowed. The 166 | Licensor authorizes You to exercise the Licensed Rights in 167 | all media and formats whether now known or hereafter created, 168 | and to make technical modifications necessary to do so. The 169 | Licensor waives and/or agrees not to assert any right or 170 | authority to forbid You from making technical modifications 171 | necessary to exercise the Licensed Rights, including 172 | technical modifications necessary to circumvent Effective 173 | Technological Measures. For purposes of this Public License, 174 | simply making modifications authorized by this Section 2(a) 175 | (4) never produces Adapted Material. 176 | 177 | 5. Downstream recipients. 178 | 179 | a. Offer from the Licensor -- Licensed Material. Every 180 | recipient of the Licensed Material automatically 181 | receives an offer from the Licensor to exercise the 182 | Licensed Rights under the terms and conditions of this 183 | Public License. 184 | 185 | b. Additional offer from the Licensor -- Adapted Material. 186 | Every recipient of Adapted Material from You 187 | automatically receives an offer from the Licensor to 188 | exercise the Licensed Rights in the Adapted Material 189 | under the conditions of the Adapter's License You apply. 190 | 191 | c. No downstream restrictions. You may not offer or impose 192 | any additional or different terms or conditions on, or 193 | apply any Effective Technological Measures to, the 194 | Licensed Material if doing so restricts exercise of the 195 | Licensed Rights by any recipient of the Licensed 196 | Material. 197 | 198 | 6. No endorsement. Nothing in this Public License constitutes or 199 | may be construed as permission to assert or imply that You 200 | are, or that Your use of the Licensed Material is, connected 201 | with, or sponsored, endorsed, or granted official status by, 202 | the Licensor or others designated to receive attribution as 203 | provided in Section 3(a)(1)(A)(i). 204 | 205 | b. Other rights. 206 | 207 | 1. Moral rights, such as the right of integrity, are not 208 | licensed under this Public License, nor are publicity, 209 | privacy, and/or other similar personality rights; however, to 210 | the extent possible, the Licensor waives and/or agrees not to 211 | assert any such rights held by the Licensor to the limited 212 | extent necessary to allow You to exercise the Licensed 213 | Rights, but not otherwise. 214 | 215 | 2. Patent and trademark rights are not licensed under this 216 | Public License. 217 | 218 | 3. To the extent possible, the Licensor waives any right to 219 | collect royalties from You for the exercise of the Licensed 220 | Rights, whether directly or through a collecting society 221 | under any voluntary or waivable statutory or compulsory 222 | licensing scheme. In all other cases the Licensor expressly 223 | reserves any right to collect such royalties. 224 | 225 | 226 | Section 3 -- License Conditions. 227 | 228 | Your exercise of the Licensed Rights is expressly made subject to the 229 | following conditions. 230 | 231 | a. Attribution. 232 | 233 | 1. If You Share the Licensed Material (including in modified 234 | form), You must: 235 | 236 | a. retain the following if it is supplied by the Licensor 237 | with the Licensed Material: 238 | 239 | i. identification of the creator(s) of the Licensed 240 | Material and any others designated to receive 241 | attribution, in any reasonable manner requested by 242 | the Licensor (including by pseudonym if 243 | designated); 244 | 245 | ii. a copyright notice; 246 | 247 | iii. a notice that refers to this Public License; 248 | 249 | iv. a notice that refers to the disclaimer of 250 | warranties; 251 | 252 | v. a URI or hyperlink to the Licensed Material to the 253 | extent reasonably practicable; 254 | 255 | b. indicate if You modified the Licensed Material and 256 | retain an indication of any previous modifications; and 257 | 258 | c. indicate the Licensed Material is licensed under this 259 | Public License, and include the text of, or the URI or 260 | hyperlink to, this Public License. 261 | 262 | 2. You may satisfy the conditions in Section 3(a)(1) in any 263 | reasonable manner based on the medium, means, and context in 264 | which You Share the Licensed Material. For example, it may be 265 | reasonable to satisfy the conditions by providing a URI or 266 | hyperlink to a resource that includes the required 267 | information. 268 | 269 | 3. If requested by the Licensor, You must remove any of the 270 | information required by Section 3(a)(1)(A) to the extent 271 | reasonably practicable. 272 | 273 | b. ShareAlike. 274 | 275 | In addition to the conditions in Section 3(a), if You Share 276 | Adapted Material You produce, the following conditions also apply. 277 | 278 | 1. The Adapter's License You apply must be a Creative Commons 279 | license with the same License Elements, this version or 280 | later, or a BY-SA Compatible License. 281 | 282 | 2. You must include the text of, or the URI or hyperlink to, the 283 | Adapter's License You apply. You may satisfy this condition 284 | in any reasonable manner based on the medium, means, and 285 | context in which You Share Adapted Material. 286 | 287 | 3. You may not offer or impose any additional or different terms 288 | or conditions on, or apply any Effective Technological 289 | Measures to, Adapted Material that restrict exercise of the 290 | rights granted under the Adapter's License You apply. 291 | 292 | 293 | Section 4 -- Sui Generis Database Rights. 294 | 295 | Where the Licensed Rights include Sui Generis Database Rights that 296 | apply to Your use of the Licensed Material: 297 | 298 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right 299 | to extract, reuse, reproduce, and Share all or a substantial 300 | portion of the contents of the database; 301 | 302 | b. if You include all or a substantial portion of the database 303 | contents in a database in which You have Sui Generis Database 304 | Rights, then the database in which You have Sui Generis Database 305 | Rights (but not its individual contents) is Adapted Material, 306 | 307 | including for purposes of Section 3(b); and 308 | c. You must comply with the conditions in Section 3(a) if You Share 309 | all or a substantial portion of the contents of the database. 310 | 311 | For the avoidance of doubt, this Section 4 supplements and does not 312 | replace Your obligations under this Public License where the Licensed 313 | Rights include other Copyright and Similar Rights. 314 | 315 | 316 | Section 5 -- Disclaimer of Warranties and Limitation of Liability. 317 | 318 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE 319 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS 320 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF 321 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, 322 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, 323 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR 324 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, 325 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT 326 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT 327 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. 328 | 329 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE 330 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, 331 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, 332 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, 333 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR 334 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN 335 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR 336 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR 337 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. 338 | 339 | c. The disclaimer of warranties and limitation of liability provided 340 | above shall be interpreted in a manner that, to the extent 341 | possible, most closely approximates an absolute disclaimer and 342 | waiver of all liability. 343 | 344 | 345 | Section 6 -- Term and Termination. 346 | 347 | a. This Public License applies for the term of the Copyright and 348 | Similar Rights licensed here. However, if You fail to comply with 349 | this Public License, then Your rights under this Public License 350 | terminate automatically. 351 | 352 | b. Where Your right to use the Licensed Material has terminated under 353 | Section 6(a), it reinstates: 354 | 355 | 1. automatically as of the date the violation is cured, provided 356 | it is cured within 30 days of Your discovery of the 357 | violation; or 358 | 359 | 2. upon express reinstatement by the Licensor. 360 | 361 | For the avoidance of doubt, this Section 6(b) does not affect any 362 | right the Licensor may have to seek remedies for Your violations 363 | of this Public License. 364 | 365 | c. For the avoidance of doubt, the Licensor may also offer the 366 | Licensed Material under separate terms or conditions or stop 367 | distributing the Licensed Material at any time; however, doing so 368 | will not terminate this Public License. 369 | 370 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public 371 | License. 372 | 373 | 374 | Section 7 -- Other Terms and Conditions. 375 | 376 | a. The Licensor shall not be bound by any additional or different 377 | terms or conditions communicated by You unless expressly agreed. 378 | 379 | b. Any arrangements, understandings, or agreements regarding the 380 | Licensed Material not stated herein are separate from and 381 | independent of the terms and conditions of this Public License. 382 | 383 | 384 | Section 8 -- Interpretation. 385 | 386 | a. For the avoidance of doubt, this Public License does not, and 387 | shall not be interpreted to, reduce, limit, restrict, or impose 388 | conditions on any use of the Licensed Material that could lawfully 389 | be made without permission under this Public License. 390 | 391 | b. To the extent possible, if any provision of this Public License is 392 | deemed unenforceable, it shall be automatically reformed to the 393 | minimum extent necessary to make it enforceable. If the provision 394 | cannot be reformed, it shall be severed from this Public License 395 | without affecting the enforceability of the remaining terms and 396 | conditions. 397 | 398 | c. No term or condition of this Public License will be waived and no 399 | failure to comply consented to unless expressly agreed to by the 400 | Licensor. 401 | 402 | d. Nothing in this Public License constitutes or may be interpreted 403 | as a limitation upon, or waiver of, any privileges and immunities 404 | that apply to the Licensor or You, including from the legal 405 | processes of any jurisdiction or authority. 406 | 407 | 408 | ======================================================================= 409 | 410 | Creative Commons is not a party to its public 411 | licenses. Notwithstanding, Creative Commons may elect to apply one of 412 | its public licenses to material it publishes and in those instances 413 | will be considered the “Licensor.” The text of the Creative Commons 414 | public licenses is dedicated to the public domain under the CC0 Public 415 | Domain Dedication. Except for the limited purpose of indicating that 416 | material is shared under a Creative Commons public license or as 417 | otherwise permitted by the Creative Commons policies published at 418 | creativecommons.org/policies, Creative Commons does not authorize the 419 | use of the trademark "Creative Commons" or any other trademark or logo 420 | of Creative Commons without its prior written consent including, 421 | without limitation, in connection with any unauthorized modifications 422 | to any of its public licenses or any other arrangements, 423 | understandings, or agreements concerning use of licensed material. For 424 | the avoidance of doubt, this paragraph does not form part of the 425 | public licenses. 426 | 427 | Creative Commons may be contacted at creativecommons.org. 428 | 429 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [中文文档](https://bbs.iobroker.cn/t/topic/882) 2 | 3 | # z2m hardware module 4 | 5 | This is hardware module for [iobroker.zigbee](https://github.com/ioBroker/ioBroker.zigbee) and [zigbee2mqtt](https://github.com/Koenkk/zigbee2mqtt) or [Zigbee to Tasmota](https://github.com/arendst/Tasmota/wiki/Zigbee). 6 | If you can speak Chinese and be interested with this project, please look at this [post](https://bbs.iobroker.cn/t/topic/882/33) in [ioBroker China BBS](https://bbs.iobroker.cn/) 7 | 8 | ## **V2P1 version is ready to ship** 9 | 10 | ## What's the difference 11 | 12 | - Use [E18-MS1PA1-IPX](http://www.ebyte.com/en/product-view-news.aspx?id=123) zigbee module. 20dBm power can make sure zigbee net work signal is strong. 13 | - Add an ESP8266 module. Give you another option that can connect zigbee module though wifi-to-serial (I was using this [project](https://github.com/smarthomefans/ESP32-Serial-Bridge)). 14 | If your machine running smarthome platform, such as ioBroker or homeassistant, is put in a hidden corner, for better signal coverage, you can put your zigbee module in some where else. 15 | - ESP8266 connected to E18 firmware download pins, give you a chance that can update E18 though ESP8266, no need to use CC-DEBUG. 16 | - There will be 4 options for different TTY connection: 17 | - USB TTY <==> ESP 8266 TTY. This option is used for download firmware for E18. 18 | - USB TTY <==> E18 TTY. If you can connect your module though USB wire, this is more stable. 19 | - USB TTY <==> ESP 8266 debug port. ESP 8266 TTY <==> E18 TTY. Connect though wifi, and you can capture debug infomation though USB TTY. 20 | - ESP 8266 TTY <==> E18 TTY. Connect though TTY. 21 | 22 | ## Hardware module images 23 | 24 | ![top view](images/front_hw.jpeg) 25 | 26 | ## 3D cover 27 | 28 | ![cave](images/3Dfinal.jpg) 29 | 30 | ## [SCH](https://github.com/smarthomefans/z2m_partner/raw/master/project/z2m_partner.pdf) preview 31 | ![sch view](images/sch_v2p1.png) 32 | 33 | ## PCB preview 34 | 35 | ![top view](images/top_view.png) 36 | ![bottom view](images/bottom_view.png) 37 | 38 | ## BOM list 39 | [BOM](https://github.com/smarthomefans/z2m_partner/blob/master/documents/bom.md) can get from here. 40 | 41 | ## Thanks to 42 | 43 | - [modkam](https://modkam.ru/), [kirovilya](https://github.com/kirovilya), [Koenkk](https://github.com/Koenkk). 44 | -------------------------------------------------------------------------------- /README_zh.md: -------------------------------------------------------------------------------- 1 | # z2m zigbee网关 2 | 3 | 此项目是一个开源zigbee网关项目, 所有的硬件和软件都会开放给大家使用. 请大家遵守[CC-BY-SA-4.0](https://github.com/smarthomefans/z2m_partner/blob/master/CC-BY-SA-4.0)协议. 4 | 5 | 此硬件模组可以结合[iobroker.zigbee](https://github.com/ioBroker/ioBroker.zigbee)项目, [zigbee2mqtt](https://github.com/Koenkk/zigbee2mqtt)项目, [Zigbee to Tasmota](https://github.com/arendst/Tasmota/wiki/Zigbee)项目或者其他开源的基于TI CC2530 zigbee SoC的项目使用. 6 | 7 | 其他有关这个项目的内容, 可以从[ioBroker China](https://bbs.iobroker.cn/)论坛的[此帖子](https://bbs.iobroker.cn/thread-361-1-1.html)获得, 欢迎大家来一起玩智能家居. 8 | 9 | ## 声明 10 | 11 | - **此项目还处于早期版本**. 12 | - EDA使用[kicad](http://www.kicad-pcb.org/)开发, 不存在软件版权问题. 13 | - DIY硬件有风险, 请大家注意用电安全. 如有风险, 后果自负. 14 | 15 | ## 项目特点 16 | 17 | - 使用[E18-MS1PA1-IPX](http://www.ebyte.com/en/product-view-news.aspx?id=123) zigbee模组, 模组使用CC2592PA, 发射功率可以达到21dBm. 也可以使用[E18-2G4Z27SI](http://www.ebyte.com/en/product-view-news.aspx?id=522)替换pin2pin兼容的[E18-MS1PA1-IPX](http://www.ebyte.com/en/product-view-news.aspx?id=123)模组, 如何设置和实测信号发射功率请参考[此链接](https://github.com/smarthomefans/z2m_partner/blob/master/documents/signal.md). 18 | - 模块自带ESP8266模组. 可以通过WiFi转串口接入智能家居系统, 不再受到主机摆放位置的约束而导致信号覆盖差. 而且可以配合使用[Zigbee to Tasmota](https://github.com/arendst/Tasmota/wiki/Zigbee)项目, 完全不需要上位机, 自己本身就是一个zigbee-wifi网关. 19 | - ESP8266模组和E18模组的CC-DEBUG程序下载引脚连接, 可以通过[CCLib](https://github.com/s-hadinger/CCLib)项目, 直接给E18 zigbee模组下载固件, 不需要另外购买CC-DEBUG在线仿真器. 20 | - 可以通过拨码开关配置多种串口连接方式: 21 | - USB TTY <==> ESP 8266 TTY. 用于ESP模组和Zigbee模组下载固件. 22 | - USB TTY <==> E18 TTY. USB直连Zigbee模组, 上位机配置更加简单, 稳定性更强. 23 | - ESP 8266 TTY <==> E18 TTY. Connect though TTY. ESP模组和Zigbee模组对接, 可以刷WiFi串口固件, 实现WiFi接入上位机智能家居系统, 具体方法参考[此链接](#%e5%88%b7%e6%9c%ba%e6%95%99%e7%a8%8b). 或者直接配合[Zigbee to Tasmota](https://github.com/arendst/Tasmota/wiki/Zigbee)项目做独立的Zigbee网关. 24 | - USB TTY <==> ESP 8266 debug port. ESP 8266 TTY <==> E18 TTY. 和上一种连接方式一样, 多增加了一个debug串口. 25 | - 使用USB **Type-C**接口. 紧跟时代潮流. 26 | - 不管你怎么看, 我认为这个比USB dongle要好看几个数量级. 颜值即正义. 27 | 28 | ## 硬件图片 29 | 30 | ![top view](https://raw.githubusercontent.com/smarthomefans/z2m_partner/master/images/front_hw.png) 31 | ![bottom view](https://raw.githubusercontent.com/smarthomefans/z2m_partner/master/images/back_hw.png) 32 | 33 | ## 3D打印外壳 34 | 35 | ![cave](https://raw.githubusercontent.com/smarthomefans/z2m_partner/master/images/3Dfinal.jpg) 36 | 37 | ## PCB预览 38 | 39 | ![top view](https://raw.githubusercontent.com/smarthomefans/z2m_partner/master/images/top_view.png) 40 | 41 | ![bottom view](https://raw.githubusercontent.com/smarthomefans/z2m_partner/master/images/bottom_view.png) 42 | 43 | ## 刷机教程 44 | 45 | ### 准备材料 46 | 47 | - windows电脑一台 48 | - usb typeC数据线一条(数据线, 别弄一个充电线过来) 49 | - z2m网关硬件V01版本一个, 将USB串口配置到ESP模块上. 请[参考](https://github.com/smarthomefans/z2m_partner/blob/master/documents/tty.md). 50 | - 刷机所需要的[固件](https://github.com/smarthomefans/z2m_partner/archive/master.zip). [源码](https://github.com/smarthomefans/z2m_partner/tree/master/firmware/esp)也在本项目中. 51 | - 专门为此项目开发的[刷机工具](https://github.com/smarthomefans/esphome-flasher/releases/download/0.1.0/ESPHome-Flasher.exe) 52 | - 空闲的**30**分钟(不夸张, 真的很久) 53 | 54 | ### 刷机过程 55 | 56 | 1. 打开刷机工具, 选择固件, 配置个人的wifi, 设备hostname以及tcp串口的串口号. (MQTT相关的信息还没有测试). 57 | ![set_info](images/flash/info.png) 58 | 1. **按住设备的flash按钮, 同时点一下reset按钮**. 让ESP模块进入刷机模式. 59 | 1. 点击刷机工具的**All**图标. 60 | 1. 此阶段正在给ESP模块刷cclib固件, 为下一阶段给zigbee模块刷机做准备(用时大约30秒). 61 | 1. 注意console界面, 出现`Please press reset button`的5秒倒计时时, 要按一下模块的reset按钮. 62 | 1. 接下来程序将给zigbee刷固件, 耗时**20**分钟!!!!(该喝茶, 该买咖啡买咖啡, 注意到点回来就行) 63 | 1. 刷完zigbee固件后, 需要再次让ESP模块进入刷机模式, **按住设备的flash按钮, 同时点一下reset按钮**. 刷ESP wifi串口固件(用时约30秒). 64 | 1. 刷完后还需要让ESP模块进入刷机模式, **按住设备的flash按钮, 同时点一下reset按钮**. 刷WiFi等配置信息(用时5秒). 65 | 66 | ### 注意事项 67 | 68 | - 因为V01版本的ESP刷机模式做的不是很好, 还需要在特定时间手动按按钮, 所以一定要熟悉整个流程, 在关键时刻出手. 如果刷机失败, 拔掉USB线, 从头来过. (V02版本硬件应该会做到自动化). 69 | - Zigbee刷机真的要很长时间, 也可以用TI的SBL工具刷机. 70 | - 用刷机工具刷机, Zigbee固件要选择**hex**后缀的固件. 使用TI SBL工具刷机才使用**bin**后缀的固件. 71 | - Zigbee固件CC2530ZNP-SB.hex是SBL的bootloader. normal_21db文件夹下面是normal模式的固件(推荐就用这个吧, 小米设备支持更好). source_routing_21db文件夹下面是支持source_routing的固件(这个功能小米的设备支持不好, 总有很多错误log). 72 | 73 | ### 刷机视频 74 | 75 | 可以从[这里]()看一下刷机视频, 熟悉一下操作流程. 76 | 77 | ## 改版计划 78 | 79 | - [x] USB串口芯片自动控制ESP flash和reset引脚, 无需再按键. 80 | - [x] LED灯交给ESP芯片控制, 可调节开关和显示效果. 81 | - [x] 优化拨码开关的丝印提示. 82 | - 可能更新CC2538模组(30%可能性吧). 83 | 84 | ## 致谢 85 | 86 | - 各位大佬[modkam](https://modkam.ru/), [kirovilya](https://github.com/kirovilya), [Koenkk](https://github.com/Koenkk). 87 | - 小F, 帮忙设计“碉堡”的外壳. 88 | - 萝卜哥, 花神以及热爱智能家居的每一位. 89 | 90 | 如果您使用了本项目并且感觉不错, 请打赏一杯咖啡钱吧~ 91 | ![wechat](https://raw.githubusercontent.com/smarthomefans/z2m_partner/master/images/pay/wechat.png) 92 | ![alipay](https://raw.githubusercontent.com/smarthomefans/z2m_partner/master/images/pay/alipay.png) 93 | -------------------------------------------------------------------------------- /datasheets/1811131825_Korean-Hroparts-Elec-TYPE-C-31-M-12_C165948.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/datasheets/1811131825_Korean-Hroparts-Elec-TYPE-C-31-M-12_C165948.pdf -------------------------------------------------------------------------------- /datasheets/74LVC1G66.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/datasheets/74LVC1G66.pdf -------------------------------------------------------------------------------- /datasheets/C181158_S8050_2018-01-31.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/datasheets/C181158_S8050_2018-01-31.pdf -------------------------------------------------------------------------------- /datasheets/CH340DS1.PDF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/datasheets/CH340DS1.PDF -------------------------------------------------------------------------------- /datasheets/CSTCE12M0G52-R0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/datasheets/CSTCE12M0G52-R0.pdf -------------------------------------------------------------------------------- /datasheets/E18-MS1PA1-IPX_UserManual-H_CN_v1.1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/datasheets/E18-MS1PA1-IPX_UserManual-H_CN_v1.1.pdf -------------------------------------------------------------------------------- /datasheets/E18-MS1PA1-IPX_Usermanual_EN_v1.1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/datasheets/E18-MS1PA1-IPX_Usermanual_EN_v1.1.pdf -------------------------------------------------------------------------------- /datasheets/ESP-WROOM-02D_datasheet_cn.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/datasheets/ESP-WROOM-02D_datasheet_cn.pdf -------------------------------------------------------------------------------- /datasheets/WS2812B_cn.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/datasheets/WS2812B_cn.pdf -------------------------------------------------------------------------------- /datasheets/cd4051b.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/datasheets/cd4051b.pdf -------------------------------------------------------------------------------- /documents/bom.md: -------------------------------------------------------------------------------- 1 | ## BOM单 2 | 3 | ### 做WiFi/USB有线接入的Zigbee网关 4 | 5 | 名称|封装|数值|数量|标号|立创商城货号 6 | ---|---|---|---|---|--- 7 | 贴片钽电容|TypeB|10uF|2|C5, C6|[C128257](https://item.szlcsc.com/139542.html) 8 | 贴片电容|0603|100nF|3|C3, C4, C7|[C149620](https://item.szlcsc.com/160954.html) 9 | 自恢复限流保险|1812|MF-MSMF050|1|F1|[C17313](https://item.szlcsc.com/17998.html) 10 | 贴片电阻|0603|5.1k|2|R1, R2|[C26000](https://item.szlcsc.com/26743.html) 11 | 贴片电阻|0603|10k|8|R3, R4, R5, R7, R9-R12|[C15401](https://item.szlcsc.com/16079.html) 12 | 微动开关|SW_SPST_PTS810|SW_Push|2|SW2, SW3|[C221896](https://item.szlcsc.com/222326.html) 13 | USB串口芯片|SOP16|CH340C|1|U1|[C84681](https://item.szlcsc.com/85852.html) 14 | 模拟开关芯片|SOP16|CD4052B|1|U2|[C6521](https://item.szlcsc.com/6986.html) 15 | Zigbee模块|E18-MS1PA1-IPX|E18-MS1PA1-IPX|1|U3|[C108551](https://item.szlcsc.com/109770.html) 16 | 模拟开关芯片|SOT-353|74LVC1G66|2|U4, U5|[C113518](https://list.szlcsc.com/catalog/488.html) 17 | 低压差线性稳压器|SOT-223-3|1117-33|1|U6|[C369933](https://list.szlcsc.com/catalog/387.html) 18 | WiFi模块|ESP-WROOM-02|ESP-WROOM-02|1|U7|[C81770](https://item.szlcsc.com/82923.html) 19 | SMA转I-PEX|||1||[C403729](https://item.szlcsc.com/389816.html) 20 | TypeC座|||1||[C165948](https://item.szlcsc.com/177331.html) 21 | 三极管|SOT-23|S8050|2|Q1,Q2|[C181158](https://item.szlcsc.com/192555.html) 22 | 胶棒天线||2.4G|1||[C381198](https://item.szlcsc.com/353456.html) 23 | 24 | 参考价格来自立创商城. 加上PCB成本, 总计成本约**68.236**元. -------------------------------------------------------------------------------- /documents/signal.md: -------------------------------------------------------------------------------- 1 | # E18系列模组信号测量结果 2 | 3 | 我使用频谱仪实际测量了不同的固件情况下, E18两款模组[E18-MS1PA1-IPX](http://www.ebyte.com/en/product-view-news.aspx?id=123)和[E18-2G4Z27SI](http://www.ebyte.com/en/product-view-news.aspx?id=522)发射时实际功率值. 4 | 5 | 在[Koenkk zigbee2mqtt](https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_Home_1.2)使用的修订版ZNP固件中, 默认提供的CC2530+CC2592固件, 设置TX发射功率为[TX_PWR_PLUS_19](https://github.com/Koenkk/Z-Stack-firmware/blob/master/coordinator/Z-Stack_Home_1.2/firmware.patch#L328). 但是CC2592的手册说明此PA是可以21dBm发射的. 6 | 7 | 我发现TI源码中, 设置Tx发射功率的enum数据类型最大只定义到了19dBm, 揣测可能Koenkk就是使用了默认的最大值, 而没有根据不同PA进行设置. 8 | 9 | 我修改ZNP源码并编译, 得到了不同情况下的发射信号功率图. 10 | 11 | ## 默认固件 12 | 13 | [E18-MS1PA1-IPX](http://www.ebyte.com/en/product-view-news.aspx?id=123)和[E18-2G4Z27SI](http://www.ebyte.com/en/product-view-news.aspx?id=522)情况一样. 实测发射功率为14.202dBm. 14 | ![](https://raw.githubusercontent.com/smarthomefans/z2m_partner/master/images/signal/14db.png) 15 | 16 | ## 修改21dBm 17 | 18 | [E18-MS1PA1-IPX](http://www.ebyte.com/en/product-view-news.aspx?id=123)模组, 设置发射功率为2592最大功率21dBm. 代码修改如下: 19 | 20 | ```C 21 | - ZMacSetTransmitPower(TX_PWR_PLUS_19); 22 | + ZMacSetTransmitPower(21); 23 | ``` 24 | 25 | 实测发射功率18.495dBm. 26 | ![](https://raw.githubusercontent.com/smarthomefans/z2m_partner/master/images/signal/18db.png) 27 | 28 | ## 修改27dBm 29 | 30 | [E18-2G4Z27SI](http://www.ebyte.com/en/product-view-news.aspx?id=522)模组, 设置模组最大功率27dBm. 代码修改如下: 31 | 32 | ```C 33 | - ZMacSetTransmitPower(TX_PWR_PLUS_19); 34 | + ZMacSetTransmitPower(27); 35 | ``` 36 | 37 | 实测发射功率26.809dBm. 38 | ![](https://raw.githubusercontent.com/smarthomefans/z2m_partner/master/images/signal/26db.png) 39 | 40 | ## 总结 41 | 42 | 从频谱仪的实测结果来看, 要达到最大发射功率的话, 必须要修改固件源码才行. 我并不是专业硬件人员, 对于这个结果, 我又两点疑问: 43 | 44 | 1. 最大发射功率情况下, 明显能看到谐波的毛刺, 这个毛刺会不会对数据有干扰? 45 | 2. 修改的都是最大发射功率, 但是实际使用时, zigbee传感器会向网关发数据, 这时候网关是接收状态. 我们没办法修改小米等zigbee传感器, 是不是在这个情况下, 只增大网关的发射功率, 对双向传输的zigbee协议, 是不是太大帮助? 46 | 47 | 如果有专业人士可以帮忙解答, 麻烦提issue回答一下, 先表感谢. 48 | -------------------------------------------------------------------------------- /documents/tty.md: -------------------------------------------------------------------------------- 1 | # Z2M USB串口复用控制 2 | 3 | ## V01版本 4 | 5 | ![switchv01](../images/ttyv01.png) 6 | 7 | ### 开关名称和状态定义 8 | 9 | - 定义开关为上、下两个开关. 10 | - 开关分别有左、右两种状态. 11 | 12 | (就是别看板子上的丝印了) 13 | 14 | ### 工作模式对照表 15 | 16 | -|上左|上右 17 | ---|---|--- 18 | 下左|ESP连Zigbee, USB串口没有输出|ESP连Zigbee, USB串口输出调试信息 19 | 下右|USB串口连接Zigbee|USB串口连接ESP 20 | 21 | ## V02版本(未测试) 22 | 23 | 此版本目的是要不需要用户控制, 完全用ESP模块来控制串口复用状态. 24 | 所以, 请不焊接SW1, R13, R14, R3, R4. 25 | 如果焊接了SW1, 也别焊接R3, R4, 并且保持SW1的两个开关都处于左测. 26 | -------------------------------------------------------------------------------- /firmware/bin/espFW/cclib.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/firmware/bin/espFW/cclib.bin -------------------------------------------------------------------------------- /firmware/bin/espFW/ser2net.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/firmware/bin/espFW/ser2net.bin -------------------------------------------------------------------------------- /firmware/bin/zigbeeFW/CC2530ZNP-SB.hex: -------------------------------------------------------------------------------- 1 | :020000040000FA 2 | :100000000212F6022003FFFFFFFFFF02200BFFFF9B 3 | :10001000FFFFFF020E56FFFFFFFFFF02201BFFFF47 4 | :10002000FFFFFF022023FFFFFFFFFF02202BFFFF48 5 | :10003000FFFFFF022033FFFFFFFFFF020E99FFFFCC 6 | :10004000FFFFFF022043FFFFFFFFFF02204BFFFFE8 7 | :10005000FFFFFF022053FFFFFFFFFF02205BFFFFB8 8 | :10006000FFFFFF022063FFFFFFFFFF02206BFFFF88 9 | :10007000FFFFFF022073FFFFFFFFFF02207BFFFF58 10 | :10008000FFFFFF022083FFFFFFFFFF02208BFFFF28 11 | :10009000FFFF70DFFFFF040000000002000000C847 12 | :1000A0000300030369A5020269A501000000000026 13 | :1000B00004003273000074F812103D900393E06066 14 | :1000C0001590030274FEF0900304744DF0A37405C0 15 | :1000D000F07A011206877F0102115A74F712103D5F 16 | :1000E00074FF1212627E00801F851882851983E0DA 17 | :1000F00064FE70069003877401F085188285198369 18 | :10010000E0F8900384E068F07C017D00AA18AB1948 19 | :10011000120E118B09EA450970030201E985188264 20 | :10012000851983E064EF70027E07E0C0E0900387EA 21 | :10013000E0F8900385E0FAE82AF8E434001206D7E4 22 | :10014000D0E0F0900387E060A014600E14602A14E1 23 | :10015000603A14605014606680A0900384E4F085D7 24 | :100160001882851983E0900386F0C39480900387FA 25 | :100170004003E4808474028080851882851983E0BE 26 | :10018000900382F090038774030200F9851882853A 27 | :100190001983E0900383F0900386E0601990038751 28 | :1001A00074040200F9900385E004F0F8900386E0FF 29 | :1001B0006860030200FA90038774050200F9900357 30 | :1001C00085E4F0900387F0900384E0F88518828539 31 | :1001D0001983E06860030200FA900382E0644D60D6 32 | :1001E000030200FA12031E8002EEF9740112122EAD 33 | :1001F0007F0202115A74F712103D74FB121262EA68 34 | :10020000FEEBFF75080475090078081212C6740227 35 | :100210001212DF7A907B007904120EBA7402121265 36 | :100220002E120679121330E0687003A3E069701291 37 | :10023000851882851983E0F47003A3E0F46003025B 38 | :1002400002FE74041212D71206E38A088B09A8086A 39 | :10025000A9097402121330E8F0A3E9F07404121330 40 | :1002600030E0600879011200B60203178518828514 41 | :100270001983E0687003A3E0697076851882851998 42 | :1002800083E0F47003A3E0F4701974021213307465 43 | :1002900010F0A37420F08518828519837410F0A3E0 44 | :1002A0007420F075080175090078081212C67402EE 45 | :1002B0001212DF7A247B08120F3E740212122E757E 46 | :1002C000080478081212C674021212DF7A907B00BA 47 | :1002D0007904120EBA740212122E12067912133019 48 | :1002E000E0687003A3E069700479028006790480F5 49 | :1002F0000279031200B68E828F83741E80058E826F 50 | :100300008F83E4F0120679121330E0687003A3E0E3 51 | :1003100069700479018002790074050201ED74EBC3 52 | :1003200012103D74F8121262900307E0FA9003066F 53 | :10033000E0FBFCEAF8E4C8F9EC28FEE93408FF75B4 54 | :100340001001750D00750C068E088F09740278086F 55 | :1003500012128DC39508F8E49509F9740228F50E78 56 | :10036000740339F50FE50E2497F514E50F3420F5E5 57 | :1003700015EE2410F508E43FF5098E128F13740969 58 | :1003800078121212E785120A900383E01460541465 59 | :1003900070030204601470030204E114601024FE70 60 | :1003A000700302059C14700302064C02065C750C77 61 | :1003B00003794E120C4F90030712066F7402F0A3DC 62 | :1003C000744012066D740812066DF0A3F0751012D9 63 | :1003D000AA10A90D120687A90C740812122E7F0EFE 64 | :1003E00002115A750C04794E120C4FEEF8EF5401BD 65 | :1003F000F9E8497005A90A120FA6C3EE9425EF94F7 66 | :1004000008503FC3E5089424E50994084034E50EFC 67 | :100410002496F8E50F3420F988828983E0701E85E0 68 | :100420001482851583E070159003887401F088822A 69 | :10043000898374A5F08514828515838004900388D0 70 | :10044000E4F075081075090078081212C67C087D62 71 | :1004500003EEFAEFFB120F3E740212122E0203D0CB 72 | :10046000750C05C3E50A947995E04006750D010207 73 | :1004700003D0750E40750F00780E1212C67C097DF0 74 | :10048000038E0E8F0F7402780E12128DE50E54FC3F 75 | :10049000FAE50F5407FBA90A120EBA740212122EC3 76 | :1004A000900307E0A3F0900306E0A3F0751043C3A8 77 | :1004B000EE9425EF940840030203D0C3E50894248A 78 | :1004C000E509940850030203D0900388E07003020A 79 | :1004D00003D0A814A91588828983E4F0A3F002034D 80 | :1004E000D075080475090078081212C67402121239 81 | :1004F000DF7A907B007904120EBA740212122E7405 82 | :1005000002121330E0F8A3E0F9851882851983E020 83 | :10051000687003A3E069851882851983700BE0F485 84 | :100520007003A3E0F470578009E0F47003A3E0F4D3 85 | :10053000700D8518828519837410F0A37420F01251 86 | :100540000679121330E8F0A3E9F075080178081273 87 | :1005500012C674021212DF7A247B08120F3E740254 88 | :1005600012122E75080478081212C674021212DFD5 89 | :100570007A907B007904120EBA740212122E1206BF 90 | :1005800079121330E0687003A3E0697006750C01FE 91 | :100590000203D0750C02750D070203D0900391E0A1 92 | :1005A0006007640260030203D0EAFF7A0179001257 93 | :1005B0000687E060030206408003120D11120D1B36 94 | :1005C000E970F774041213301206617404121330C8 95 | :1005D000780812131485080C85090D850A0E850B01 96 | :1005E0000F9005A2780C1212B37404121330780C19 97 | :1005F000121305E5084509450A450B70CE8EC2E584 98 | :10060000C554E04FF5C5740412133012066174042A 99 | :10061000121330780812131485080C85090D850A09 100 | :100620000E850B0F9005A2780C1212B374041213EE 101 | :1006300030780C121305E5084509450A450B70CEC4 102 | :100640007A01790012068779080203D9EB900393A7 103 | :10065000F070030203D0750C090203D0790602037F 104 | :10066000D9E4F0A37426F0A3E4F0A3F022F0A3E40D 105 | :10067000F0A3F0A3F0A3F0A322851882851983E0EC 106 | :10068000F8A3E0F974022274F812103DEAFE900318 107 | :1006900005E0D2E7F0E9A3F0EE900303F08E0874D2 108 | :1006A000042AFE7A028004E062080AEAF83395E040 109 | :1006B0001206D7EEFCC3E89CE99400A2D265D033C1 110 | :1006C00040E5E508F0740128FC3395E0FD7A027BF3 111 | :1006D00003120E410200D6F9740228F58274033920 112 | :1006E000F5832274E912103D7582007583FE1211A4 113 | :1006F000F58A168B177514007515008A828B83E4B2 114 | :10070000F0900391E07006D2AAD2AF800464027028 115 | :100710000579001200B6750C00750D20750E007578 116 | :100720000F00900391E0600464027015120D111225 117 | :1007300000DBE9F87409686003020813790012000D 118 | :10074000B675080075090278081212C674021212F2 119 | :10075000DF850C08850D09AA08E5095407FB850EFD 120 | :100760000A850F0B740B7808121249A908120EBAE9 121 | :10077000740212122E7E007F009005AAC0828E1095 122 | :10078000EFF5113395E0F512F513850C08850D0989 123 | :10079000850E0A850F0B780879101212A09005A615 124 | :1007A00078081212B3758305D08278081211D650DA 125 | :1007B0001D851882851983E5822EF582E5833FF534 126 | :1007C00083E0F9AA14AB151208428A148B150EEEB9 127 | :1007D00070010FC3EF940240A09005AE780C121286 128 | :1007E000B39005B2780C1211D640030207227900AB 129 | :1007F000AA14AB1512084279001208428B15900317 130 | :1008000091E07004C2AFC2AAEA451570277AA57BB1 131 | :10081000A58021E87003020741740668700302078F 132 | :100820004174076870030207418516828517837437 133 | :1008300001F080BA7582007583021211F57F1002F3 134 | :10084000115A7808EB54806004D2F08002C2F0EABA 135 | :1008500025E0FAEB33FBE9A2E7500474014AFAA25F 136 | :10086000F0500874216AFA74106BFBE9C333F9186D 137 | :10087000E870D12274F812103D780079008022745B 138 | :10088000942EF582E43403F583E08A828B83F09022 139 | :1008900004141209EF4005900414E4F008E8700114 140 | :1008A00009900414E0FEA3E06E6007C3E89CE99D94 141 | :1008B00040CDE8FAE9FB7F0102115A74F712103DAE 142 | :1008C000900498E0FFA3E0FEF8EFC398F895E0F9F4 143 | :1008D000EEC39FE8500B120AD170117800790080A6 144 | :1008E0001B247F500109C39CE99D50EF7A007B00D7 145 | :1008F0008041E004F0D2E908E8700109C3E89CE90E 146 | :100900009D502C8A828B83E0C0E0900499E0FE74B5 147 | :10091000182EF582E43404F583D0E0120AC1900465 148 | :100920009AE4F0900499E0C3947F40C6E480C5E85F 149 | :10093000FAE9FB7F0202115AC082C083C2E9900427 150 | :1009400098E0F8A3E0686017741828F582E434048E 151 | :10095000F583E0F5C1900498120AE84002E4F00241 152 | :100960000D2F74F812103D7800790090051DE0708D 153 | :1009700055A3E0705175F900C28FC284A28340FC78 154 | :10098000A28F4004A28350F8AEF9C28FA283500414 155 | :10099000D2848032EEC0E0E0FE1209E4D0E0F090B4 156 | :1009A000051E120AE840D9E4F080D51209E4E08A75 157 | :1009B000828B83F090051D1209EF400590051DE420 158 | :1009C000F008E870010990051DE0FEA3E06E6007E5 159 | :1009D000C3E89CE99D40D4E8497006E4F090051D09 160 | :1009E000F00208B2749D2EF582E43404F58322E00F 161 | :1009F00004120AC5C394802274F812103D9005A019 162 | :100A0000E0FEF890059FE0FFEEC39FE0500DC39815 163 | :100A1000F895E0F9120AD070188012C398F895E0A2 164 | :100A2000F9E8247F500109C39CE99D4004EC4D7016 165 | :100A3000077A007B00020ABE8A828B83E0F5F9A365 166 | :100A4000AA82AB83780179008008E004F008E8709E 167 | :100A50000109C3E89CE99D50278A828B83E0C0E0AE 168 | :100A60009005A0E0FE741F2EF582E43405F583D0D6 169 | :100A7000E0120AC19005A0E0C3947F40CDE480CC91 170 | :100A8000C28FA28340FCC284A28F4004A28350F88C 171 | :100A900090059F120ADBE0F5F9C28F90059FE0FAFE 172 | :100AA000A3E06A90059F7005120ADB8005120AE830 173 | :100AB0004002E4F0A28350D0D284E8FAE9FB0208B5 174 | :100AC000B6120AC522F08A828B83A3AA82AB832244 175 | :100AD000E824FF18E934FFF9E84922E0FA741F2AF4 176 | :100AE000F582E43405F58322E004F0C39480227497 177 | :100AF000FB121262C2009005CA7808121314900506 178 | :100B0000CA7401F0A3F0A37469F0A374A5F0900572 179 | :100B1000B678081212787004D20080159005BA7861 180 | :100B2000081212786008E59D5418641070030220C2 181 | :100B300000120C75A2005003020BF2AA18AB191296 182 | :100B400001F5E97003020BF2851882851983E0C371 183 | :100B5000943C500CE0F8743CC398FA95E0FB800498 184 | :100B60007A007B00120D34E97003020BF2900391BE 185 | :100B7000E06401700C75F800C2AB539AF7D2EA80BA 186 | :100B80005E79071200B68003120D11120D1BE97079 187 | :100B9000F77401121330E4F0A37426F0A3E4F0A379 188 | :100BA000F07401121330780812131485080C8509AB 189 | :100BB0000D850A0E850B0F9005A2780C1212B374E6 190 | :100BC00001121330780C121305E5084509450A4552 191 | :100BD0000B70CE758600C2AAC28B539AFBC2E990F5 192 | :100BE000000174CDF0022000C2AF75C9AB75C95BBE 193 | :100BF00080FE750800750900750A00750B009003EA 194 | :100C000091E0701BD2AAD2AF79051200B6E0700352 195 | :100C1000120D111200DBE9F8740968700980E97996 196 | :100C20004E120C4F80ED74016870E2E07017120DE7 197 | :100C3000119005BE78081212B39005C278081211FF 198 | :100C4000D650EBC2AAC2AF75C9AB75C95B80FEC0F6 199 | :100C500082C08378109005A1E0C399501575B60F36 200 | :100C6000E5B4A2E750FAE5BBC39940F118E870ED8E 201 | :100C7000E9F0020D2FC082C08353BEFBE59DA2E6C2 202 | :100C800050FA0078F8790100120AD070FA75C6801F 203 | :100C90007480659E70FA43BE049062707408F079A7 204 | :100CA0004A120C4F90000174F5F07403F5D5748965 205 | :100CB000F5D4A2A0E433900391F0A2E05029D284AD 206 | :100CC00053F3F753F3EF53FDF743FD10538FF753EF 207 | :100CD000F7DF43FC2043F10253F5DF75F82043F4BE 208 | :100CE000F0D2FED2AB802853FF3F85FFFF53F1FEC9 209 | :100CF00043F30C53F2F375868075C48090049BE433 210 | :100D0000F0A3F075C2D875C50B75C4024386408048 211 | :100D10001E8003120938A2E940F922C082C08390E4 212 | :100D20000498E0F8A3E0686004790180027900D0BB 213 | :100D300083D0822274F112103D74FF1212627E0081 214 | :100D4000900391E06401706CC2849003927401F08E 215 | :100D50007508388E098E0A8E0B7C017D00AA18ABAF 216 | :100D600019120E118B0DEA450D6018851882851930 217 | :100D700083E06410602DE064EF70088E088E098EA9 218 | :100D80000A8E0B85080C85090D850A0E850B0F90C0 219 | :100D900005A278081212B3E50C450D450E450F70FB 220 | :100DA000347E01900391E064017056D284900392E6 221 | :100DB000E4F08051D2AAD2AF8A088B09E4F50AF593 222 | :100DC0000B9005C6780C1213147808790C120FBD1D 223 | :100DD00079061200B6900391E06003020D59120DDE 224 | :100DE000111200DBE9F8740968700779061200B681 225 | :100DF00080917407686084E8608974066870A480D4 226 | :100E000082C2AFC2AAEEF9740112122E7F0802113B 227 | :100E10005AC082C083900391E07005120874801E4E 228 | :100E2000900392E06015A28F500BE5F98A828B83C4 229 | :100E3000F07A0180027A007B008003120962020DC1 230 | :100E40002FC082C083900391E070051208BB80031D 231 | :100E50001209F8020D2FC0E074F21210A3900001E5 232 | :100E6000E064CD7005122013802AE064F57024E55B 233 | :100E7000C1C28BC0E0900415E0F8749428F582E4B8 234 | :100E80003403F583D0E0F0900415120AE84005E43D 235 | :100E9000F08001007F01021102C0E074F21210A381 236 | :100EA000900001E064CD700512203B800BE064F5FA 237 | :100EB000700512093880010080DA74F512103D893E 238 | :100EC00008740F5508F50A750B00740B780A121296 239 | :100ED0008DEA2400F8EB3480F9E82400E9350BF9B9 240 | :100EE00085C70AA2AFE433F509C2AFE508C4540FC1 241 | :100EF000FAE5C754F84AF5C7740B121330E0FAA3A9 242 | :100F0000E0FB801C88828983E08C828D83F088825C 243 | :100F10008983A3A882A9838C828D83A3AC82AD83AD 244 | :100F2000EAFEEBFFEE24FF1AEF34FFFBEE4F70D426 245 | :100F3000850AC7E509A2E092AF7F0402115A74F74F 246 | :100F400012103DECFEED900389F0EEA3F0A3746265 247 | :100F5000F0A37473F0A3E0541FF07409121330E08F 248 | :100F6000F508A3E0F509E508333354FC90038EF04F 249 | :100F7000740678081212E7E50890038DF090038F4D 250 | :100F80007412F0A37442F075D1FE75D601EA906236 251 | :100F900071F0EBA3F0906270E0D2E1F0E0A2E740E4 252 | :100FA000FB7F0202115AC082C083E9C33390627290 253 | :100FB000F0906270E0D2E0F0D083D082220808087E 254 | :100FC000EAC0E0EBC0E086F0E7A4FA180986F0E793 255 | :100FD000A42AFA180986F0E7A42AFA180986F0E785 256 | :100FE000A42AFA1986F0E7A4FBE5F02AFA19088684 257 | :100FF000F0E7A42BFBE5F03AFA190886F0E7A42BFA 258 | :10100000FBE5F03AFA18180986F0E7A4C5F02BFBC7 259 | :10101000E43AFA1908E7C5F0C6A426F6E5F03BFB6A 260 | :10102000E43AFA1886F0E7A4F6E5F00826F6E43B81 261 | :1010300008F6E43A08F6D0E0FBD0E0FA222518C51D 262 | :1010400082C0E0E51934FFC583C0E0E518C395828E 263 | :1010500024F910AF088583198582188008858319C3 264 | :10106000858218D2AFCEF0A3E520F0A37808E60879 265 | :10107000F0A3DEFAEFF0A3E58124FBF8E608F0A385 266 | :10108000E608F0A30808E608F0A3E608F0A3158137 267 | :101090001581D0E0FED0E0F815811581E8C0E0EEC2 268 | :1010A000C0E022C0D02518C582C0E0E51934FFC5D4 269 | :1010B00083C0E0E518C3958224F310AF0885831937 270 | :1010C0008582188008858319858218D2AFC8F0A35D 271 | :1010D000E9F0A3EAF0A3EBF0A37908E709F0A3D8BD 272 | :1010E000FAECF0A3EDF0A3EEF0A3EFF0A3D0E0F064 273 | :1010F000A3D0E0F0A3D0E0F0A3E520F0A3E5F0F06A 274 | :10110000A322851983851882E0C0E0A3E0F9A3E05B 275 | :10111000FAA3E0FBA37808E0F608A3DFFAE0FCA35B 276 | :10112000E0FDA3E0FEA3E0FFA3E0C0E0A3E0C0E099 277 | :10113000A3E0F5D0A3E0F520A3E0A3F5F010AF08FD 278 | :101140008583198582188008858319858218D2AF16 279 | :10115000D082D083D0E0F8D0E03285198385188220 280 | :10116000E0A3FEE0A3F5207808E0A3F608DFFAE0AC 281 | :10117000A3FFE0A3C0E0E0A3C0E0E0A3C0E0E0A3E1 282 | :10118000C0E010AF08858218858319800885821811 283 | :10119000858319D2AFD083D08222E490030278A154 284 | :1011A00079038002F0A3D8FCD9FA7AA27B059000DB 285 | :1011B0008E782979018015E493A3AD82AE838A826B 286 | :1011C0008B83F0A3AA82AB838D828E83D8E9D9E783 287 | :1011D000120AEF12133AC008C3E096F50808A3E01C 288 | :1011E00096420808A3E096420808A3E096450870D6 289 | :1011F00001D3D00822C5822518C582C583351910B0 290 | :10120000AF07F5198582188007F519858218D2AFC6 291 | :10121000C583222518F58210AF08F518400C151962 292 | :101220008008F51840021519D2AF8519832200C035 293 | :10123000D0251810AF08F518500C05198008F518BE 294 | :1012400050020519D2AFD0D0226016080808C6C3D4 295 | :1012500013C618C613C618C613C618C613C6D5E0DB 296 | :10126000EA22251810AF08F518400C15198008F56A 297 | :101270001840021519D2AF22E066701008A3E0668C 298 | :10128000700A08A3E066700408A3E06622700422D6 299 | :10129000600D18C6C333C608C633C6D5E0F418229D 300 | :1012A000E627F60809E637F60809E637F60809E6FC 301 | :1012B00037F622E026F608A3E036F608A3E036F675 302 | :1012C00008A3E036F62274028000C0E0F404121293 303 | :1012D00013D0E0121323222518FAE43519FB222536 304 | :1012E00018FCE43519FD22600C08C6C313C618C6E5 305 | :1012F00013C6D5E0F42275D00075813F75180275CC 306 | :10130000190302119AE6F008A3E6F008A3E6F00834 307 | :10131000A3E6F022E0F608A3E0F608A3E0F608A3AF 308 | :10132000E0F622CAC0E0E6F0A308DAFAD0E0FA223A 309 | :101330002518F582E43519F5832200000080FBFFB3 310 | :10134000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD 311 | :10135000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D 312 | :10136000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D 313 | :10137000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D 314 | :10138000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D 315 | :10139000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D 316 | :1013A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D 317 | :1013B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D 318 | :1013C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D 319 | :1013D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D 320 | :1013E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D 321 | :1013F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD 322 | :10140000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC 323 | :10141000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC 324 | :10142000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC 325 | :10143000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC 326 | :10144000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC 327 | :10145000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C 328 | :10146000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C 329 | :10147000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C 330 | :10148000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C 331 | :10149000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C 332 | :1014A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C 333 | :1014B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C 334 | :1014C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C 335 | :1014D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C 336 | :1014E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C 337 | :1014F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC 338 | :10150000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB 339 | :10151000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB 340 | :10152000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB 341 | :10153000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB 342 | :10154000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB 343 | :10155000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B 344 | :10156000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B 345 | :10157000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B 346 | :10158000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B 347 | :10159000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B 348 | :1015A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B 349 | :1015B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B 350 | :1015C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B 351 | :1015D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B 352 | :1015E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B 353 | :1015F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB 354 | :10160000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA 355 | :10161000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA 356 | :10162000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA 357 | :10163000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA 358 | :10164000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA 359 | :10165000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A 360 | :10166000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A 361 | :10167000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A 362 | :10168000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A 363 | :10169000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A 364 | :1016A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A 365 | :1016B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A 366 | :1016C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A 367 | :1016D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A 368 | :1016E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A 369 | :1016F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA 370 | :10170000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 371 | :10171000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 372 | :10172000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 373 | :10173000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 374 | :10174000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 375 | :10175000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 376 | :10176000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 377 | :10177000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 378 | :10178000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 379 | :10179000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 380 | :1017A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 381 | :1017B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 382 | :1017C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 383 | :1017D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 384 | :1017E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 385 | :1017F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 386 | :10180000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 387 | :10181000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 388 | :10182000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 389 | :10183000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 390 | :10184000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 391 | :10185000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 392 | :10186000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 393 | :10187000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 394 | :10188000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 395 | :10189000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 396 | :1018A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 397 | :1018B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 398 | :1018C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 399 | :1018D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 400 | :1018E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 401 | :1018F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 402 | :10190000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 403 | :10191000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 404 | :10192000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 405 | :10193000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 406 | :10194000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 407 | :10195000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 408 | :10196000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 409 | :10197000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 410 | :10198000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 411 | :10199000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 412 | :1019A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 413 | :1019B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 414 | :1019C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 415 | :1019D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 416 | :1019E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 417 | :1019F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 418 | :101A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 419 | :101A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 420 | :101A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 421 | :101A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 422 | :101A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 423 | :101A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 424 | :101A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 425 | :101A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 426 | :101A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 427 | :101A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 428 | :101AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 429 | :101AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 430 | :101AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 431 | :101AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 432 | :101AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 433 | :101AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 434 | :101B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 435 | :101B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 436 | :101B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 437 | :101B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 438 | :101B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 439 | :101B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 440 | :101B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 441 | :101B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 442 | :101B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 443 | :101B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 444 | :101BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 445 | :101BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 446 | :101BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 447 | :101BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 448 | :101BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 449 | :101BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 450 | :101C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 451 | :101C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 452 | :101C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 453 | :101C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 454 | :101C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 455 | :101C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 456 | :101C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 457 | :101C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 458 | :101C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 459 | :101C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 460 | :101CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 461 | :101CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 462 | :101CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 463 | :101CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 464 | :101CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 465 | :101CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 466 | :101D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 467 | :101D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 468 | :101D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 469 | :101D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 470 | :101D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 471 | :101D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 472 | :101D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 473 | :101D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 474 | :101D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 475 | :101D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 476 | :101DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 477 | :101DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 478 | :101DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 479 | :101DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 480 | :101DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 481 | :101DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 482 | :101E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 483 | :101E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 484 | :101E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 485 | :101E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 486 | :101E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 487 | :101E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 488 | :101E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 489 | :101E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 490 | :101E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 491 | :101E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 492 | :101EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 493 | :101EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 494 | :101EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 495 | :101ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 496 | :101EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 497 | :101EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 498 | :101F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 499 | :101F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 500 | :101F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 501 | :101F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 502 | :101F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 503 | :101F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 504 | :101F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 505 | :101F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 506 | :101F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 507 | :101F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 508 | :101FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 509 | :101FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 510 | :101FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 511 | :101FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 512 | :101FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 513 | :0A1FF600CA05094338860000000008 514 | :020000040003F7 515 | :01FFF000F020 516 | :04000005000012F6EF 517 | :00000001FF 518 | -------------------------------------------------------------------------------- /firmware/bin/zigbeeFW/normal_21db/CC2530ZNP-Prod.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/firmware/bin/zigbeeFW/normal_21db/CC2530ZNP-Prod.bin -------------------------------------------------------------------------------- /firmware/bin/zigbeeFW/source_routing_21db/CC2530ZNP-Prod.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/firmware/bin/zigbeeFW/source_routing_21db/CC2530ZNP-Prod.bin -------------------------------------------------------------------------------- /firmware/esp/cclib/.gitignore: -------------------------------------------------------------------------------- 1 | ## OS specific ######## 2 | .DS_Store 3 | .fuse_hidden* 4 | 5 | ## Project files ###### 6 | .pio 7 | .pioenvs 8 | .piolibdeps 9 | .clang_complete 10 | .gcc-flags.json 11 | .cache 12 | 13 | # Compiled Object files 14 | *.slo 15 | *.lo 16 | *.o 17 | *.obj 18 | 19 | # Compiled Dynamic libraries 20 | *.so 21 | *.dylib 22 | *.dll 23 | 24 | # Compiled Static libraries 25 | *.lai 26 | *.la 27 | *.a 28 | *.lib 29 | 30 | # Executables 31 | *.exe 32 | *.out 33 | *.app 34 | 35 | *.pyc 36 | 37 | Python/test.py 38 | -------------------------------------------------------------------------------- /firmware/esp/cclib/CCDebugger.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | * CC-Debugger Protocol Library for Arduino 4 | * Copyright (c) 2014-2016 Ioannis Charalampidis 5 | * Copyright (c) 2015 Simon Schulz - github.com/fishpepper 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | #include "CCDebugger.h" 22 | 23 | /** 24 | * Instruction table indices 25 | */ 26 | #define INSTR_VERSION 0 27 | #define I_HALT 1 28 | #define I_RESUME 2 29 | #define I_RD_CONFIG 3 30 | #define I_WR_CONFIG 4 31 | #define I_DEBUG_INSTR_1 5 32 | #define I_DEBUG_INSTR_2 6 33 | #define I_DEBUG_INSTR_3 7 34 | #define I_GET_CHIP_ID 8 35 | #define I_GET_PC 9 36 | #define I_READ_STATUS 10 37 | #define I_STEP_INSTR 11 38 | #define I_CHIP_ERASE 12 39 | 40 | ///////////////////////////////////////////////////////////////////// 41 | ///////////////////////////////////////////////////////////////////// 42 | //// CONSTRUCTOR & CONFIGURATORS //// 43 | ///////////////////////////////////////////////////////////////////// 44 | ///////////////////////////////////////////////////////////////////// 45 | 46 | /** 47 | * Initialize CC Debugger class 48 | */ 49 | CCDebugger::CCDebugger( int pinRST, int pinDC, int pinDD) 50 | { 51 | 52 | // Keep references 53 | this->pinRST = pinRST; 54 | this->pinDC = pinDC; 55 | this->pinDD = pinDD; 56 | 57 | // Prepare CC Pins 58 | pinMode(pinDC, OUTPUT); 59 | pinMode(pinDD, INPUT); 60 | pinMode(pinRST, OUTPUT); 61 | digitalWrite(pinDC, LOW); 62 | digitalWrite(pinDD, LOW); // No pull-up 63 | digitalWrite(pinRST, LOW); 64 | 65 | // Prepare default direction 66 | setDDDirection(INPUT); 67 | 68 | // Default CCDebug instruction set for CC254x 69 | instr[INSTR_VERSION] = 1; 70 | instr[I_HALT] = 0x40; 71 | instr[I_RESUME] = 0x48; 72 | instr[I_RD_CONFIG] = 0x20; 73 | instr[I_WR_CONFIG] = 0x18; 74 | instr[I_DEBUG_INSTR_1] = 0x51; 75 | instr[I_DEBUG_INSTR_2] = 0x52; 76 | instr[I_DEBUG_INSTR_3] = 0x53; 77 | instr[I_GET_CHIP_ID] = 0x68; 78 | instr[I_GET_PC] = 0x28; 79 | instr[I_READ_STATUS] = 0x30; 80 | instr[I_STEP_INSTR] = 0x58; 81 | instr[I_CHIP_ERASE] = 0x10; 82 | 83 | // We are active by default 84 | active = true; 85 | 86 | }; 87 | 88 | 89 | /** 90 | * Activate/Deactivate debugger 91 | */ 92 | void CCDebugger::setActive( boolean on ) 93 | { 94 | 95 | // Reset error flag 96 | errorFlag = CC_ERROR_NONE; 97 | 98 | // Continue only if active 99 | if (on == this->active) return; 100 | this->active = on; 101 | 102 | if (on) { 103 | 104 | // Prepare CC Pins 105 | pinMode(pinDC, OUTPUT); 106 | pinMode(pinDD, INPUT); 107 | pinMode(pinRST, OUTPUT); 108 | digitalWrite(pinDC, LOW); 109 | digitalWrite(pinDD, LOW); // No pull-up 110 | digitalWrite(pinRST, LOW); 111 | 112 | // Default direction is INPUT 113 | setDDDirection(INPUT); 114 | 115 | } else { 116 | 117 | // Before deactivating, exit debug mode 118 | if (inDebugMode) 119 | this->exit(); 120 | 121 | // Put everything in inactive mode 122 | pinMode(pinDC, INPUT); 123 | pinMode(pinDD, INPUT); 124 | pinMode(pinRST, INPUT); 125 | digitalWrite(pinDC, LOW); 126 | digitalWrite(pinDD, LOW); 127 | digitalWrite(pinRST, LOW); 128 | 129 | } 130 | } 131 | 132 | /** 133 | * Return the error flag 134 | */ 135 | byte CCDebugger::error() 136 | { 137 | return errorFlag; 138 | } 139 | 140 | ///////////////////////////////////////////////////////////////////// 141 | ///////////////////////////////////////////////////////////////////// 142 | //// LOW LEVEL FUNCTIONS //// 143 | ///////////////////////////////////////////////////////////////////// 144 | ///////////////////////////////////////////////////////////////////// 145 | 146 | /** 147 | * Delay a particular number of cycles 148 | */ 149 | void cc_delay( unsigned char d ) 150 | { 151 | volatile unsigned char i = d; 152 | while( i-- ); 153 | } 154 | 155 | /** 156 | * Enter debug mode 157 | */ 158 | byte CCDebugger::enter() 159 | { 160 | if (!active) { 161 | errorFlag = CC_ERROR_NOT_ACTIVE; 162 | return 0; 163 | } 164 | // ============= 165 | 166 | // Reset error flag 167 | errorFlag = CC_ERROR_NONE; 168 | 169 | // Enter debug mode 170 | digitalWrite(pinRST, LOW); 171 | cc_delay(200); 172 | digitalWrite(pinDC, HIGH); 173 | cc_delay(3); 174 | digitalWrite(pinDC, LOW); 175 | cc_delay(3); 176 | digitalWrite(pinDC, HIGH); 177 | cc_delay(3); 178 | digitalWrite(pinDC, LOW); 179 | cc_delay(200); 180 | digitalWrite(pinRST, HIGH); 181 | cc_delay(200); 182 | 183 | // We are now in debug mode 184 | inDebugMode = 1; 185 | 186 | // ============= 187 | 188 | // Success 189 | return 0; 190 | 191 | }; 192 | 193 | /** 194 | * Write a byte to the debugger 195 | */ 196 | byte CCDebugger::write( byte data ) 197 | { 198 | if (!active) { 199 | errorFlag = CC_ERROR_NOT_ACTIVE; 200 | return 0; 201 | }; 202 | if (!inDebugMode) { 203 | errorFlag = CC_ERROR_NOT_DEBUGGING; 204 | return 0; 205 | } 206 | // ============= 207 | 208 | byte cnt; 209 | 210 | // Make sure DD is on output 211 | setDDDirection(OUTPUT); 212 | 213 | // Sent bytes 214 | for (cnt = 8; cnt; cnt--) { 215 | 216 | // First put data bit on bus 217 | if (data & 0x80) 218 | digitalWrite(pinDD, HIGH); 219 | else 220 | digitalWrite(pinDD, LOW); 221 | 222 | // Place clock on high (other end reads data) 223 | digitalWrite(pinDC, HIGH); 224 | 225 | // Shift & Delay 226 | data <<= 1; 227 | cc_delay(2); 228 | 229 | // Place clock down 230 | digitalWrite(pinDC, LOW); 231 | cc_delay(2); 232 | 233 | } 234 | 235 | // ============= 236 | return 0; 237 | } 238 | 239 | /** 240 | * Wait until input is ready for reading 241 | */ 242 | byte CCDebugger::switchRead(byte maxWaitCycles) 243 | { 244 | if (!active) { 245 | errorFlag = CC_ERROR_NOT_ACTIVE; 246 | return 0; 247 | } 248 | if (!inDebugMode) { 249 | errorFlag = CC_ERROR_NOT_DEBUGGING; 250 | return 0; 251 | } 252 | // ============= 253 | 254 | byte cnt; 255 | byte didWait = 0; 256 | 257 | // Switch to input 258 | setDDDirection(INPUT); 259 | 260 | // Wait at least 83 ns before checking state t(dir_change) 261 | cc_delay(2); 262 | 263 | // Wait for DD to go LOW (Chip is READY) 264 | while (digitalRead(pinDD) == HIGH) { 265 | 266 | // Do 8 clock cycles 267 | for (cnt = 8; cnt; cnt--) { 268 | digitalWrite(pinDC, HIGH); 269 | cc_delay(2); 270 | digitalWrite(pinDC, LOW); 271 | cc_delay(2); 272 | } 273 | 274 | // Let next function know that we did wait 275 | didWait = 1; 276 | 277 | // Check if we ran out if wait cycles 278 | if (!--maxWaitCycles) { 279 | 280 | // If we are waiting for too long, we have lost the chip, 281 | // so also assume we are out of debugging mode 282 | errorFlag = CC_ERROR_NOT_WIRED; 283 | inDebugMode = 0; 284 | 285 | return 0; 286 | } 287 | } 288 | 289 | // Wait t(sample_wait) 290 | if (didWait) cc_delay(2); 291 | 292 | // ============= 293 | return 0; 294 | } 295 | 296 | /** 297 | * Switch to output 298 | */ 299 | byte CCDebugger::switchWrite() 300 | { 301 | setDDDirection(OUTPUT); 302 | return 0; 303 | } 304 | 305 | /** 306 | * Read an input byte 307 | */ 308 | byte CCDebugger::read() 309 | { 310 | if (!active) { 311 | errorFlag = CC_ERROR_NOT_ACTIVE; 312 | return 0; 313 | } 314 | // ============= 315 | 316 | byte cnt; 317 | byte data = 0; 318 | 319 | // Switch to input 320 | setDDDirection(INPUT); 321 | 322 | // Send 8 clock pulses if we are HIGH 323 | for (cnt = 8; cnt; cnt--) { 324 | digitalWrite(pinDC, HIGH); 325 | cc_delay(2); 326 | 327 | // Shift and read 328 | data <<= 1; 329 | if (digitalRead(pinDD) == HIGH) 330 | data |= 0x01; 331 | 332 | digitalWrite(pinDC, LOW); 333 | cc_delay(2); 334 | } 335 | 336 | // ============= 337 | 338 | return data; 339 | } 340 | 341 | /** 342 | * Switch reset pin 343 | */ 344 | void CCDebugger::setDDDirection( byte direction ) 345 | { 346 | 347 | // Switch direction if changed 348 | if (direction == ddIsOutput) return; 349 | ddIsOutput = direction; 350 | 351 | // Handle new direction 352 | if (ddIsOutput) { 353 | pinMode(pinDD, OUTPUT); // Enable output 354 | digitalWrite(pinDD, LOW); // Switch to low 355 | } else { 356 | pinMode(pinDD, INPUT); // Disable output 357 | digitalWrite(pinDD, LOW); // Don't use output pull-up 358 | } 359 | 360 | } 361 | 362 | ///////////////////////////////////////////////////////////////////// 363 | ///////////////////////////////////////////////////////////////////// 364 | //// HIGH LEVEL FUNCTIONS //// 365 | ///////////////////////////////////////////////////////////////////// 366 | ///////////////////////////////////////////////////////////////////// 367 | 368 | 369 | /** 370 | * Exit from debug mode 371 | */ 372 | byte CCDebugger::exit() 373 | { 374 | if (!active) { 375 | errorFlag = CC_ERROR_NOT_ACTIVE; 376 | return 0; 377 | } 378 | if (!inDebugMode) { 379 | errorFlag = CC_ERROR_NOT_DEBUGGING; 380 | return 0; 381 | } 382 | 383 | byte bAns; 384 | (void)bAns; // avoid warning about variable not being used 385 | 386 | write( instr[I_RESUME] ); // RESUME 387 | switchRead(); 388 | bAns = read(); // debug status 389 | switchWrite(); 390 | 391 | inDebugMode = 0; 392 | 393 | return 0; 394 | } 395 | /** 396 | * Get debug configuration 397 | */ 398 | byte CCDebugger::getConfig() { 399 | if (!active) { 400 | errorFlag = CC_ERROR_NOT_ACTIVE; 401 | return 0; 402 | } 403 | if (!inDebugMode) { 404 | errorFlag = CC_ERROR_NOT_DEBUGGING; 405 | return 0; 406 | } 407 | 408 | byte bAns; 409 | 410 | write( instr[I_RD_CONFIG] ); // RD_CONFIG 411 | switchRead(); 412 | bAns = read(); // Config 413 | switchWrite(); 414 | 415 | return bAns; 416 | } 417 | 418 | /** 419 | * Set debug configuration 420 | */ 421 | byte CCDebugger::setConfig( byte config ) { 422 | if (!active) { 423 | errorFlag = CC_ERROR_NOT_ACTIVE; 424 | return 0; 425 | } 426 | if (!inDebugMode) { 427 | errorFlag = CC_ERROR_NOT_DEBUGGING; 428 | return 0; 429 | } 430 | 431 | byte bAns; 432 | 433 | write( instr[I_WR_CONFIG] ); // WR_CONFIG 434 | write( config ); 435 | switchRead(); 436 | bAns = read(); // Config 437 | switchWrite(); 438 | 439 | return bAns; 440 | } 441 | 442 | /** 443 | * Invoke a debug instruction with 1 opcode 444 | */ 445 | byte CCDebugger::exec( byte oc0 ) 446 | { 447 | if (!active) { 448 | errorFlag = CC_ERROR_NOT_ACTIVE; 449 | return 0; 450 | } 451 | if (!inDebugMode) { 452 | errorFlag = CC_ERROR_NOT_DEBUGGING; 453 | return 0; 454 | } 455 | 456 | byte bAns; 457 | 458 | write( instr[I_DEBUG_INSTR_1] ); // DEBUG_INSTR + 1b 459 | write( oc0 ); 460 | switchRead(); 461 | bAns = read(); // Accumulator 462 | switchWrite(); 463 | 464 | return bAns; 465 | } 466 | 467 | /** 468 | * Invoke a debug instruction with 2 opcodes 469 | */ 470 | byte CCDebugger::exec( byte oc0, byte oc1 ) 471 | { 472 | if (!active) { 473 | errorFlag = CC_ERROR_NOT_ACTIVE; 474 | return 0; 475 | } 476 | if (!inDebugMode) { 477 | errorFlag = CC_ERROR_NOT_DEBUGGING; 478 | return 0; 479 | } 480 | 481 | byte bAns; 482 | 483 | write( instr[I_DEBUG_INSTR_2] ); // DEBUG_INSTR + 2b 484 | write( oc0 ); 485 | write( oc1 ); 486 | switchRead(); 487 | bAns = read(); // Accumulator 488 | switchWrite(); 489 | 490 | return bAns; 491 | } 492 | 493 | /** 494 | * Invoke a debug instruction with 3 opcodes 495 | */ 496 | byte CCDebugger::exec( byte oc0, byte oc1, byte oc2 ) 497 | { 498 | if (!active) { 499 | errorFlag = CC_ERROR_NOT_ACTIVE; 500 | return 0; 501 | } 502 | if (!inDebugMode) { 503 | errorFlag = CC_ERROR_NOT_DEBUGGING; 504 | return 0; 505 | } 506 | 507 | byte bAns; 508 | 509 | write( instr[I_DEBUG_INSTR_3] ); // DEBUG_INSTR + 3b 510 | write( oc0 ); 511 | write( oc1 ); 512 | write( oc2 ); 513 | switchRead(); 514 | bAns = read(); // Accumulator 515 | switchWrite(); 516 | 517 | return bAns; 518 | } 519 | 520 | /** 521 | * Invoke a debug instruction with 1 opcode + 16-bit immediate 522 | */ 523 | byte CCDebugger::execi( byte oc0, unsigned short c0 ) 524 | { 525 | if (!active) { 526 | errorFlag = CC_ERROR_NOT_ACTIVE; 527 | return 0; 528 | } 529 | if (!inDebugMode) { 530 | errorFlag = CC_ERROR_NOT_DEBUGGING; 531 | return 0; 532 | } 533 | 534 | byte bAns; 535 | 536 | write( instr[I_DEBUG_INSTR_3] ); // DEBUG_INSTR + 3b 537 | write( oc0 ); 538 | write( (c0 >> 8) & 0xFF ); 539 | write( c0 & 0xFF ); 540 | switchRead(); 541 | bAns = read(); // Accumulator 542 | switchWrite(); 543 | 544 | return bAns; 545 | } 546 | 547 | /** 548 | * Return chip ID 549 | */ 550 | unsigned short CCDebugger::getChipID() { 551 | if (!active) { 552 | errorFlag = CC_ERROR_NOT_ACTIVE; 553 | return 0; 554 | } 555 | if (!inDebugMode) { 556 | errorFlag = CC_ERROR_NOT_DEBUGGING; 557 | return 0; 558 | } 559 | 560 | unsigned short bAns; 561 | byte bRes; 562 | 563 | write( instr[I_GET_CHIP_ID] ); // GET_CHIP_ID 564 | switchRead(); 565 | bRes = read(); // High order 566 | bAns = bRes << 8; 567 | bRes = read(); // Low order 568 | bAns |= bRes; 569 | switchWrite(); 570 | 571 | return bAns; 572 | } 573 | 574 | /** 575 | * Return PC 576 | */ 577 | unsigned short CCDebugger::getPC() { 578 | if (!active) { 579 | errorFlag = CC_ERROR_NOT_ACTIVE; 580 | return 0; 581 | } 582 | if (!inDebugMode) { 583 | errorFlag = CC_ERROR_NOT_DEBUGGING; 584 | return 0; 585 | } 586 | 587 | unsigned short bAns; 588 | byte bRes; 589 | 590 | write( instr[I_GET_PC] ); // GET_PC 591 | switchRead(); 592 | bRes = read(); // High order 593 | bAns = bRes << 8; 594 | bRes = read(); // Low order 595 | bAns |= bRes; 596 | switchWrite(); 597 | 598 | return bAns; 599 | } 600 | 601 | /** 602 | * Return debug status 603 | */ 604 | byte CCDebugger::getStatus() { 605 | if (!active) { 606 | errorFlag = CC_ERROR_NOT_ACTIVE; 607 | return 0; 608 | } 609 | if (!inDebugMode) { 610 | errorFlag = CC_ERROR_NOT_DEBUGGING; 611 | return 0; 612 | } 613 | 614 | byte bAns; 615 | 616 | write( instr[I_READ_STATUS] ); // READ_STATUS 617 | switchRead(); 618 | bAns = read(); // debug status 619 | switchWrite(); 620 | 621 | return bAns; 622 | } 623 | 624 | /** 625 | * Step instruction 626 | */ 627 | byte CCDebugger::step() { 628 | if (!active) { 629 | errorFlag = CC_ERROR_NOT_ACTIVE; 630 | return 0; 631 | } 632 | if (!inDebugMode) { 633 | errorFlag = CC_ERROR_NOT_DEBUGGING; 634 | return 0; 635 | } 636 | 637 | byte bAns; 638 | 639 | write( instr[I_STEP_INSTR] ); // STEP_INSTR 640 | switchRead(); 641 | bAns = read(); // Accumulator 642 | switchWrite(); 643 | 644 | return bAns; 645 | } 646 | 647 | /** 648 | * resume instruction 649 | */ 650 | byte CCDebugger::resume() { 651 | if (!active) { 652 | errorFlag = CC_ERROR_NOT_ACTIVE; 653 | return 0; 654 | } 655 | if (!inDebugMode) { 656 | errorFlag = CC_ERROR_NOT_DEBUGGING; 657 | return 0; 658 | } 659 | 660 | byte bAns; 661 | 662 | write( instr[I_RESUME] ); //RESUME 663 | switchRead(); 664 | bAns = read(); // Accumulator 665 | switchWrite(); 666 | 667 | return bAns; 668 | } 669 | 670 | /** 671 | * halt instruction 672 | */ 673 | byte CCDebugger::halt() { 674 | if (!active) { 675 | errorFlag = CC_ERROR_NOT_ACTIVE; 676 | return 0; 677 | } 678 | if (!inDebugMode) { 679 | errorFlag = CC_ERROR_NOT_DEBUGGING; 680 | return 0; 681 | } 682 | 683 | byte bAns; 684 | 685 | write( instr[I_HALT] ); //HALT 686 | switchRead(); 687 | bAns = read(); // Accumulator 688 | switchWrite(); 689 | 690 | return bAns; 691 | } 692 | 693 | /** 694 | * Mass-erase all chip configuration & Lock Bits 695 | */ 696 | byte CCDebugger::chipErase() 697 | { 698 | if (!active) { 699 | errorFlag = CC_ERROR_NOT_ACTIVE; 700 | return 0; 701 | }; 702 | if (!inDebugMode) { 703 | errorFlag = CC_ERROR_NOT_DEBUGGING; 704 | return 0; 705 | } 706 | 707 | byte bAns; 708 | 709 | write( instr[I_CHIP_ERASE] ); // CHIP_ERASE 710 | switchRead(); 711 | bAns = read(); // Debug status 712 | switchWrite(); 713 | 714 | return bAns; 715 | } 716 | 717 | /** 718 | * Update the debug instruction table 719 | */ 720 | byte CCDebugger::updateInstructionTable( byte newTable[16] ) 721 | { 722 | // Copy table entries 723 | for (byte i=0; i<16; i++) 724 | instr[i] = newTable[i]; 725 | // Return the new version 726 | return instr[INSTR_VERSION]; 727 | } 728 | 729 | /** 730 | * Get the instruction table version 731 | */ 732 | byte CCDebugger::getInstructionTableVersion() 733 | { 734 | // Return version of instruction table 735 | return instr[INSTR_VERSION]; 736 | } 737 | -------------------------------------------------------------------------------- /firmware/esp/cclib/CCDebugger.h: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | * CC-Debugger Protocol Library for Arduino 4 | * Copyright (c) 2014 Ioannis Charalampidis 5 | * Copyright (c) 2015 Simon Schulz - github.com/fishpepper 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | #ifndef CCDEBUGGER_H 22 | #define CCDEBUGGER_H 23 | 24 | #define CC_ERROR_NONE 0 25 | #define CC_ERROR_NOT_ACTIVE 1 26 | #define CC_ERROR_NOT_DEBUGGING 2 27 | #define CC_ERROR_NOT_WIRED 3 28 | 29 | // For arduino bindings 30 | #include "Arduino.h" 31 | 32 | class CCDebugger { 33 | public: 34 | 35 | //////////////////////////// 36 | // Configuration 37 | //////////////////////////// 38 | 39 | /** 40 | * Initialize CC Debugger class 41 | */ 42 | CCDebugger( int pinRST, int pinDC, int pinDD); 43 | 44 | /** 45 | * Activate/deactivate debugger 46 | */ 47 | void setActive( boolean on ); 48 | 49 | /** 50 | * Return the error flag 51 | */ 52 | byte error(); 53 | 54 | //////////////////////////// 55 | // High-Level interaction 56 | //////////////////////////// 57 | 58 | /** 59 | * Enter debug mode 60 | */ 61 | byte enter(); 62 | 63 | /** 64 | * Exit from debug mode 65 | */ 66 | byte exit(); 67 | 68 | /** 69 | * Execute a CPU instructuion 70 | */ 71 | byte exec( byte oc0 ); 72 | byte exec( byte oc0, byte oc1 ); 73 | byte exec( byte oc0, byte oc1, byte oc2 ); 74 | byte execi( byte oc0, unsigned short c0 ); 75 | 76 | /** 77 | * Return chip ID 78 | */ 79 | unsigned short getChipID(); 80 | 81 | /** 82 | * Return PC 83 | */ 84 | unsigned short getPC(); 85 | 86 | /** 87 | * Return debug status 88 | */ 89 | byte getStatus(); 90 | 91 | /** 92 | * resume program exec 93 | */ 94 | byte resume(); 95 | 96 | /** 97 | * halt program exec 98 | */ 99 | byte halt(); 100 | 101 | /** 102 | * Step a single instruction 103 | */ 104 | byte step(); 105 | 106 | /** 107 | * Get debug configuration 108 | */ 109 | byte getConfig(); 110 | 111 | /** 112 | * Set debug configuration 113 | */ 114 | byte setConfig( byte config ); 115 | 116 | /** 117 | * Massive erasure on the chip 118 | */ 119 | byte chipErase(); 120 | 121 | //////////////////////////// 122 | // Low-level interaction 123 | //////////////////////////// 124 | 125 | /** 126 | * Write to the debugger 127 | */ 128 | byte write( byte data ); 129 | 130 | /** 131 | * Wait until we are ready to read & Switch to read mode 132 | */ 133 | byte switchRead( byte maxWaitCycles = 255 ); 134 | 135 | /** 136 | * Switch to write mode 137 | */ 138 | byte switchWrite(); 139 | 140 | /** 141 | * Read from the debugger 142 | */ 143 | byte read(); 144 | 145 | /** 146 | * Update the debug instruction table 147 | */ 148 | byte updateInstructionTable( byte newTable[16] ); 149 | 150 | /** 151 | * Get the instruction table version 152 | */ 153 | byte getInstructionTableVersion(); 154 | 155 | 156 | private: 157 | 158 | //////////////////////////// 159 | // Private/Helper parts 160 | //////////////////////////// 161 | 162 | /** 163 | * Switch reset pin 164 | */ 165 | void setDDDirection( byte direction ); 166 | 167 | /** 168 | * Software-overridable instruction table that can be used 169 | * for supporting other CCDebug-Compatible chips purely by software 170 | */ 171 | byte instr[16]; 172 | 173 | /** 174 | * Local properties 175 | */ 176 | int pinRST; 177 | int pinDC; 178 | int pinDD; 179 | byte errorFlag; 180 | byte ddIsOutput; 181 | byte inDebugMode; 182 | boolean active; 183 | 184 | }; 185 | 186 | #endif 187 | -------------------------------------------------------------------------------- /firmware/esp/cclib/CCLib_proxy.ino: -------------------------------------------------------------------------------- 1 | /* 2 | /////////////////////////////////////////////////////////////////////////////// 3 | This example demonstrates the use of the CCDebugger class from CCLib. 4 | 5 | This is the firmware you must flash in your Wemos D1 Mini if you want to use 6 | the python library that comes with this project. 7 | 8 | /////////////////////////////////////////////////////////////////////////////// 9 | (C) Copyright 2014, Ioannis Charalampidis - Licensed under GNU/GPLv3 License. 10 | (C) Copyright 2015, Simon Schulz - github.com/fishpepper 11 | /////////////////////////////////////////////////////////////////////////////// 12 | */ 13 | 14 | //////////////////////////////////////// 15 | //////////////////////////////////////// 16 | 17 | // Pinout configuration (Configured for Tasmota Zigbee) 18 | int CC_RST = 12; 19 | int CC_DC = 13; 20 | int CC_DD = 14; 21 | int SEL_0 = 16; 22 | int SEL_1 = 5; 23 | 24 | //////////////////////////////////////// 25 | //////////////////////////////////////// 26 | 27 | // Include the CCDebugger 28 | #include "CCDebugger.h" 29 | 30 | // Command constants 31 | #define CMD_ENTER byte(0x01) 32 | #define CMD_EXIT byte(0x02) 33 | #define CMD_CHIP_ID byte(0x03) 34 | #define CMD_STATUS byte(0x04) 35 | #define CMD_PC byte(0x05) 36 | #define CMD_STEP byte(0x06) 37 | #define CMD_EXEC_1 byte(0x07) 38 | #define CMD_EXEC_2 byte(0x08) 39 | #define CMD_EXEC_3 byte(0x09) 40 | #define CMD_BRUSTWR byte(0x0A) 41 | #define CMD_RD_CFG byte(0x0B) 42 | #define CMD_WR_CFG byte(0x0C) 43 | #define CMD_CHPERASE byte(0x0D) 44 | #define CMD_RESUME byte(0x0E) 45 | #define CMD_HALT byte(0x0F) 46 | #define CMD_PING byte(0xF0) 47 | #define CMD_INSTR_VER byte(0xF1) 48 | #define CMD_INSTR_UPD byte(0xF2) 49 | 50 | // Response constants 51 | #define ANS_OK byte(0x01) 52 | #define ANS_ERROR byte(0x02) 53 | #define ANS_READY byte(0x03) 54 | 55 | // Initialize properties 56 | CCDebugger * dbg; 57 | byte inByte, bAns, bIdle; 58 | byte c1, c2, c3; 59 | unsigned short s1; 60 | int iLen, iRead; 61 | 62 | /** 63 | * Initialize debugger 64 | */ 65 | void setup() { 66 | 67 | // Set USB tty to ESP 68 | pinMode(SEL_0, OUTPUT); 69 | pinMode(SEL_1, OUTPUT); 70 | digitalWrite(SEL_0, HIGH); 71 | digitalWrite(SEL_1, LOW); 72 | 73 | // Create debugger 74 | dbg = new CCDebugger( CC_RST, CC_DC, CC_DD ); 75 | 76 | // Initialize serial port 77 | Serial.begin(115200); 78 | 79 | // Wait for chip to initialize 80 | delay(100); 81 | 82 | // Enter debug mode 83 | dbg->enter(); 84 | 85 | } 86 | 87 | /** 88 | * Send a response frame 89 | */ 90 | void sendFrame( const byte ans, const byte b0=0, const byte b1=0 ) { 91 | Serial.write(ans); 92 | Serial.write(b1); // Send High-order first 93 | Serial.write(b0); // Send Low-order second 94 | Serial.flush(); 95 | } 96 | 97 | /** 98 | * Check if debugger is in error state and if yes, 99 | * reply with an error code. 100 | */ 101 | boolean handleError( ) { 102 | if (dbg->error()) { 103 | sendFrame(ANS_ERROR, dbg->error()); 104 | return true; 105 | } 106 | return false; 107 | } 108 | 109 | /** 110 | * Main program loop 111 | */ 112 | void loop() { 113 | 114 | // Wait for incoming data frame 115 | if (Serial.available() < 4) 116 | return; 117 | 118 | // Read input frame 119 | inByte = Serial.read(); 120 | c1 = Serial.read(); 121 | c2 = Serial.read(); 122 | c3 = Serial.read(); 123 | 124 | // Handle commands 125 | if (inByte == CMD_PING) { 126 | sendFrame( ANS_OK ); 127 | 128 | } else if (inByte == CMD_ENTER) { 129 | bAns = dbg->enter(); 130 | if (handleError()) return; 131 | sendFrame( ANS_OK ); 132 | 133 | } else if (inByte == CMD_EXIT) { 134 | bAns = dbg->exit(); 135 | if (handleError()) return; 136 | sendFrame( ANS_OK ); 137 | 138 | } else if (inByte == CMD_CHIP_ID) { 139 | s1 = dbg->getChipID(); 140 | if (handleError()) return; 141 | sendFrame( ANS_OK, 142 | s1 & 0xFF, // LOW first 143 | (s1 >> 8) & 0xFF // HIGH second 144 | ); 145 | 146 | } else if (inByte == CMD_PC) { 147 | s1 = dbg->getPC(); 148 | if (handleError()) return; 149 | sendFrame( ANS_OK, 150 | s1 & 0xFF, // LOW first 151 | (s1 >> 8) & 0xFF // HIGH second 152 | ); 153 | 154 | } else if (inByte == CMD_STATUS) { 155 | bAns = dbg->getStatus(); 156 | if (handleError()) return; 157 | sendFrame( ANS_OK, bAns ); 158 | 159 | } else if (inByte == CMD_HALT) { 160 | bAns = dbg->halt(); 161 | if (handleError()) return; 162 | sendFrame( ANS_OK, bAns ); 163 | 164 | } else if (inByte == CMD_EXEC_1) { 165 | 166 | bAns = dbg->exec( c1 ); 167 | if (handleError()) return; 168 | sendFrame( ANS_OK, bAns ); 169 | 170 | } else if (inByte == CMD_EXEC_2) { 171 | 172 | bAns = dbg->exec( c1, c2 ); 173 | if (handleError()) return; 174 | sendFrame( ANS_OK, bAns ); 175 | 176 | } else if (inByte == CMD_EXEC_3) { 177 | bAns = dbg->exec( c1, c2, c3 ); 178 | if (handleError()) return; 179 | sendFrame( ANS_OK, bAns ); 180 | 181 | } else if (inByte == CMD_BRUSTWR) { 182 | 183 | // Calculate the size of the incoming brust 184 | iLen = (c1 << 8) | c2; 185 | 186 | // Validate length 187 | if (iLen > 2048) { 188 | sendFrame( ANS_ERROR, 3 ); 189 | return; 190 | } 191 | 192 | // Confirm transfer 193 | sendFrame( ANS_READY ); 194 | 195 | // Prepare for brust-write 196 | dbg->write( 0x80 | (c1 & 0x07) ); // High-order bits 197 | dbg->write( c2 ); // Low-order bits 198 | 199 | // Start serial loop 200 | iRead = iLen; 201 | bIdle = 0; 202 | while (iRead > 0) { 203 | 204 | // When we have data, forward them to the debugger 205 | if (Serial.available() >= 1) { 206 | inByte = Serial.read(); 207 | dbg->write(inByte); 208 | bIdle = 0; 209 | iRead--; 210 | } 211 | 212 | // If we don't have any data, check for idle timeout 213 | else { 214 | 215 | // If we are idle for more than 3s, drop command 216 | if (++bIdle > 3000) { 217 | 218 | // The PC was disconnected/stale for too long 219 | // complete the command by sending 0's 220 | while (iRead > 0) { 221 | dbg->write(0); 222 | iRead--; 223 | } 224 | 225 | // Read debug status to complete the command sequence 226 | dbg->switchRead(); 227 | bAns = dbg->read(); 228 | dbg->switchWrite(); 229 | 230 | // Send error 231 | sendFrame( ANS_ERROR, 4 ); 232 | return; 233 | 234 | } 235 | 236 | // Wait for some time 237 | delay(1); 238 | 239 | } 240 | } 241 | 242 | // Read debug status 243 | dbg->switchRead(); 244 | bAns = dbg->read(); 245 | dbg->switchWrite(); 246 | 247 | // Handle response 248 | if (handleError()) return; 249 | sendFrame( ANS_OK, bAns ); 250 | 251 | } else if (inByte == CMD_RD_CFG) { 252 | bAns = dbg->getConfig(); 253 | if (handleError()) return; 254 | sendFrame( ANS_OK, bAns ); 255 | 256 | } else if (inByte == CMD_WR_CFG) { 257 | bAns = dbg->setConfig(c1); 258 | if (handleError()) return; 259 | sendFrame( ANS_OK, bAns ); 260 | 261 | } else if (inByte == CMD_CHPERASE) { 262 | bAns = dbg->chipErase(); 263 | if (handleError()) return; 264 | sendFrame( ANS_OK, bAns ); 265 | 266 | } else if (inByte == CMD_STEP) { 267 | bAns = dbg->step(); 268 | if (handleError()) return; 269 | sendFrame( ANS_OK, bAns ); 270 | 271 | } else if (inByte == CMD_RESUME) { 272 | bAns = dbg->resume(); 273 | if (handleError()) return; 274 | sendFrame( ANS_OK, bAns ); 275 | 276 | } else if (inByte == CMD_INSTR_VER) { 277 | bAns = dbg->getInstructionTableVersion(); 278 | if (handleError()) return; 279 | sendFrame( ANS_OK, bAns ); 280 | 281 | } else if (inByte == CMD_INSTR_UPD) { 282 | 283 | // Acknowledge transfer 284 | sendFrame( ANS_READY ); 285 | 286 | // Read 16 bytes from the input 287 | byte instrBuffer[16]; 288 | iRead = 0; 289 | while (iRead < 16) { 290 | if (Serial.available() >= 1) { 291 | instrBuffer[iRead++] = Serial.read(); 292 | } 293 | } 294 | 295 | // Update instruction buffer 296 | bAns = dbg->updateInstructionTable( instrBuffer ); 297 | if (handleError()) return; 298 | sendFrame( ANS_OK, bAns ); 299 | 300 | } else { 301 | sendFrame( ANS_ERROR, 0xFF ); 302 | 303 | } 304 | 305 | } 306 | -------------------------------------------------------------------------------- /firmware/esp/cclib/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter 4 | ; Upload options: custom upload port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; Advanced options: extra scripting 7 | ; 8 | ; Please visit documentation for the other options and examples 9 | ; http://docs.platformio.org/page/projectconf.html 10 | 11 | [platformio] 12 | src_dir = . 13 | 14 | [env:esp_wroom_02] 15 | platform = espressif8266 16 | board = esp_wroom_02 17 | framework = arduino 18 | ;monitor_speed = 19200 19 | ;upload_speed = 921600 20 | -------------------------------------------------------------------------------- /firmware/esp/ser2net/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | .vscode/.browse.c_cpp.db* 3 | .vscode/c_cpp_properties.json 4 | .vscode/launch.json 5 | .vscode/ipch 6 | -------------------------------------------------------------------------------- /firmware/esp/ser2net/data/config.json: -------------------------------------------------------------------------------- 1 | {"hostname":"z2mp","ssid":"","password":"","tcpPort":8880,"mqttServer":"","mqttPort":1883,"mqttUser":"","mqttPass":"","mqttClientID":"z2mp","mqttPubTopic":"z2mp/result","mqttSubTopic":"z2mp/cmd"} -------------------------------------------------------------------------------- /firmware/esp/ser2net/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter 4 | ; Upload options: custom upload port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; Advanced options: extra scripting 7 | ; 8 | ; Please visit documentation for the other options and examples 9 | ; http://docs.platformio.org/page/projectconf.html 10 | [platformio] 11 | LIB_DIR = libraries 12 | 13 | 14 | ; You MUST inject these options into [env:] section 15 | ; using ${common_env_data.***} (see below) 16 | [common_env_data] 17 | build_flags = 18 | -D VERSION_M=0 19 | -D VERSION_N=0 20 | -D VERSION_P=6 21 | -D DEBUG=1 22 | ;lib_deps_builtin = 23 | lib_deps_external = 24 | PubSubClient 25 | ESP Async WebServer 26 | ESPAsyncWiFiManager 27 | ArduinoJson 28 | [env:esp_wroom_02] 29 | platform = espressif8266 30 | board = esp_wroom_02 31 | framework = arduino 32 | board_build.ldscript = eagle.flash.2m128.ld 33 | 34 | build_flags = 35 | ${common_env_data.build_flags} 36 | 37 | monitor_speed = 115200 38 | lib_deps = 39 | ${common_env_data.lib_deps_external} -------------------------------------------------------------------------------- /firmware/esp/ser2net/src/ESP-Serial-Bridge.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "config.h" 3 | 4 | #ifdef ESP8266 5 | #include 6 | #include 7 | #else 8 | #include 9 | #include 10 | #endif 11 | #include "FS.h" 12 | 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | void callback(char *topic, byte *payload, unsigned int length); 21 | 22 | // For debug log output/update FW 23 | #if (DEBUG) 24 | HardwareSerial *DBGCOM = &Serial1; 25 | #define LOGD(...) do {\ 26 | DBGCOM->printf(__VA_ARGS__);\ 27 | DBGCOM->println();\ 28 | } while(0) 29 | #else 30 | #define LOGD(...) 31 | #endif 32 | 33 | struct Config { 34 | char hostname[16]; 35 | char ssid[64]; 36 | char password[64]; 37 | int tcpPort; 38 | char mqttServer[32]; 39 | int mqttPort; 40 | char mqttUser[32]; 41 | char mqttPass[32]; 42 | char mqttClientID[32]; 43 | char mqttPubTopic[32]; 44 | char mqttSubTopic[32]; 45 | }; 46 | 47 | struct Config config = { 48 | "z2mp", 49 | "", 50 | "", 51 | 8880, 52 | "", 53 | 1883, 54 | "", 55 | "", 56 | "z2mp", 57 | "z2mp/result", 58 | "z2mp/cmd", 59 | }; 60 | 61 | HardwareSerial *COM = &Serial; 62 | 63 | uint8_t buf1[BUFFERSIZE]; 64 | uint16_t i1 = 0; 65 | 66 | uint8_t buf2[BUFFERSIZE]; 67 | uint16_t i2 = 0; 68 | 69 | #ifdef PROTOCOL_TCP 70 | #include 71 | WiFiServer *server; 72 | WiFiClient *TCPClient[MAX_NMEA_CLIENTS]; 73 | #endif 74 | PubSubClient *client; 75 | 76 | AsyncWebServer wifiManagerServer(80); 77 | DNSServer wifiManagerDNS; 78 | 79 | void callback(char *topic, byte *payload, unsigned int length) 80 | { 81 | 82 | byte *p = (byte *)malloc(length); 83 | memcpy(p, payload, length); // Copy the payload to the new buffer 84 | client->publish(config.mqttPubTopic, p, length, retained); 85 | COM->write(p, length); // UART write buffer received via MQTT sub_topic 86 | free(p); 87 | } 88 | 89 | void reconnect() 90 | { 91 | // Loop until we're reconnected 92 | while (!client->connected()) 93 | { 94 | LOGD("Attempting MQTT connection..."); 95 | // Attempt to connect 96 | if (client->connect(config.mqttServer, config.mqttUser, config.mqttPass)) 97 | { 98 | // Once connected, publish an announcement... 99 | client->publish(config.mqttPubTopic, "UART<-->WiFi Bridge Reconnected", false); 100 | // ... and resubscribe 101 | client->subscribe(config.mqttSubTopic, qos); 102 | } 103 | else 104 | { 105 | LOGD("failed, rc=%d try again in 5 seconds.", client->state()); 106 | // Wait 5 seconds before retrying 107 | delay(5000); 108 | } 109 | } 110 | } 111 | 112 | static inline void reset_zigbee() 113 | { 114 | digitalWrite(ZGB_RST_PIN, LOW); 115 | delay(500); 116 | digitalWrite(ZGB_RST_PIN, HIGH); 117 | if (strlen(config.mqttServer) && client->connected()) { 118 | client->publish(config.mqttPubTopic, "ZNP device reset.", false); 119 | } 120 | } 121 | 122 | static void getConfigFromFile() { 123 | 124 | #define READ_STR_CONFIG_FROM_JSON(name) \ 125 | if (strlen(doc[#name])) \ 126 | strlcpy(config.name, doc[#name], sizeof(config.name)) 127 | #define READ_INT_CONFIG_FROM_JSON(name) \ 128 | if (doc[#name]) \ 129 | config.name = doc[#name] 130 | 131 | StaticJsonDocument<512> doc; 132 | if (!SPIFFS.begin()) { 133 | LOGD("mount spiffs failed."); 134 | return; 135 | } 136 | File f = SPIFFS.open("/config.json", "r"); 137 | if (!f) { 138 | LOGD("Config file not exist."); 139 | SPIFFS.end(); 140 | return; 141 | } 142 | DeserializationError error = deserializeJson(doc, f); 143 | if (error) { 144 | LOGD("Failed to read file, using default configuration"); 145 | SPIFFS.end(); 146 | return; 147 | } 148 | READ_STR_CONFIG_FROM_JSON(hostname); 149 | READ_STR_CONFIG_FROM_JSON(ssid); 150 | READ_STR_CONFIG_FROM_JSON(password); 151 | READ_STR_CONFIG_FROM_JSON(mqttServer); 152 | READ_STR_CONFIG_FROM_JSON(mqttUser); 153 | READ_STR_CONFIG_FROM_JSON(mqttPass); 154 | READ_STR_CONFIG_FROM_JSON(mqttClientID); 155 | READ_STR_CONFIG_FROM_JSON(mqttPubTopic); 156 | READ_STR_CONFIG_FROM_JSON(mqttSubTopic); 157 | READ_INT_CONFIG_FROM_JSON(tcpPort); 158 | READ_INT_CONFIG_FROM_JSON(mqttPort); 159 | SPIFFS.end(); 160 | } 161 | 162 | void setup() 163 | { 164 | pinMode(TTY_SEL0_PIN, OUTPUT); 165 | digitalWrite(TTY_SEL0_PIN, LOW); 166 | pinMode(TTY_SEL1_PIN, OUTPUT); 167 | digitalWrite(TTY_SEL1_PIN, HIGH); 168 | delay(500); 169 | #ifdef ESP8266 170 | COM->begin(UART_BAUD0, SERIAL_PARAM0); 171 | #else 172 | COM->begin(UART_BAUD0, SERIAL_PARAM0, SERIAL0_RXPIN, SERIAL0_TXPIN); 173 | #endif 174 | #if (DEBUG) 175 | DBGCOM->begin(115200); 176 | #endif 177 | LOGD("\n\n WiFi Serial Bridge %d.%d.%d", VERSION_M, VERSION_N, VERSION_P); 178 | 179 | getConfigFromFile(); 180 | 181 | if (strlen(config.ssid) == 0) 182 | { 183 | LOGD("No SSID defined, use wifi manager."); 184 | AsyncWiFiManager wifiManager(&wifiManagerServer, &wifiManagerDNS); 185 | #if (DEBUG) 186 | wifiManager.setDebugOutput(false); 187 | #else 188 | wifiManager.setDebugOutput(false); 189 | #endif 190 | wifiManager.autoConnect(config.hostname); 191 | } 192 | else 193 | { 194 | LOGD("SSID defined, connect to %s", config.ssid); 195 | WiFi.mode(WIFI_STA); 196 | WiFi.begin(config.ssid, config.password); 197 | } 198 | while (WiFi.status() != WL_CONNECTED) 199 | { 200 | delay(500); 201 | LOGD("Connecting to %s", config.ssid); 202 | } 203 | LOGD("TCP server: %s:%d", WiFi.localIP().toString().c_str(), config.tcpPort); 204 | 205 | #ifdef PROTOCOL_TCP 206 | static WiFiServer server_0(config.tcpPort); 207 | server = &server_0; 208 | #endif 209 | static WiFiClient mqc; 210 | static PubSubClient mqttClient(config.mqttServer, config.mqttPort, callback, mqc); 211 | client = &mqttClient; 212 | 213 | // Enable MDNS 214 | MDNS.begin(config.hostname); 215 | 216 | // Enable OTA 217 | 218 | ArduinoOTA.setPort(8266); 219 | ArduinoOTA.setHostname(config.hostname); 220 | ArduinoOTA.onStart([]() { 221 | if (ArduinoOTA.getCommand() == U_FLASH) 222 | LOGD("Start updating sketch"); 223 | else// U_FS 224 | LOGD("Start updating filesystem"); 225 | }); 226 | ArduinoOTA.onEnd([]() { 227 | LOGD("\nEnd"); 228 | }); 229 | ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) { 230 | LOGD("Progress: %u%%\r", (progress / (total / 100))); 231 | }); 232 | ArduinoOTA.onError([](ota_error_t error) { 233 | LOGD("Error[%u]: ", error); 234 | if (error == OTA_AUTH_ERROR) 235 | { 236 | LOGD("Auth Failed"); 237 | } 238 | else if (error == OTA_BEGIN_ERROR) 239 | { 240 | LOGD("Begin Failed"); 241 | } 242 | else if (error == OTA_CONNECT_ERROR) 243 | { 244 | LOGD("Connect Failed"); 245 | } 246 | else if (error == OTA_RECEIVE_ERROR) 247 | { 248 | LOGD("Receive Failed"); 249 | } 250 | else if (error == OTA_END_ERROR) 251 | { 252 | LOGD("End Failed"); 253 | } 254 | }); 255 | ArduinoOTA.begin(); 256 | 257 | if (strlen(config.mqttServer) && 258 | client->connect(config.mqttServer, config.mqttUser, config.mqttPass)) { 259 | client->publish(config.mqttPubTopic, "UART<-->WiFi Bridge Connected", false); 260 | client->publish(config.mqttPubTopic, WiFi.localIP().toString().c_str(), false); 261 | client->subscribe(config.mqttSubTopic, qos); 262 | } 263 | 264 | #ifdef PROTOCOL_TCP 265 | LOGD("Starting TCP Server"); 266 | server->begin(); // start TCP server 267 | server->setNoDelay(true); 268 | #endif 269 | 270 | #ifndef ESP8266 271 | esp_err_t esp_wifi_set_max_tx_power(50); //lower WiFi Power 272 | #endif 273 | pinMode(ZGB_RST_PIN, OUTPUT); 274 | digitalWrite(ZGB_RST_PIN, HIGH); 275 | reset_zigbee(); 276 | // pinMode(12, INPUT); 277 | // pinMode(13, INPUT); 278 | // pinMode(14, INPUT); 279 | // pinMode(16, INPUT); 280 | } 281 | 282 | void loop() 283 | { 284 | if (strlen(config.mqttServer)) 285 | { 286 | if (!client->connected()) 287 | { 288 | reconnect(); 289 | } 290 | client->loop(); 291 | } 292 | 293 | #ifdef PROTOCOL_TCP 294 | for (byte i = 0; i < MAX_NMEA_CLIENTS; i++) 295 | { 296 | //find disconnected spot 297 | if (TCPClient[i] && !TCPClient[i]->connected()) 298 | { 299 | TCPClient[i]->stop(); 300 | delete TCPClient[i]; 301 | TCPClient[i] = NULL; 302 | LOGD("Client disconnected"); 303 | } 304 | } 305 | if (server->hasClient()) 306 | { 307 | for (byte i = 0; i < MAX_NMEA_CLIENTS; i++) 308 | { 309 | //find free/disconnected spot 310 | if (!TCPClient[i] || !TCPClient[i]->connected()) 311 | { 312 | if (TCPClient[i]) 313 | { 314 | TCPClient[i]->stop(); 315 | delete TCPClient[i]; 316 | TCPClient[i] = NULL; 317 | LOGD("Client disconnected"); 318 | } 319 | TCPClient[i] = new WiFiClient; 320 | *TCPClient[i] = server->available(); 321 | LOGD("New client for COM"); 322 | continue; 323 | } 324 | } 325 | //no free/disconnected spot so reject 326 | WiFiClient TmpserverClient = server->available(); 327 | TmpserverClient.stop(); 328 | } 329 | #endif 330 | 331 | if (COM != NULL) 332 | { 333 | for (byte cln = 0; cln < MAX_NMEA_CLIENTS; cln++) 334 | { 335 | if (TCPClient[cln]) 336 | { 337 | while (TCPClient[cln]->available()) 338 | { 339 | buf1[i1] = TCPClient[cln]->read(); // read char from TCP port:8880 340 | if (i1 < BUFFERSIZE - 1) 341 | i1++; 342 | } 343 | if (i1 > 0) 344 | { 345 | COM->write(buf1, i1); // now send to UART 346 | #if (DEBUG) 347 | DBGCOM->printf("TX(%d):\t", i1); 348 | for (int i = 0; i < i1; i++) 349 | DBGCOM->printf("%02x ", buf1[i]); 350 | DBGCOM->println(); 351 | #endif 352 | i1 = 0; 353 | } 354 | } 355 | } 356 | 357 | if (COM->available()) 358 | { 359 | while (COM->available()) 360 | { 361 | buf2[i2] = COM->read(); // read char from UART 362 | if (i2 < BUFFERSIZE - 1) 363 | i2++; 364 | } 365 | // now send to WiFi: 366 | for (byte cln = 0; cln < MAX_NMEA_CLIENTS; cln++) 367 | { 368 | if (TCPClient[cln]) 369 | TCPClient[cln]->write(buf2, i2); //send the buffer to TCP port:8880 370 | } 371 | if (strlen(config.mqttServer)) 372 | { 373 | client->publish(config.mqttPubTopic, buf2, i2, retained); //Publish the buffer received via serial 374 | } 375 | #if (DEBUG) 376 | DBGCOM->printf("RX(%d):\t", i2); 377 | for (int i = 0; i < i2; i++) 378 | DBGCOM->printf("%02x ", buf2[i]); 379 | DBGCOM->println(); 380 | #endif 381 | i2 = 0; 382 | } 383 | } 384 | 385 | #ifdef ESP8266 386 | MDNS.update(); 387 | #endif 388 | ArduinoOTA.handle(); 389 | } 390 | -------------------------------------------------------------------------------- /firmware/esp/ser2net/src/config.h: -------------------------------------------------------------------------------- 1 | // config: //////////////////////////////////////////////////////////// 2 | #ifndef _ESP_SERIAL_BRIDGE_CONFIG_H_ 3 | #define _ESP_SERIAL_BRIDGE_CONFIG_H_ 4 | 5 | #define PROTOCOL_TCP 6 | #ifndef MAX_NMEA_CLIENTS 7 | #define MAX_NMEA_CLIENTS 1 8 | #endif 9 | 10 | unsigned char qos = 1; //subscribe qos 11 | bool retained = false; 12 | 13 | #define ZGB_RST_PIN 12 14 | #define TTY_SEL0_PIN 16 15 | #define TTY_SEL1_PIN 5 16 | /************************* COM Port 0 *******************************/ 17 | #define UART_BAUD0 115200 // Baudrate UART0 18 | #ifdef ESP8266 19 | #define SERIAL_PARAM0 SERIAL_8N1 // Data/Parity/Stop UART0 20 | #else 21 | #define SERIAL_PARAM0 SERIAL_8N1 // Data/Parity/Stop UART0 22 | #define SERIAL0_RXPIN 21 // receive Pin UART0 23 | #define SERIAL0_TXPIN 1 // transmit Pin UART0 24 | #endif 25 | 26 | #define BUFFERSIZE 1024 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /images/3Dfinal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/3Dfinal.jpg -------------------------------------------------------------------------------- /images/bottom_view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/bottom_view.png -------------------------------------------------------------------------------- /images/flash/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/flash/info.png -------------------------------------------------------------------------------- /images/front_hw.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/front_hw.jpeg -------------------------------------------------------------------------------- /images/pay/alipay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/pay/alipay.png -------------------------------------------------------------------------------- /images/pay/wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/pay/wechat.png -------------------------------------------------------------------------------- /images/sch_v2p1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/sch_v2p1.png -------------------------------------------------------------------------------- /images/signal/14db.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/signal/14db.png -------------------------------------------------------------------------------- /images/signal/18db.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/signal/18db.png -------------------------------------------------------------------------------- /images/signal/26db.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/signal/26db.png -------------------------------------------------------------------------------- /images/tasmota/AP_SSID.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/tasmota/AP_SSID.jpg -------------------------------------------------------------------------------- /images/tasmota/console1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/tasmota/console1.jpg -------------------------------------------------------------------------------- /images/tasmota/set_debug.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/tasmota/set_debug.jpg -------------------------------------------------------------------------------- /images/tasmota/updata_zigbee_c.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/tasmota/updata_zigbee_c.jpg -------------------------------------------------------------------------------- /images/tasmota/wifi_config.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/tasmota/wifi_config.jpg -------------------------------------------------------------------------------- /images/tasmota/wifi_config2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/tasmota/wifi_config2.jpg -------------------------------------------------------------------------------- /images/top_view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/top_view.png -------------------------------------------------------------------------------- /images/ttyv01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/images/ttyv01.png -------------------------------------------------------------------------------- /project/gerber/z2m_partner-Bottom_Silk.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,(5.1.4-0-10_14)*% 2 | %TF.CreationDate,2019-11-29T01:48:41+08:00*% 3 | %TF.ProjectId,z2m_partner,7a326d5f-7061-4727-946e-65722e6b6963,rev?*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Legend,Bot*% 6 | %TF.FilePolarity,Positive*% 7 | %FSLAX46Y46*% 8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 9 | G04 Created by KiCad (PCBNEW (5.1.4-0-10_14)) date 2019-11-29 01:48:41* 10 | %MOMM*% 11 | %LPD*% 12 | G04 APERTURE LIST* 13 | %ADD10C,0.150000*% 14 | %ADD11C,0.120000*% 15 | G04 APERTURE END LIST* 16 | D10* 17 | X193212857Y-125672380D02* 18 | X193212857Y-124672380D01* 19 | X192784285Y-125672380D02* 20 | X192784285Y-125148571D01* 21 | X192831904Y-125053333D01* 22 | X192927142Y-125005714D01* 23 | X193070000Y-125005714D01* 24 | X193165238Y-125053333D01* 25 | X193212857Y-125100952D01* 26 | X192450952Y-125005714D02* 27 | X192070000Y-125005714D01* 28 | X192308095Y-124672380D02* 29 | X192308095Y-125529523D01* 30 | X192260476Y-125624761D01* 31 | X192165238Y-125672380D01* 32 | X192070000Y-125672380D01* 33 | X191879523Y-125005714D02* 34 | X191498571Y-125005714D01* 35 | X191736666Y-124672380D02* 36 | X191736666Y-125529523D01* 37 | X191689047Y-125624761D01* 38 | X191593809Y-125672380D01* 39 | X191498571Y-125672380D01* 40 | X191165238Y-125005714D02* 41 | X191165238Y-126005714D01* 42 | X191165238Y-125053333D02* 43 | X191070000Y-125005714D01* 44 | X190879523Y-125005714D01* 45 | X190784285Y-125053333D01* 46 | X190736666Y-125100952D01* 47 | X190689047Y-125196190D01* 48 | X190689047Y-125481904D01* 49 | X190736666Y-125577142D01* 50 | X190784285Y-125624761D01* 51 | X190879523Y-125672380D01* 52 | X191070000Y-125672380D01* 53 | X191165238Y-125624761D01* 54 | X190308095Y-125624761D02* 55 | X190212857Y-125672380D01* 56 | X190022380Y-125672380D01* 57 | X189927142Y-125624761D01* 58 | X189879523Y-125529523D01* 59 | X189879523Y-125481904D01* 60 | X189927142Y-125386666D01* 61 | X190022380Y-125339047D01* 62 | X190165238Y-125339047D01* 63 | X190260476Y-125291428D01* 64 | X190308095Y-125196190D01* 65 | X190308095Y-125148571D01* 66 | X190260476Y-125053333D01* 67 | X190165238Y-125005714D01* 68 | X190022380Y-125005714D01* 69 | X189927142Y-125053333D01* 70 | X189450952Y-125577142D02* 71 | X189403333Y-125624761D01* 72 | X189450952Y-125672380D01* 73 | X189498571Y-125624761D01* 74 | X189450952Y-125577142D01* 75 | X189450952Y-125672380D01* 76 | X189450952Y-125053333D02* 77 | X189403333Y-125100952D01* 78 | X189450952Y-125148571D01* 79 | X189498571Y-125100952D01* 80 | X189450952Y-125053333D01* 81 | X189450952Y-125148571D01* 82 | X188260476Y-124624761D02* 83 | X189117619Y-125910476D01* 84 | X187212857Y-124624761D02* 85 | X188070000Y-125910476D01* 86 | X186879523Y-125672380D02* 87 | X186879523Y-124672380D01* 88 | X186879523Y-125053333D02* 89 | X186784285Y-125005714D01* 90 | X186593809Y-125005714D01* 91 | X186498571Y-125053333D01* 92 | X186450952Y-125100952D01* 93 | X186403333Y-125196190D01* 94 | X186403333Y-125481904D01* 95 | X186450952Y-125577142D01* 96 | X186498571Y-125624761D01* 97 | X186593809Y-125672380D01* 98 | X186784285Y-125672380D01* 99 | X186879523Y-125624761D01* 100 | X185974761Y-125672380D02* 101 | X185974761Y-124672380D01* 102 | X185974761Y-125053333D02* 103 | X185879523Y-125005714D01* 104 | X185689047Y-125005714D01* 105 | X185593809Y-125053333D01* 106 | X185546190Y-125100952D01* 107 | X185498571Y-125196190D01* 108 | X185498571Y-125481904D01* 109 | X185546190Y-125577142D01* 110 | X185593809Y-125624761D01* 111 | X185689047Y-125672380D01* 112 | X185879523Y-125672380D01* 113 | X185974761Y-125624761D01* 114 | X185117619Y-125624761D02* 115 | X185022380Y-125672380D01* 116 | X184831904Y-125672380D01* 117 | X184736666Y-125624761D01* 118 | X184689047Y-125529523D01* 119 | X184689047Y-125481904D01* 120 | X184736666Y-125386666D01* 121 | X184831904Y-125339047D01* 122 | X184974761Y-125339047D01* 123 | X185070000Y-125291428D01* 124 | X185117619Y-125196190D01* 125 | X185117619Y-125148571D01* 126 | X185070000Y-125053333D01* 127 | X184974761Y-125005714D01* 128 | X184831904Y-125005714D01* 129 | X184736666Y-125053333D01* 130 | X184260476Y-125577142D02* 131 | X184212857Y-125624761D01* 132 | X184260476Y-125672380D01* 133 | X184308095Y-125624761D01* 134 | X184260476Y-125577142D01* 135 | X184260476Y-125672380D01* 136 | X183784285Y-125672380D02* 137 | X183784285Y-125005714D01* 138 | X183784285Y-124672380D02* 139 | X183831904Y-124720000D01* 140 | X183784285Y-124767619D01* 141 | X183736666Y-124720000D01* 142 | X183784285Y-124672380D01* 143 | X183784285Y-124767619D01* 144 | X183165238Y-125672380D02* 145 | X183260476Y-125624761D01* 146 | X183308095Y-125577142D01* 147 | X183355714Y-125481904D01* 148 | X183355714Y-125196190D01* 149 | X183308095Y-125100952D01* 150 | X183260476Y-125053333D01* 151 | X183165238Y-125005714D01* 152 | X183022380Y-125005714D01* 153 | X182927142Y-125053333D01* 154 | X182879523Y-125100952D01* 155 | X182831904Y-125196190D01* 156 | X182831904Y-125481904D01* 157 | X182879523Y-125577142D01* 158 | X182927142Y-125624761D01* 159 | X183022380Y-125672380D01* 160 | X183165238Y-125672380D01* 161 | X182403333Y-125672380D02* 162 | X182403333Y-124672380D01* 163 | X182403333Y-125053333D02* 164 | X182308095Y-125005714D01* 165 | X182117619Y-125005714D01* 166 | X182022380Y-125053333D01* 167 | X181974761Y-125100952D01* 168 | X181927142Y-125196190D01* 169 | X181927142Y-125481904D01* 170 | X181974761Y-125577142D01* 171 | X182022380Y-125624761D01* 172 | X182117619Y-125672380D01* 173 | X182308095Y-125672380D01* 174 | X182403333Y-125624761D01* 175 | X181498571Y-125672380D02* 176 | X181498571Y-125005714D01* 177 | X181498571Y-125196190D02* 178 | X181450952Y-125100952D01* 179 | X181403333Y-125053333D01* 180 | X181308095Y-125005714D01* 181 | X181212857Y-125005714D01* 182 | X180736666Y-125672380D02* 183 | X180831904Y-125624761D01* 184 | X180879523Y-125577142D01* 185 | X180927142Y-125481904D01* 186 | X180927142Y-125196190D01* 187 | X180879523Y-125100952D01* 188 | X180831904Y-125053333D01* 189 | X180736666Y-125005714D01* 190 | X180593809Y-125005714D01* 191 | X180498571Y-125053333D01* 192 | X180450952Y-125100952D01* 193 | X180403333Y-125196190D01* 194 | X180403333Y-125481904D01* 195 | X180450952Y-125577142D01* 196 | X180498571Y-125624761D01* 197 | X180593809Y-125672380D01* 198 | X180736666Y-125672380D01* 199 | X179974761Y-125672380D02* 200 | X179974761Y-124672380D01* 201 | X179879523Y-125291428D02* 202 | X179593809Y-125672380D01* 203 | X179593809Y-125005714D02* 204 | X179974761Y-125386666D01* 205 | X178784285Y-125624761D02* 206 | X178879523Y-125672380D01* 207 | X179070000Y-125672380D01* 208 | X179165238Y-125624761D01* 209 | X179212857Y-125529523D01* 210 | X179212857Y-125148571D01* 211 | X179165238Y-125053333D01* 212 | X179070000Y-125005714D01* 213 | X178879523Y-125005714D01* 214 | X178784285Y-125053333D01* 215 | X178736666Y-125148571D01* 216 | X178736666Y-125243809D01* 217 | X179212857Y-125339047D01* 218 | X178308095Y-125672380D02* 219 | X178308095Y-125005714D01* 220 | X178308095Y-125196190D02* 221 | X178260476Y-125100952D01* 222 | X178212857Y-125053333D01* 223 | X178117619Y-125005714D01* 224 | X178022380Y-125005714D01* 225 | X177689047Y-125577142D02* 226 | X177641428Y-125624761D01* 227 | X177689047Y-125672380D01* 228 | X177736666Y-125624761D01* 229 | X177689047Y-125577142D01* 230 | X177689047Y-125672380D01* 231 | X176784285Y-125624761D02* 232 | X176879523Y-125672380D01* 233 | X177070000Y-125672380D01* 234 | X177165238Y-125624761D01* 235 | X177212857Y-125577142D01* 236 | X177260476Y-125481904D01* 237 | X177260476Y-125196190D01* 238 | X177212857Y-125100952D01* 239 | X177165238Y-125053333D01* 240 | X177070000Y-125005714D01* 241 | X176879523Y-125005714D01* 242 | X176784285Y-125053333D01* 243 | X176355714Y-125005714D02* 244 | X176355714Y-125672380D01* 245 | X176355714Y-125100952D02* 246 | X176308095Y-125053333D01* 247 | X176212857Y-125005714D01* 248 | X176070000Y-125005714D01* 249 | X175974761Y-125053333D01* 250 | X175927142Y-125148571D01* 251 | X175927142Y-125672380D01* 252 | X194978571Y-123522380D02* 253 | X194978571Y-122522380D01* 254 | X194740476Y-122522380D01* 255 | X194597619Y-122570000D01* 256 | X194502380Y-122665238D01* 257 | X194454761Y-122760476D01* 258 | X194407142Y-122950952D01* 259 | X194407142Y-123093809D01* 260 | X194454761Y-123284285D01* 261 | X194502380Y-123379523D01* 262 | X194597619Y-123474761D01* 263 | X194740476Y-123522380D01* 264 | X194978571Y-123522380D01* 265 | X193597619Y-123474761D02* 266 | X193692857Y-123522380D01* 267 | X193883333Y-123522380D01* 268 | X193978571Y-123474761D01* 269 | X194026190Y-123379523D01* 270 | X194026190Y-122998571D01* 271 | X193978571Y-122903333D01* 272 | X193883333Y-122855714D01* 273 | X193692857Y-122855714D01* 274 | X193597619Y-122903333D01* 275 | X193550000Y-122998571D01* 276 | X193550000Y-123093809D01* 277 | X194026190Y-123189047D01* 278 | X193169047Y-123474761D02* 279 | X193073809Y-123522380D01* 280 | X192883333Y-123522380D01* 281 | X192788095Y-123474761D01* 282 | X192740476Y-123379523D01* 283 | X192740476Y-123331904D01* 284 | X192788095Y-123236666D01* 285 | X192883333Y-123189047D01* 286 | X193026190Y-123189047D01* 287 | X193121428Y-123141428D01* 288 | X193169047Y-123046190D01* 289 | X193169047Y-122998571D01* 290 | X193121428Y-122903333D01* 291 | X193026190Y-122855714D01* 292 | X192883333Y-122855714D01* 293 | X192788095Y-122903333D01* 294 | X192311904Y-123522380D02* 295 | X192311904Y-122855714D01* 296 | X192311904Y-122522380D02* 297 | X192359523Y-122570000D01* 298 | X192311904Y-122617619D01* 299 | X192264285Y-122570000D01* 300 | X192311904Y-122522380D01* 301 | X192311904Y-122617619D01* 302 | X191407142Y-122855714D02* 303 | X191407142Y-123665238D01* 304 | X191454761Y-123760476D01* 305 | X191502380Y-123808095D01* 306 | X191597619Y-123855714D01* 307 | X191740476Y-123855714D01* 308 | X191835714Y-123808095D01* 309 | X191407142Y-123474761D02* 310 | X191502380Y-123522380D01* 311 | X191692857Y-123522380D01* 312 | X191788095Y-123474761D01* 313 | X191835714Y-123427142D01* 314 | X191883333Y-123331904D01* 315 | X191883333Y-123046190D01* 316 | X191835714Y-122950952D01* 317 | X191788095Y-122903333D01* 318 | X191692857Y-122855714D01* 319 | X191502380Y-122855714D01* 320 | X191407142Y-122903333D01* 321 | X190930952Y-122855714D02* 322 | X190930952Y-123522380D01* 323 | X190930952Y-122950952D02* 324 | X190883333Y-122903333D01* 325 | X190788095Y-122855714D01* 326 | X190645238Y-122855714D01* 327 | X190550000Y-122903333D01* 328 | X190502380Y-122998571D01* 329 | X190502380Y-123522380D01* 330 | X189645238Y-123474761D02* 331 | X189740476Y-123522380D01* 332 | X189930952Y-123522380D01* 333 | X190026190Y-123474761D01* 334 | X190073809Y-123379523D01* 335 | X190073809Y-122998571D01* 336 | X190026190Y-122903333D01* 337 | X189930952Y-122855714D01* 338 | X189740476Y-122855714D01* 339 | X189645238Y-122903333D01* 340 | X189597619Y-122998571D01* 341 | X189597619Y-123093809D01* 342 | X190073809Y-123189047D01* 343 | X188740476Y-123522380D02* 344 | X188740476Y-122522380D01* 345 | X188740476Y-123474761D02* 346 | X188835714Y-123522380D01* 347 | X189026190Y-123522380D01* 348 | X189121428Y-123474761D01* 349 | X189169047Y-123427142D01* 350 | X189216666Y-123331904D01* 351 | X189216666Y-123046190D01* 352 | X189169047Y-122950952D01* 353 | X189121428Y-122903333D01* 354 | X189026190Y-122855714D01* 355 | X188835714Y-122855714D01* 356 | X188740476Y-122903333D01* 357 | X187502380Y-123522380D02* 358 | X187502380Y-122522380D01* 359 | X187502380Y-122903333D02* 360 | X187407142Y-122855714D01* 361 | X187216666Y-122855714D01* 362 | X187121428Y-122903333D01* 363 | X187073809Y-122950952D01* 364 | X187026190Y-123046190D01* 365 | X187026190Y-123331904D01* 366 | X187073809Y-123427142D01* 367 | X187121428Y-123474761D01* 368 | X187216666Y-123522380D01* 369 | X187407142Y-123522380D01* 370 | X187502380Y-123474761D01* 371 | X186692857Y-122855714D02* 372 | X186454761Y-123522380D01* 373 | X186216666Y-122855714D02* 374 | X186454761Y-123522380D01* 375 | X186550000Y-123760476D01* 376 | X186597619Y-123808095D01* 377 | X186692857Y-123855714D01* 378 | X185121428Y-123474761D02* 379 | X185026190Y-123522380D01* 380 | X184835714Y-123522380D01* 381 | X184740476Y-123474761D01* 382 | X184692857Y-123379523D01* 383 | X184692857Y-123331904D01* 384 | X184740476Y-123236666D01* 385 | X184835714Y-123189047D01* 386 | X184978571Y-123189047D01* 387 | X185073809Y-123141428D01* 388 | X185121428Y-123046190D01* 389 | X185121428Y-122998571D01* 390 | X185073809Y-122903333D01* 391 | X184978571Y-122855714D01* 392 | X184835714Y-122855714D01* 393 | X184740476Y-122903333D01* 394 | X184264285Y-123522380D02* 395 | X184264285Y-122855714D01* 396 | X184264285Y-122950952D02* 397 | X184216666Y-122903333D01* 398 | X184121428Y-122855714D01* 399 | X183978571Y-122855714D01* 400 | X183883333Y-122903333D01* 401 | X183835714Y-122998571D01* 402 | X183835714Y-123522380D01* 403 | X183835714Y-122998571D02* 404 | X183788095Y-122903333D01* 405 | X183692857Y-122855714D01* 406 | X183550000Y-122855714D01* 407 | X183454761Y-122903333D01* 408 | X183407142Y-122998571D01* 409 | X183407142Y-123522380D01* 410 | X182502380Y-123522380D02* 411 | X182502380Y-122998571D01* 412 | X182550000Y-122903333D01* 413 | X182645238Y-122855714D01* 414 | X182835714Y-122855714D01* 415 | X182930952Y-122903333D01* 416 | X182502380Y-123474761D02* 417 | X182597619Y-123522380D01* 418 | X182835714Y-123522380D01* 419 | X182930952Y-123474761D01* 420 | X182978571Y-123379523D01* 421 | X182978571Y-123284285D01* 422 | X182930952Y-123189047D01* 423 | X182835714Y-123141428D01* 424 | X182597619Y-123141428D01* 425 | X182502380Y-123093809D01* 426 | X182026190Y-123522380D02* 427 | X182026190Y-122855714D01* 428 | X182026190Y-123046190D02* 429 | X181978571Y-122950952D01* 430 | X181930952Y-122903333D01* 431 | X181835714Y-122855714D01* 432 | X181740476Y-122855714D01* 433 | X181550000Y-122855714D02* 434 | X181169047Y-122855714D01* 435 | X181407142Y-122522380D02* 436 | X181407142Y-123379523D01* 437 | X181359523Y-123474761D01* 438 | X181264285Y-123522380D01* 439 | X181169047Y-123522380D01* 440 | X180835714Y-123522380D02* 441 | X180835714Y-122522380D01* 442 | X180407142Y-123522380D02* 443 | X180407142Y-122998571D01* 444 | X180454761Y-122903333D01* 445 | X180550000Y-122855714D01* 446 | X180692857Y-122855714D01* 447 | X180788095Y-122903333D01* 448 | X180835714Y-122950952D01* 449 | X179788095Y-123522380D02* 450 | X179883333Y-123474761D01* 451 | X179930952Y-123427142D01* 452 | X179978571Y-123331904D01* 453 | X179978571Y-123046190D01* 454 | X179930952Y-122950952D01* 455 | X179883333Y-122903333D01* 456 | X179788095Y-122855714D01* 457 | X179645238Y-122855714D01* 458 | X179550000Y-122903333D01* 459 | X179502380Y-122950952D01* 460 | X179454761Y-123046190D01* 461 | X179454761Y-123331904D01* 462 | X179502380Y-123427142D01* 463 | X179550000Y-123474761D01* 464 | X179645238Y-123522380D01* 465 | X179788095Y-123522380D01* 466 | X179026190Y-123522380D02* 467 | X179026190Y-122855714D01* 468 | X179026190Y-122950952D02* 469 | X178978571Y-122903333D01* 470 | X178883333Y-122855714D01* 471 | X178740476Y-122855714D01* 472 | X178645238Y-122903333D01* 473 | X178597619Y-122998571D01* 474 | X178597619Y-123522380D01* 475 | X178597619Y-122998571D02* 476 | X178550000Y-122903333D01* 477 | X178454761Y-122855714D01* 478 | X178311904Y-122855714D01* 479 | X178216666Y-122903333D01* 480 | X178169047Y-122998571D01* 481 | X178169047Y-123522380D01* 482 | X177311904Y-123474761D02* 483 | X177407142Y-123522380D01* 484 | X177597619Y-123522380D01* 485 | X177692857Y-123474761D01* 486 | X177740476Y-123379523D01* 487 | X177740476Y-122998571D01* 488 | X177692857Y-122903333D01* 489 | X177597619Y-122855714D01* 490 | X177407142Y-122855714D01* 491 | X177311904Y-122903333D01* 492 | X177264285Y-122998571D01* 493 | X177264285Y-123093809D01* 494 | X177740476Y-123189047D01* 495 | X176978571Y-122855714D02* 496 | X176597619Y-122855714D01* 497 | X176835714Y-123522380D02* 498 | X176835714Y-122665238D01* 499 | X176788095Y-122570000D01* 500 | X176692857Y-122522380D01* 501 | X176597619Y-122522380D01* 502 | X175835714Y-123522380D02* 503 | X175835714Y-122998571D01* 504 | X175883333Y-122903333D01* 505 | X175978571Y-122855714D01* 506 | X176169047Y-122855714D01* 507 | X176264285Y-122903333D01* 508 | X175835714Y-123474761D02* 509 | X175930952Y-123522380D01* 510 | X176169047Y-123522380D01* 511 | X176264285Y-123474761D01* 512 | X176311904Y-123379523D01* 513 | X176311904Y-123284285D01* 514 | X176264285Y-123189047D01* 515 | X176169047Y-123141428D01* 516 | X175930952Y-123141428D01* 517 | X175835714Y-123093809D01* 518 | X175359523Y-122855714D02* 519 | X175359523Y-123522380D01* 520 | X175359523Y-122950952D02* 521 | X175311904Y-122903333D01* 522 | X175216666Y-122855714D01* 523 | X175073809Y-122855714D01* 524 | X174978571Y-122903333D01* 525 | X174930952Y-122998571D01* 526 | X174930952Y-123522380D01* 527 | X174502380Y-123474761D02* 528 | X174407142Y-123522380D01* 529 | X174216666Y-123522380D01* 530 | X174121428Y-123474761D01* 531 | X174073809Y-123379523D01* 532 | X174073809Y-123331904D01* 533 | X174121428Y-123236666D01* 534 | X174216666Y-123189047D01* 535 | X174359523Y-123189047D01* 536 | X174454761Y-123141428D01* 537 | X174502380Y-123046190D01* 538 | X174502380Y-122998571D01* 539 | X174454761Y-122903333D01* 540 | X174359523Y-122855714D01* 541 | X174216666Y-122855714D01* 542 | X174121428Y-122903333D01* 543 | X191474761Y-120995714D02* 544 | X190950952Y-120995714D01* 545 | X191474761Y-121662380D01* 546 | X190950952Y-121662380D01* 547 | X190617619Y-120757619D02* 548 | X190570000Y-120710000D01* 549 | X190474761Y-120662380D01* 550 | X190236666Y-120662380D01* 551 | X190141428Y-120710000D01* 552 | X190093809Y-120757619D01* 553 | X190046190Y-120852857D01* 554 | X190046190Y-120948095D01* 555 | X190093809Y-121090952D01* 556 | X190665238Y-121662380D01* 557 | X190046190Y-121662380D01* 558 | X189617619Y-121662380D02* 559 | X189617619Y-120995714D01* 560 | X189617619Y-121090952D02* 561 | X189570000Y-121043333D01* 562 | X189474761Y-120995714D01* 563 | X189331904Y-120995714D01* 564 | X189236666Y-121043333D01* 565 | X189189047Y-121138571D01* 566 | X189189047Y-121662380D01* 567 | X189189047Y-121138571D02* 568 | X189141428Y-121043333D01* 569 | X189046190Y-120995714D01* 570 | X188903333Y-120995714D01* 571 | X188808095Y-121043333D01* 572 | X188760476Y-121138571D01* 573 | X188760476Y-121662380D01* 574 | X187522380Y-120995714D02* 575 | X187522380Y-121995714D01* 576 | X187522380Y-121043333D02* 577 | X187427142Y-120995714D01* 578 | X187236666Y-120995714D01* 579 | X187141428Y-121043333D01* 580 | X187093809Y-121090952D01* 581 | X187046190Y-121186190D01* 582 | X187046190Y-121471904D01* 583 | X187093809Y-121567142D01* 584 | X187141428Y-121614761D01* 585 | X187236666Y-121662380D01* 586 | X187427142Y-121662380D01* 587 | X187522380Y-121614761D01* 588 | X186189047Y-121662380D02* 589 | X186189047Y-121138571D01* 590 | X186236666Y-121043333D01* 591 | X186331904Y-120995714D01* 592 | X186522380Y-120995714D01* 593 | X186617619Y-121043333D01* 594 | X186189047Y-121614761D02* 595 | X186284285Y-121662380D01* 596 | X186522380Y-121662380D01* 597 | X186617619Y-121614761D01* 598 | X186665238Y-121519523D01* 599 | X186665238Y-121424285D01* 600 | X186617619Y-121329047D01* 601 | X186522380Y-121281428D01* 602 | X186284285Y-121281428D01* 603 | X186189047Y-121233809D01* 604 | X185712857Y-121662380D02* 605 | X185712857Y-120995714D01* 606 | X185712857Y-121186190D02* 607 | X185665238Y-121090952D01* 608 | X185617619Y-121043333D01* 609 | X185522380Y-120995714D01* 610 | X185427142Y-120995714D01* 611 | X185236666Y-120995714D02* 612 | X184855714Y-120995714D01* 613 | X185093809Y-120662380D02* 614 | X185093809Y-121519523D01* 615 | X185046190Y-121614761D01* 616 | X184950952Y-121662380D01* 617 | X184855714Y-121662380D01* 618 | X184522380Y-120995714D02* 619 | X184522380Y-121662380D01* 620 | X184522380Y-121090952D02* 621 | X184474761Y-121043333D01* 622 | X184379523Y-120995714D01* 623 | X184236666Y-120995714D01* 624 | X184141428Y-121043333D01* 625 | X184093809Y-121138571D01* 626 | X184093809Y-121662380D01* 627 | X183236666Y-121614761D02* 628 | X183331904Y-121662380D01* 629 | X183522380Y-121662380D01* 630 | X183617619Y-121614761D01* 631 | X183665238Y-121519523D01* 632 | X183665238Y-121138571D01* 633 | X183617619Y-121043333D01* 634 | X183522380Y-120995714D01* 635 | X183331904Y-120995714D01* 636 | X183236666Y-121043333D01* 637 | X183189047Y-121138571D01* 638 | X183189047Y-121233809D01* 639 | X183665238Y-121329047D01* 640 | X182760476Y-121662380D02* 641 | X182760476Y-120995714D01* 642 | X182760476Y-121186190D02* 643 | X182712857Y-121090952D01* 644 | X182665238Y-121043333D01* 645 | X182570000Y-120995714D01* 646 | X182474761Y-120995714D01* 647 | X181474761Y-120995714D02* 648 | X181236666Y-121662380D01* 649 | X180998571Y-120995714D01* 650 | X180427142Y-120662380D02* 651 | X180331904Y-120662380D01* 652 | X180236666Y-120710000D01* 653 | X180189047Y-120757619D01* 654 | X180141428Y-120852857D01* 655 | X180093809Y-121043333D01* 656 | X180093809Y-121281428D01* 657 | X180141428Y-121471904D01* 658 | X180189047Y-121567142D01* 659 | X180236666Y-121614761D01* 660 | X180331904Y-121662380D01* 661 | X180427142Y-121662380D01* 662 | X180522380Y-121614761D01* 663 | X180570000Y-121567142D01* 664 | X180617619Y-121471904D01* 665 | X180665238Y-121281428D01* 666 | X180665238Y-121043333D01* 667 | X180617619Y-120852857D01* 668 | X180570000Y-120757619D01* 669 | X180522380Y-120710000D01* 670 | X180427142Y-120662380D01* 671 | X179712857Y-120757619D02* 672 | X179665238Y-120710000D01* 673 | X179570000Y-120662380D01* 674 | X179331904Y-120662380D01* 675 | X179236666Y-120710000D01* 676 | X179189047Y-120757619D01* 677 | X179141428Y-120852857D01* 678 | X179141428Y-120948095D01* 679 | X179189047Y-121090952D01* 680 | X179760476Y-121662380D01* 681 | X179141428Y-121662380D01* 682 | X178712857Y-121567142D02* 683 | X178665238Y-121614761D01* 684 | X178712857Y-121662380D01* 685 | X178760476Y-121614761D01* 686 | X178712857Y-121567142D01* 687 | X178712857Y-121662380D01* 688 | X177712857Y-121662380D02* 689 | X178284285Y-121662380D01* 690 | X177998571Y-121662380D02* 691 | X177998571Y-120662380D01* 692 | X178093809Y-120805238D01* 693 | X178189047Y-120900476D01* 694 | X178284285Y-120948095D01* 695 | D11* 696 | X177853733Y-103160000D02* 697 | X178196267Y-103160000D01* 698 | X177853733Y-104180000D02* 699 | X178196267Y-104180000D01* 700 | X188200000Y-100120000D02* 701 | X188200000Y-101270000D01* 702 | X180900000Y-100120000D02* 703 | X188200000Y-100120000D01* 704 | X180900000Y-105620000D02* 705 | X188200000Y-105620000D01* 706 | X179585000Y-104460000D02* 707 | X179585000Y-102000000D01* 708 | X181055000Y-104460000D02* 709 | X179585000Y-104460000D01* 710 | X181055000Y-102000000D02* 711 | X181055000Y-104460000D01* 712 | X184786267Y-94010000D02* 713 | X184443733Y-94010000D01* 714 | X184786267Y-92990000D02* 715 | X184443733Y-92990000D01* 716 | X177662039Y-106911678D02* 717 | X177833306Y-107208322D01* 718 | X176778694Y-107421678D02* 719 | X176949961Y-107718322D01* 720 | X191496694Y-107335322D02* 721 | X191667961Y-107038678D01* 722 | X192380039Y-107845322D02* 723 | X192551306Y-107548678D01* 724 | X182550000Y-89120000D02* 725 | X186550000Y-89120000D01* 726 | X185550000Y-89120000D02* 727 | X185550000Y-89620000D01* 728 | X184550000Y-89120000D02* 729 | X184550000Y-89620000D01* 730 | X183550000Y-89120000D02* 731 | X183550000Y-89620000D01* 732 | X182550000Y-89120000D02* 733 | X183050000Y-89620000D01* 734 | X183050000Y-89620000D02* 735 | X186050000Y-89620000D01* 736 | X186050000Y-89620000D02* 737 | X186550000Y-89120000D01* 738 | X197449519Y-108032949D02* 739 | X195449519Y-111497051D01* 740 | X195949519Y-110631025D02* 741 | X195516506Y-110381025D01* 742 | X196449519Y-109765000D02* 743 | X196016506Y-109515000D01* 744 | X196949519Y-108898975D02* 745 | X196516506Y-108648975D01* 746 | X197449519Y-108032949D02* 747 | X196766506Y-108215962D01* 748 | X196766506Y-108215962D02* 749 | X195266506Y-110814038D01* 750 | X195266506Y-110814038D02* 751 | X195449519Y-111497051D01* 752 | X173650481Y-111487051D02* 753 | X171650481Y-108022949D01* 754 | X172150481Y-108888975D02* 755 | X172583494Y-108638975D01* 756 | X172650481Y-109755000D02* 757 | X173083494Y-109505000D01* 758 | X173150481Y-110621025D02* 759 | X173583494Y-110371025D01* 760 | X173650481Y-111487051D02* 761 | X173833494Y-110804038D01* 762 | X173833494Y-110804038D02* 763 | X172333494Y-108205962D01* 764 | X172333494Y-108205962D02* 765 | X171650481Y-108022949D01* 766 | X193437306Y-97493322D02* 767 | X193266039Y-97196678D01* 768 | X192553961Y-98003322D02* 769 | X192382694Y-97706678D01* 770 | X184358733Y-111570000D02* 771 | X184701267Y-111570000D01* 772 | X184358733Y-112590000D02* 773 | X184701267Y-112590000D01* 774 | X176073961Y-98486678D02* 775 | X175902694Y-98783322D01* 776 | X176957306Y-98996678D02* 777 | X176786039Y-99293322D01* 778 | X173543494Y-95685962D02* 779 | X173360481Y-95002949D01* 780 | X172043494Y-98284038D02* 781 | X173543494Y-95685962D01* 782 | X171360481Y-98467051D02* 783 | X172043494Y-98284038D01* 784 | X171860481Y-97601025D02* 785 | X172293494Y-97851025D01* 786 | X172360481Y-96735000D02* 787 | X172793494Y-96985000D01* 788 | X172860481Y-95868975D02* 789 | X173293494Y-96118975D01* 790 | X171360481Y-98467051D02* 791 | X173360481Y-95002949D01* 792 | X197076506Y-96824038D02* 793 | X197759519Y-97007051D01* 794 | X195576506Y-94225962D02* 795 | X197076506Y-96824038D01* 796 | X195759519Y-93542949D02* 797 | X195576506Y-94225962D01* 798 | X196259519Y-94408975D02* 799 | X195826506Y-94658975D01* 800 | X196759519Y-95275000D02* 801 | X196326506Y-95525000D01* 802 | X197259519Y-96141025D02* 803 | X196826506Y-96391025D01* 804 | X195759519Y-93542949D02* 805 | X197759519Y-97007051D01* 806 | X186530000Y-116620000D02* 807 | X182530000Y-116620000D01* 808 | X183530000Y-116620000D02* 809 | X183530000Y-116120000D01* 810 | X184530000Y-116620000D02* 811 | X184530000Y-116120000D01* 812 | X185530000Y-116620000D02* 813 | X185530000Y-116120000D01* 814 | X186530000Y-116620000D02* 815 | X186030000Y-116120000D01* 816 | X186030000Y-116120000D02* 817 | X183030000Y-116120000D01* 818 | X183030000Y-116120000D02* 819 | X182530000Y-116620000D01* 820 | D10* 821 | X179509523Y-81900000D02* 822 | X179433333Y-81938095D01* 823 | X179319047Y-81938095D01* 824 | X179204761Y-81900000D01* 825 | X179128571Y-81823809D01* 826 | X179090476Y-81747619D01* 827 | X179052380Y-81595238D01* 828 | X179052380Y-81480952D01* 829 | X179090476Y-81328571D01* 830 | X179128571Y-81252380D01* 831 | X179204761Y-81176190D01* 832 | X179319047Y-81138095D01* 833 | X179395238Y-81138095D01* 834 | X179509523Y-81176190D01* 835 | X179547619Y-81214285D01* 836 | X179547619Y-81480952D01* 837 | X179395238Y-81480952D01* 838 | X181719047Y-81138095D02* 839 | X181719047Y-81938095D01* 840 | X181909523Y-81938095D01* 841 | X182023809Y-81900000D01* 842 | X182100000Y-81823809D01* 843 | X182138095Y-81747619D01* 844 | X182176190Y-81595238D01* 845 | X182176190Y-81480952D01* 846 | X182138095Y-81328571D01* 847 | X182100000Y-81252380D01* 848 | X182023809Y-81176190D01* 849 | X181909523Y-81138095D01* 850 | X181719047Y-81138095D01* 851 | X184804761Y-81214285D02* 852 | X184766666Y-81176190D01* 853 | X184652380Y-81138095D01* 854 | X184576190Y-81138095D01* 855 | X184461904Y-81176190D01* 856 | X184385714Y-81252380D01* 857 | X184347619Y-81328571D01* 858 | X184309523Y-81480952D01* 859 | X184309523Y-81595238D01* 860 | X184347619Y-81747619D01* 861 | X184385714Y-81823809D01* 862 | X184461904Y-81900000D01* 863 | X184576190Y-81938095D01* 864 | X184652380Y-81938095D01* 865 | X184766666Y-81900000D01* 866 | X184804761Y-81861904D01* 867 | X187433333Y-81138095D02* 868 | X187166666Y-81519047D01* 869 | X186976190Y-81138095D02* 870 | X186976190Y-81938095D01* 871 | X187280952Y-81938095D01* 872 | X187357142Y-81900000D01* 873 | X187395238Y-81861904D01* 874 | X187433333Y-81785714D01* 875 | X187433333Y-81671428D01* 876 | X187395238Y-81595238D01* 877 | X187357142Y-81557142D01* 878 | X187280952Y-81519047D01* 879 | X186976190Y-81519047D01* 880 | X189490476Y-81938095D02* 881 | X189757142Y-81138095D01* 882 | X190023809Y-81938095D01* 883 | X178466666Y-102657142D02* 884 | X178514285Y-102704761D01* 885 | X178657142Y-102752380D01* 886 | X178752380Y-102752380D01* 887 | X178895238Y-102704761D01* 888 | X178990476Y-102609523D01* 889 | X179038095Y-102514285D01* 890 | X179085714Y-102323809D01* 891 | X179085714Y-102180952D01* 892 | X179038095Y-101990476D01* 893 | X178990476Y-101895238D01* 894 | X178895238Y-101800000D01* 895 | X178752380Y-101752380D01* 896 | X178657142Y-101752380D01* 897 | X178514285Y-101800000D01* 898 | X178466666Y-101847619D01* 899 | X177514285Y-102752380D02* 900 | X178085714Y-102752380D01* 901 | X177800000Y-102752380D02* 902 | X177800000Y-101752380D01* 903 | X177895238Y-101895238D01* 904 | X177990476Y-101990476D01* 905 | X178085714Y-102038095D01* 906 | X184838095Y-99952380D02* 907 | X184838095Y-98952380D01* 908 | X184600000Y-98952380D01* 909 | X184457142Y-99000000D01* 910 | X184361904Y-99095238D01* 911 | X184314285Y-99190476D01* 912 | X184266666Y-99380952D01* 913 | X184266666Y-99523809D01* 914 | X184314285Y-99714285D01* 915 | X184361904Y-99809523D01* 916 | X184457142Y-99904761D01* 917 | X184600000Y-99952380D01* 918 | X184838095Y-99952380D01* 919 | X183314285Y-99952380D02* 920 | X183885714Y-99952380D01* 921 | X183600000Y-99952380D02* 922 | X183600000Y-98952380D01* 923 | X183695238Y-99095238D01* 924 | X183790476Y-99190476D01* 925 | X183885714Y-99238095D01* 926 | X180552380Y-99561904D02* 927 | X179552380Y-99561904D01* 928 | X179552380Y-99800000D01* 929 | X179600000Y-99942857D01* 930 | X179695238Y-100038095D01* 931 | X179790476Y-100085714D01* 932 | X179980952Y-100133333D01* 933 | X180123809Y-100133333D01* 934 | X180314285Y-100085714D01* 935 | X180409523Y-100038095D01* 936 | X180504761Y-99942857D01* 937 | X180552380Y-99800000D01* 938 | X180552380Y-99561904D01* 939 | X179647619Y-100514285D02* 940 | X179600000Y-100561904D01* 941 | X179552380Y-100657142D01* 942 | X179552380Y-100895238D01* 943 | X179600000Y-100990476D01* 944 | X179647619Y-101038095D01* 945 | X179742857Y-101085714D01* 946 | X179838095Y-101085714D01* 947 | X179980952Y-101038095D01* 948 | X180552380Y-100466666D01* 949 | X180552380Y-101085714D01* 950 | X184566666Y-95157142D02* 951 | X184614285Y-95204761D01* 952 | X184757142Y-95252380D01* 953 | X184852380Y-95252380D01* 954 | X184995238Y-95204761D01* 955 | X185090476Y-95109523D01* 956 | X185138095Y-95014285D01* 957 | X185185714Y-94823809D01* 958 | X185185714Y-94680952D01* 959 | X185138095Y-94490476D01* 960 | X185090476Y-94395238D01* 961 | X184995238Y-94300000D01* 962 | X184852380Y-94252380D01* 963 | X184757142Y-94252380D01* 964 | X184614285Y-94300000D01* 965 | X184566666Y-94347619D01* 966 | X184185714Y-94347619D02* 967 | X184138095Y-94300000D01* 968 | X184042857Y-94252380D01* 969 | X183804761Y-94252380D01* 970 | X183709523Y-94300000D01* 971 | X183661904Y-94347619D01* 972 | X183614285Y-94442857D01* 973 | X183614285Y-94538095D01* 974 | X183661904Y-94680952D01* 975 | X184233333Y-95252380D01* 976 | X183614285Y-95252380D01* 977 | X178274038Y-107122908D02* 978 | X178256608Y-107187957D01* 979 | X178286798Y-107335485D01* 980 | X178334417Y-107417963D01* 981 | X178447084Y-107517872D01* 982 | X178577182Y-107552731D01* 983 | X178683470Y-107546352D01* 984 | X178872237Y-107492353D01* 985 | X178995955Y-107420924D01* 986 | X179137103Y-107284447D01* 987 | X179195772Y-107195588D01* 988 | X179230631Y-107065491D01* 989 | X179200442Y-106917963D01* 990 | X179152823Y-106835485D01* 991 | X179040155Y-106735576D01* 992 | X178975106Y-106718147D01* 993 | X178400717Y-106389942D02* 994 | X178489575Y-106448611D01* 995 | X178554624Y-106466040D01* 996 | X178660912Y-106459661D01* 997 | X178702151Y-106435851D01* 998 | X178760821Y-106346993D01* 999 | X178778250Y-106281944D01* 1000 | X178771871Y-106175656D01* 1001 | X178676632Y-106010699D01* 1002 | X178587774Y-105952030D01* 1003 | X178522725Y-105934600D01* 1004 | X178416437Y-105940980D01* 1005 | X178375198Y-105964789D01* 1006 | X178316529Y-106053647D01* 1007 | X178299099Y-106118696D01* 1008 | X178305479Y-106224984D01* 1009 | X178400717Y-106389942D01* 1010 | X178407097Y-106496230D01* 1011 | X178389667Y-106561279D01* 1012 | X178330998Y-106650137D01* 1013 | X178166040Y-106745375D01* 1014 | X178059752Y-106751755D01* 1015 | X177994704Y-106734325D01* 1016 | X177905845Y-106675656D01* 1017 | X177810607Y-106510699D01* 1018 | X177804227Y-106404411D01* 1019 | X177821657Y-106339362D01* 1020 | X177880326Y-106250503D01* 1021 | X178045283Y-106155265D01* 1022 | X178151572Y-106148886D01* 1023 | X178216620Y-106166315D01* 1024 | X178305479Y-106224984D01* 1025 | X191292628Y-106934233D02* 1026 | X191357676Y-106916804D01* 1027 | X191470344Y-106816895D01* 1028 | X191517963Y-106734417D01* 1029 | X191548153Y-106586889D01* 1030 | X191513293Y-106456791D01* 1031 | X191454624Y-106367933D01* 1032 | X191313476Y-106231456D01* 1033 | X191189758Y-106160027D01* 1034 | X191000992Y-106106028D01* 1035 | X190894704Y-106099649D01* 1036 | X190764606Y-106134508D01* 1037 | X190651938Y-106234417D01* 1038 | X190604319Y-106316895D01* 1039 | X190574130Y-106464423D01* 1040 | X190591559Y-106529471D01* 1041 | X191137011Y-107394245D02* 1042 | X191041773Y-107559203D01* 1043 | X190952915Y-107617872D01* 1044 | X190887866Y-107635302D01* 1045 | X190716529Y-107646352D01* 1046 | X190527762Y-107592353D01* 1047 | X190197848Y-107401877D01* 1048 | X190139178Y-107313018D01* 1049 | X190121749Y-107247969D01* 1050 | X190128128Y-107141681D01* 1051 | X190223367Y-106976724D01* 1052 | X190312225Y-106918055D01* 1053 | X190377274Y-106900625D01* 1054 | X190483562Y-106907005D01* 1055 | X190689758Y-107026053D01* 1056 | X190748427Y-107114911D01* 1057 | X190765857Y-107179960D01* 1058 | X190759478Y-107286248D01* 1059 | X190664239Y-107451205D01* 1060 | X190575381Y-107509874D01* 1061 | X190510332Y-107527304D01* 1062 | X190404044Y-107520924D01* 1063 | X185438095Y-92752380D02* 1064 | X185438095Y-91752380D01* 1065 | X185200000Y-91752380D01* 1066 | X185057142Y-91800000D01* 1067 | X184961904Y-91895238D01* 1068 | X184914285Y-91990476D01* 1069 | X184866666Y-92180952D01* 1070 | X184866666Y-92323809D01* 1071 | X184914285Y-92514285D01* 1072 | X184961904Y-92609523D01* 1073 | X185057142Y-92704761D01* 1074 | X185200000Y-92752380D01* 1075 | X185438095Y-92752380D01* 1076 | X184533333Y-91752380D02* 1077 | X183914285Y-91752380D01* 1078 | X184247619Y-92133333D01* 1079 | X184104761Y-92133333D01* 1080 | X184009523Y-92180952D01* 1081 | X183961904Y-92228571D01* 1082 | X183914285Y-92323809D01* 1083 | X183914285Y-92561904D01* 1084 | X183961904Y-92657142D01* 1085 | X184009523Y-92704761D01* 1086 | X184104761Y-92752380D01* 1087 | X184390476Y-92752380D01* 1088 | X184485714Y-92704761D01* 1089 | X184533333Y-92657142D01* 1090 | X194460821Y-107986981D02* 1091 | X193594795Y-107486981D01* 1092 | X193475747Y-107693177D01* 1093 | X193445558Y-107840705D01* 1094 | X193480418Y-107970802D01* 1095 | X193539087Y-108059661D01* 1096 | X193680235Y-108196138D01* 1097 | X193803952Y-108267567D01* 1098 | X193992719Y-108321565D01* 1099 | X194099007Y-108327945D01* 1100 | X194229105Y-108293086D01* 1101 | X194341773Y-108193177D01* 1102 | X194460821Y-107986981D01* 1103 | X193169185Y-108890827D02* 1104 | X193746535Y-109224160D01* 1105 | X192958318Y-108494154D02* 1106 | X193695955Y-108645100D01* 1107 | X193386431Y-109181211D01* 1108 | X175177274Y-108965399D02* 1109 | X176043299Y-108465399D01* 1110 | X175924252Y-108259203D01* 1111 | X175811584Y-108159294D01* 1112 | X175681486Y-108124435D01* 1113 | X175575198Y-108130814D01* 1114 | X175386431Y-108184813D01* 1115 | X175262713Y-108256242D01* 1116 | X175121565Y-108392719D01* 1117 | X175062896Y-108481578D01* 1118 | X175028037Y-108611675D01* 1119 | X175058226Y-108759203D01* 1120 | X175177274Y-108965399D01* 1121 | X175305204Y-107186981D02* 1122 | X175543299Y-107599374D01* 1123 | X175154716Y-107878708D01* 1124 | X175172145Y-107813660D01* 1125 | X175165766Y-107707371D01* 1126 | X175046718Y-107501175D01* 1127 | X174957860Y-107442506D01* 1128 | X174892811Y-107425076D01* 1129 | X174786523Y-107431456D01* 1130 | X174580326Y-107550503D01* 1131 | X174521657Y-107639362D01* 1132 | X174504227Y-107704411D01* 1133 | X174510607Y-107810699D01* 1134 | X174629655Y-108016895D01* 1135 | X174718513Y-108075564D01* 1136 | X174783562Y-108092994D01* 1137 | X191712133Y-99135302D02* 1138 | X191694704Y-99200350D01* 1139 | X191724893Y-99347878D01* 1140 | X191772512Y-99430356D01* 1141 | X191885180Y-99530265D01* 1142 | X192015277Y-99565124D01* 1143 | X192121565Y-99558745D01* 1144 | X192310332Y-99504746D01* 1145 | X192434050Y-99433317D01* 1146 | X192575198Y-99296840D01* 1147 | X192633867Y-99207982D01* 1148 | X192668726Y-99077884D01* 1149 | X192638537Y-98930356D01* 1150 | X192590918Y-98847878D01* 1151 | X192478250Y-98747969D01* 1152 | X192413201Y-98730540D01* 1153 | X191153464Y-98358134D02* 1154 | X191439178Y-98853006D01* 1155 | X191296321Y-98605570D02* 1156 | X192162347Y-98105570D01* 1157 | X192086248Y-98259478D01* 1158 | X192051388Y-98389575D01* 1159 | X192057768Y-98495863D01* 1160 | X191709966Y-97322024D02* 1161 | X191662347Y-97239545D01* 1162 | X191573488Y-97180876D01* 1163 | X191508440Y-97163446D01* 1164 | X191402151Y-97169826D01* 1165 | X191213385Y-97223825D01* 1166 | X191007188Y-97342872D01* 1167 | X190866040Y-97479350D01* 1168 | X190807371Y-97568208D01* 1169 | X190789942Y-97633257D01* 1170 | X190796321Y-97739545D01* 1171 | X190843940Y-97822024D01* 1172 | X190932799Y-97880693D01* 1173 | X190997848Y-97898122D01* 1174 | X191104136Y-97891743D01* 1175 | X191292902Y-97837744D01* 1176 | X191499099Y-97718696D01* 1177 | X191640247Y-97582219D01* 1178 | X191698916Y-97493360D01* 1179 | X191716346Y-97428312D01* 1180 | X191709966Y-97322024D01* 1181 | X185142857Y-111157142D02* 1182 | X185190476Y-111204761D01* 1183 | X185333333Y-111252380D01* 1184 | X185428571Y-111252380D01* 1185 | X185571428Y-111204761D01* 1186 | X185666666Y-111109523D01* 1187 | X185714285Y-111014285D01* 1188 | X185761904Y-110823809D01* 1189 | X185761904Y-110680952D01* 1190 | X185714285Y-110490476D01* 1191 | X185666666Y-110395238D01* 1192 | X185571428Y-110300000D01* 1193 | X185428571Y-110252380D01* 1194 | X185333333Y-110252380D01* 1195 | X185190476Y-110300000D01* 1196 | X185142857Y-110347619D01* 1197 | X184190476Y-111252380D02* 1198 | X184761904Y-111252380D01* 1199 | X184476190Y-111252380D02* 1200 | X184476190Y-110252380D01* 1201 | X184571428Y-110395238D01* 1202 | X184666666Y-110490476D01* 1203 | X184761904Y-110538095D01* 1204 | X183238095Y-111252380D02* 1205 | X183809523Y-111252380D01* 1206 | X183523809Y-111252380D02* 1207 | X183523809Y-110252380D01* 1208 | X183619047Y-110395238D01* 1209 | X183714285Y-110490476D01* 1210 | X183809523Y-110538095D01* 1211 | X178330723Y-99121839D02* 1212 | X178395772Y-99104410D01* 1213 | X178508440Y-99004501D01* 1214 | X178556059Y-98922023D01* 1215 | X178586248Y-98774495D01* 1216 | X178551388Y-98644397D01* 1217 | X178492719Y-98555539D01* 1218 | X178351572Y-98419062D01* 1219 | X178227854Y-98347633D01* 1220 | X178039087Y-98293634D01* 1221 | X177932799Y-98287255D01* 1222 | X177802701Y-98322114D01* 1223 | X177690033Y-98422023D01* 1224 | X177642414Y-98504501D01* 1225 | X177612225Y-98652029D01* 1226 | X177629655Y-98717077D01* 1227 | X177937011Y-99994244D02* 1228 | X178222725Y-99499373D01* 1229 | X178079868Y-99746809D02* 1230 | X177213843Y-99246809D01* 1231 | X177385180Y-99235759D01* 1232 | X177515277Y-99200899D01* 1233 | X177604136Y-99142230D01* 1234 | X176962988Y-99871778D02* 1235 | X176897939Y-99889208D01* 1236 | X176809081Y-99947877D01* 1237 | X176690033Y-100154073D01* 1238 | X176683653Y-100260361D01* 1239 | X176701083Y-100325410D01* 1240 | X176759752Y-100414269D01* 1241 | X176842231Y-100461888D01* 1242 | X176989758Y-100492077D01* 1243 | X177770344Y-100282920D01* 1244 | X177460821Y-100819031D01* 1245 | X176160821Y-97486981D02* 1246 | X175294795Y-96986981D01* 1247 | X175175747Y-97193177D01* 1248 | X175145558Y-97340705D01* 1249 | X175180418Y-97470802D01* 1250 | X175239087Y-97559661D01* 1251 | X175380235Y-97696138D01* 1252 | X175503952Y-97767567D01* 1253 | X175692719Y-97821565D01* 1254 | X175799007Y-97827945D01* 1255 | X175929105Y-97793086D01* 1256 | X176041773Y-97693177D01* 1257 | X176160821Y-97486981D01* 1258 | X174580509Y-98224160D02* 1259 | X174675747Y-98059203D01* 1260 | X174764606Y-98000534D01* 1261 | X174829655Y-97983104D01* 1262 | X175000992Y-97972054D01* 1263 | X175189758Y-98026053D01* 1264 | X175519673Y-98216529D01* 1265 | X175578342Y-98305387D01* 1266 | X175595772Y-98370436D01* 1267 | X175589392Y-98476724D01* 1268 | X175494154Y-98641681D01* 1269 | X175405295Y-98700350D01* 1270 | X175340247Y-98717780D01* 1271 | X175233959Y-98711400D01* 1272 | X175027762Y-98592353D01* 1273 | X174969093Y-98503494D01* 1274 | X174951663Y-98438446D01* 1275 | X174958043Y-98332157D01* 1276 | X175053281Y-98167200D01* 1277 | X175142139Y-98108531D01* 1278 | X175207188Y-98091101D01* 1279 | X175313476Y-98097481D01* 1280 | X194077274Y-97765399D02* 1281 | X194943299Y-97265399D01* 1282 | X194824252Y-97059203D01* 1283 | X194711584Y-96959294D01* 1284 | X194581486Y-96924435D01* 1285 | X194475198Y-96930814D01* 1286 | X194286431Y-96984813D01* 1287 | X194162713Y-97056242D01* 1288 | X194021565Y-97192719D01* 1289 | X193962896Y-97281578D01* 1290 | X193928037Y-97411675D01* 1291 | X193958226Y-97559203D01* 1292 | X194077274Y-97765399D01* 1293 | X194490918Y-96481852D02* 1294 | X194157585Y-95904502D01* 1295 | X193505845Y-96775656D01* 1296 | X185238095Y-114052380D02* 1297 | X185238095Y-113052380D01* 1298 | X185000000Y-113052380D01* 1299 | X184857142Y-113100000D01* 1300 | X184761904Y-113195238D01* 1301 | X184714285Y-113290476D01* 1302 | X184666666Y-113480952D01* 1303 | X184666666Y-113623809D01* 1304 | X184714285Y-113814285D01* 1305 | X184761904Y-113909523D01* 1306 | X184857142Y-114004761D01* 1307 | X185000000Y-114052380D01* 1308 | X185238095Y-114052380D01* 1309 | X184095238Y-113480952D02* 1310 | X184190476Y-113433333D01* 1311 | X184238095Y-113385714D01* 1312 | X184285714Y-113290476D01* 1313 | X184285714Y-113242857D01* 1314 | X184238095Y-113147619D01* 1315 | X184190476Y-113100000D01* 1316 | X184095238Y-113052380D01* 1317 | X183904761Y-113052380D01* 1318 | X183809523Y-113100000D01* 1319 | X183761904Y-113147619D01* 1320 | X183714285Y-113242857D01* 1321 | X183714285Y-113290476D01* 1322 | X183761904Y-113385714D01* 1323 | X183809523Y-113433333D01* 1324 | X183904761Y-113480952D01* 1325 | X184095238Y-113480952D01* 1326 | X184190476Y-113528571D01* 1327 | X184238095Y-113576190D01* 1328 | X184285714Y-113671428D01* 1329 | X184285714Y-113861904D01* 1330 | X184238095Y-113957142D01* 1331 | X184190476Y-114004761D01* 1332 | X184095238Y-114052380D01* 1333 | X183904761Y-114052380D01* 1334 | X183809523Y-114004761D01* 1335 | X183761904Y-113957142D01* 1336 | X183714285Y-113861904D01* 1337 | X183714285Y-113671428D01* 1338 | X183761904Y-113576190D01* 1339 | X183809523Y-113528571D01* 1340 | X183904761Y-113480952D01* 1341 | M02* 1342 | -------------------------------------------------------------------------------- /project/gerber/z2m_partner-EdgeCuts.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,(5.1.4-0-10_14)*% 2 | %TF.CreationDate,2019-11-29T01:48:41+08:00*% 3 | %TF.ProjectId,z2m_partner,7a326d5f-7061-4727-946e-65722e6b6963,rev?*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Profile,NP*% 6 | %FSLAX46Y46*% 7 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 8 | G04 Created by KiCad (PCBNEW (5.1.4-0-10_14)) date 2019-11-29 01:48:41* 9 | %MOMM*% 10 | %LPD*% 11 | G04 APERTURE LIST* 12 | %ADD10C,0.050000*% 13 | G04 APERTURE END LIST* 14 | D10* 15 | X197447588Y-124280891D02* 16 | X197486919Y-124256979D01* 17 | X197486919Y-124256979D02* 18 | G75* 19 | G02X198259998Y-123769998I63081J756979D01* 20 | G01* 21 | X197447588Y-124280891D02* 22 | G75* 23 | G02X198259999Y-123769999I-12897588J21410891D01* 24 | G01* 25 | M02* 26 | -------------------------------------------------------------------------------- /project/gerber/z2m_partner-NPTH.drl: -------------------------------------------------------------------------------- 1 | M48 2 | ; DRILL file {KiCad (5.1.4-0-10_14)} date 2019 November 29, Friday 01:48:41 3 | ; FORMAT={-:-/ absolute / metric / decimal} 4 | ; #@! TF.CreationDate,2019-11-29T01:48:41+08:00 5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.4-0-10_14) 6 | ; #@! TF.FileFunction,NonPlated,1,2,NPTH 7 | FMAT,2 8 | METRIC 9 | T1C0.650 10 | T2C3.200 11 | % 12 | G90 13 | G05 14 | T1 15 | X165.0Y-99.98 16 | X165.0Y-105.76 17 | T2 18 | X173.1Y-102.88 19 | X196.08Y-90.36 20 | T0 21 | M30 22 | -------------------------------------------------------------------------------- /project/gerber/z2m_partner-PTH.drl: -------------------------------------------------------------------------------- 1 | M48 2 | ; DRILL file {KiCad (5.1.4-0-10_14)} date 2019 November 29, Friday 01:48:41 3 | ; FORMAT={-:-/ absolute / metric / decimal} 4 | ; #@! TF.CreationDate,2019-11-29T01:48:41+08:00 5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.4-0-10_14) 6 | ; #@! TF.FileFunction,Plated,1,2,PTH 7 | FMAT,2 8 | METRIC 9 | T1C0.254 10 | T2C0.400 11 | T3C0.600 12 | T4C1.000 13 | % 14 | G90 15 | G05 16 | T1 17 | X160.59Y-101.98 18 | X160.77Y-102.79 19 | X161.42Y-102.01 20 | X161.56Y-102.77 21 | X162.86Y-110.42 22 | X163.9Y-95.32 23 | X164.08Y-96.13 24 | X164.73Y-95.35 25 | X164.87Y-96.11 26 | X167.19Y-90.87 27 | X168.26Y-116.74 28 | X168.68Y-95.17 29 | X169.12Y-117.67 30 | X169.29Y-99.89 31 | X169.46Y-106.8 32 | X169.48Y-99.06 33 | X170.69Y-108.0 34 | X172.62Y-118.85 35 | X172.74Y-106.86 36 | X172.98Y-113.82 37 | X173.43Y-85.0 38 | X173.62Y-94.28 39 | X173.79Y-114.8 40 | X174.484Y-112.06 41 | X174.78Y-83.56 42 | X174.96Y-84.37 43 | X174.97Y-85.76 44 | X174.99Y-96.8 45 | X175.463Y-91.093 46 | X175.61Y-83.59 47 | X175.7Y-118.52 48 | X175.75Y-84.35 49 | X176.113Y-91.193 50 | X176.14Y-80.41 51 | X176.32Y-81.22 52 | X176.97Y-80.44 53 | X177.11Y-81.2 54 | X177.25Y-118.55 55 | X177.32Y-91.37 56 | X177.43Y-88.13 57 | X177.61Y-88.94 58 | X177.73Y-97.42 59 | X177.75Y-104.94 60 | X178.03Y-105.82 61 | X178.06Y-115.34 62 | X178.26Y-88.16 63 | X178.33Y-84.88 64 | X178.36Y-112.57 65 | X178.4Y-88.92 66 | X178.65Y-109.76 67 | X178.98Y-84.1 68 | X179.261Y-112.476 69 | X179.8Y-111.599 70 | X180.25Y-95.67 71 | X180.32Y-97.88 72 | X180.38Y-87.89 73 | X180.43Y-96.48 74 | X180.5Y-98.69 75 | X180.56Y-88.7 76 | X180.7Y-118.5 77 | X180.72Y-86.2 78 | X180.88Y-119.31 79 | X180.9Y-87.01 80 | X180.92Y-113.24 81 | X181.08Y-95.7 82 | X181.15Y-97.91 83 | X181.21Y-87.92 84 | X181.22Y-96.46 85 | X181.29Y-98.67 86 | X181.35Y-88.68 87 | X181.53Y-118.53 88 | X181.54Y-114.08 89 | X181.55Y-86.23 90 | X181.67Y-119.29 91 | X181.69Y-86.99 92 | X182.44Y-116.28 93 | X182.53Y-108.21 94 | X182.54Y-109.06 95 | X182.54Y-118.52 96 | X182.72Y-119.33 97 | X182.83Y-87.29 98 | X182.86Y-95.74 99 | X182.86Y-97.84 100 | X183.01Y-85.49 101 | X183.01Y-88.1 102 | X183.04Y-96.55 103 | X183.04Y-98.65 104 | X183.19Y-86.3 105 | X183.28Y-108.2 106 | X183.33Y-108.99 107 | X183.37Y-118.55 108 | X183.51Y-119.31 109 | X183.66Y-87.32 110 | X183.69Y-95.77 111 | X183.69Y-97.87 112 | X183.8Y-88.08 113 | X183.83Y-96.53 114 | X183.83Y-98.63 115 | X183.84Y-85.52 116 | X183.98Y-86.28 117 | X184.08Y-108.19 118 | X184.19Y-109.01 119 | X184.55Y-118.48 120 | X184.73Y-119.29 121 | X184.88Y-108.2 122 | X185.06Y-109.01 123 | X185.18Y-81.49 124 | X185.36Y-99.43 125 | X185.36Y-100.8 126 | X185.37Y-87.0 127 | X185.38Y-118.51 128 | X185.52Y-119.27 129 | X185.55Y-87.81 130 | X185.58Y-94.93 131 | X185.71Y-108.23 132 | X185.85Y-108.99 133 | X186.2Y-87.03 134 | X186.34Y-87.79 135 | X186.47Y-118.44 136 | X186.6Y-116.23 137 | X186.65Y-119.25 138 | X187.01Y-109.55 139 | X187.3Y-118.47 140 | X187.36Y-92.05 141 | X187.44Y-119.23 142 | X187.96Y-95.49 143 | X187.96Y-115.6 144 | X188.01Y-93.71 145 | X188.14Y-96.3 146 | X188.19Y-94.52 147 | X188.25Y-107.69 148 | X188.27Y-97.26 149 | X188.43Y-108.5 150 | X188.45Y-98.07 151 | X188.66Y-118.46 152 | X188.69Y-101.06 153 | X188.79Y-95.52 154 | X188.84Y-93.74 155 | X188.84Y-119.27 156 | X188.92Y-84.24 157 | X188.93Y-96.28 158 | X188.98Y-94.5 159 | X189.08Y-107.72 160 | X189.1Y-85.05 161 | X189.1Y-97.29 162 | X189.22Y-108.48 163 | X189.22Y-115.27 164 | X189.24Y-98.05 165 | X189.49Y-118.49 166 | X189.63Y-119.25 167 | X189.75Y-84.27 168 | X189.89Y-85.03 169 | X190.01Y-115.25 170 | X190.65Y-86.34 171 | X190.69Y-109.1 172 | X190.83Y-87.15 173 | X190.86Y-100.19 174 | X191.01Y-84.16 175 | X191.19Y-84.97 176 | X191.48Y-86.37 177 | X191.51Y-115.32 178 | X191.62Y-87.13 179 | X191.81Y-80.43 180 | X191.84Y-84.19 181 | X191.98Y-84.95 182 | X191.99Y-81.24 183 | X192.64Y-80.46 184 | X192.78Y-81.22 185 | X192.85Y-110.42 186 | X192.98Y-88.85 187 | X193.24Y-85.15 188 | X193.61Y-87.19 189 | X194.18Y-92.55 190 | X195.27Y-98.12 191 | X195.4Y-93.36 192 | X195.76Y-113.49 193 | X195.85Y-85.82 194 | X196.07Y-112.26 195 | X196.38Y-94.34 196 | X196.69Y-101.44 197 | X197.07Y-83.94 198 | X197.41Y-106.75 199 | X197.54Y-95.26 200 | X197.677Y-108.245 201 | X197.85Y-104.7 202 | X198.03Y-105.51 203 | X198.217Y-99.718 204 | X198.68Y-104.73 205 | X198.82Y-105.49 206 | X199.01Y-90.14 207 | X199.28Y-115.08 208 | X199.65Y-108.72 209 | X199.72Y-104.7 210 | X199.73Y-100.53 211 | X199.75Y-95.84 212 | X199.9Y-105.51 213 | X200.42Y-100.51 214 | X200.55Y-104.73 215 | X200.58Y-95.79 216 | X200.6Y-110.28 217 | X200.69Y-105.49 218 | X200.84Y-119.58 219 | X201.63Y-100.26 220 | X201.86Y-87.28 221 | X202.1Y-95.71 222 | X202.1Y-98.74 223 | X202.1Y-99.3 224 | X202.2Y-88.49 225 | X202.26Y-109.39 226 | X202.36Y-105.62 227 | X203.42Y-94.5 228 | X204.17Y-100.14 229 | X204.7Y-92.7 230 | X206.49Y-111.97 231 | X206.7Y-101.36 232 | T2 233 | X162.56Y-106.426 234 | X162.738Y-100.965 235 | X162.763Y-104.8 236 | X163.576Y-106.426 237 | X163.858Y-104.064 238 | X165.075Y-101.918 239 | X168.05Y-92.53 240 | X174.81Y-98.85 241 | X205.105Y-114.173 242 | T4 243 | X179.45Y-79.9 244 | X181.99Y-79.9 245 | X184.53Y-79.9 246 | X187.07Y-79.9 247 | X189.61Y-79.9 248 | T3 249 | X161.65Y-98.55 250 | X161.45Y-98.55 251 | X161.25Y-98.55 252 | X161.05Y-98.55 253 | X161.65Y-107.19 254 | X161.45Y-107.19 255 | X161.25Y-107.19 256 | X161.05Y-107.19 257 | X166.08Y-98.55 258 | X165.88Y-98.55 259 | X165.68Y-98.55 260 | X165.48Y-98.55 261 | X165.28Y-98.55 262 | X165.08Y-98.55 263 | X164.98Y-98.55 264 | X166.08Y-107.19 265 | X165.88Y-107.19 266 | X165.68Y-107.19 267 | X165.48Y-107.19 268 | X165.28Y-107.19 269 | X165.08Y-107.19 270 | X164.98Y-107.19 271 | T0 272 | M30 273 | -------------------------------------------------------------------------------- /project/gerber/z2m_partner-Top_Silk.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,(5.1.4-0-10_14)*% 2 | %TF.CreationDate,2019-11-29T01:48:41+08:00*% 3 | %TF.ProjectId,z2m_partner,7a326d5f-7061-4727-946e-65722e6b6963,rev?*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Legend,Top*% 6 | %TF.FilePolarity,Positive*% 7 | %FSLAX46Y46*% 8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 9 | G04 Created by KiCad (PCBNEW (5.1.4-0-10_14)) date 2019-11-29 01:48:41* 10 | %MOMM*% 11 | %LPD*% 12 | G04 APERTURE LIST* 13 | %ADD10C,0.150000*% 14 | %ADD11C,0.152400*% 15 | %ADD12C,0.120000*% 16 | G04 APERTURE END LIST* 17 | D10* 18 | X204697153Y-90766129D02* 19 | X205033870Y-91102846D01* 20 | X204427779Y-90900816D02* 21 | X205370588Y-90429411D01* 22 | X204899183Y-91372220D01* 23 | X203917652Y-91983363D02* 24 | X203984995Y-92118050D01* 25 | X203984995Y-92185393D01* 26 | X203951324Y-92286408D01* 27 | X203850308Y-92387424D01* 28 | X203749293Y-92421095D01* 29 | X203681949Y-92421095D01* 30 | X203580934Y-92387424D01* 31 | X203311560Y-92118050D01* 32 | X204018667Y-91410943D01* 33 | X204254369Y-91646645D01* 34 | X204288041Y-91747660D01* 35 | X204288041Y-91815004D01* 36 | X204254369Y-91916019D01* 37 | X204187026Y-91983363D01* 38 | X204086011Y-92017034D01* 39 | X204018667Y-92017034D01* 40 | X203917652Y-91983363D01* 41 | X203681949Y-91747660D01* 42 | D11* 43 | X176466500Y-125730000D02* 44 | X194437000Y-125730000D01* 45 | X194437000Y-105727500D02* 46 | X176453800Y-105727500D01* 47 | X176453800Y-125730000D02* 48 | X176453800Y-119545000D01* 49 | X194437000Y-106145000D02* 50 | X194437000Y-105765600D01* 51 | X176453800Y-106145000D02* 52 | X176453800Y-105765600D01* 53 | X194437000Y-125730000D02* 54 | X194437000Y-119545000D01* 55 | D12* 56 | X163799520Y-112151729D02* 57 | X164041729Y-111909520D01* 58 | X163078271Y-111430480D02* 59 | X163320480Y-111188271D01* 60 | X197133733Y-116090000D02* 61 | X197476267Y-116090000D01* 62 | X197133733Y-115070000D02* 63 | X197476267Y-115070000D01* 64 | X167370000Y-93525000D02* 65 | X167370000Y-89140000D01* 66 | X164350000Y-93525000D02* 67 | X167370000Y-93525000D01* 68 | X164350000Y-89140000D02* 69 | X164350000Y-93525000D01* 70 | X168615000Y-88870000D02* 71 | X173000000Y-88870000D01* 72 | X168615000Y-85850000D02* 73 | X168615000Y-88870000D01* 74 | X173000000Y-85850000D02* 75 | X168615000Y-85850000D01* 76 | X175450000Y-88701267D02* 77 | X175450000Y-88358733D01* 78 | X174430000Y-88701267D02* 79 | X174430000Y-88358733D01* 80 | X165846252Y-94020000D02* 81 | X163073748Y-94020000D01* 82 | X165846252Y-97440000D02* 83 | X163073748Y-97440000D01* 84 | X178120000Y-81230000D02* 85 | X178120000Y-79900000D01* 86 | X179450000Y-81230000D02* 87 | X178120000Y-81230000D01* 88 | X180720000Y-81230000D02* 89 | X180720000Y-78570000D01* 90 | X180720000Y-78570000D02* 91 | X190940000Y-78570000D01* 92 | X180720000Y-81230000D02* 93 | X190940000Y-81230000D01* 94 | X190940000Y-81230000D02* 95 | X190940000Y-78570000D01* 96 | X193480000Y-84868733D02* 97 | X193480000Y-85211267D01* 98 | X194500000Y-84868733D02* 99 | X194500000Y-85211267D01* 100 | X206070000Y-105558733D02* 101 | X206070000Y-105901267D01* 102 | X207090000Y-105558733D02* 103 | X207090000Y-105901267D01* 104 | X196890000Y-118036267D02* 105 | X196890000Y-117693733D01* 106 | X195870000Y-118036267D02* 107 | X195870000Y-117693733D01* 108 | X198730000Y-118026267D02* 109 | X198730000Y-117683733D01* 110 | X197710000Y-118026267D02* 111 | X197710000Y-117683733D01* 112 | X196230000Y-111948733D02* 113 | X196230000Y-112291267D01* 114 | X197250000Y-111948733D02* 115 | X197250000Y-112291267D01* 116 | X198945824Y-85059946D02* 117 | X199843850Y-84161920D01* 118 | X202849054Y-88963176D02* 119 | X203747080Y-88065150D01* 120 | X197064920Y-86940850D02* 121 | X197962239Y-86043532D01* 122 | X200968150Y-90844080D02* 123 | X197064920Y-86940850D01* 124 | X200968150Y-90844080D02* 125 | X201427769Y-90384460D01* 126 | X202735917Y-91692608D02* 127 | X201427769Y-90384460D01* 128 | X203747080Y-88065150D02* 129 | X199843850Y-84161920D01* 130 | X202664553Y-113828284D02* 131 | X199553284Y-116939553D01* 132 | X199553284Y-116939553D02* 133 | X199638136Y-117024406D01* 134 | X200352314Y-117738584D02* 135 | X201158416Y-118544686D01* 136 | X201872594Y-119258864D02* 137 | X201957447Y-119343716D01* 138 | X201957447Y-119343716D02* 139 | X205068716Y-116232447D01* 140 | X205068716Y-116232447D02* 141 | X204983864Y-116147594D01* 142 | X204269686Y-115433416D02* 143 | X203463584Y-114627314D01* 144 | X202749406Y-113913136D02* 145 | X202664553Y-113828284D01* 146 | X205331553Y-107986284D02* 147 | X202220284Y-111097553D01* 148 | X202220284Y-111097553D02* 149 | X202305136Y-111182406D01* 150 | X203019314Y-111896584D02* 151 | X203825416Y-112702686D01* 152 | X204539594Y-113416864D02* 153 | X204624447Y-113501716D01* 154 | X204624447Y-113501716D02* 155 | X207735716Y-110390447D01* 156 | X207735716Y-110390447D02* 157 | X207650864Y-110305594D01* 158 | X206936686Y-109591416D02* 159 | X206130584Y-108785314D01* 160 | X205416406Y-108071136D02* 161 | X205331553Y-107986284D01* 162 | X172233960Y-119020960D02* 163 | X174673479Y-116581442D01* 164 | X172233960Y-119020960D02* 165 | X170855102Y-120399819D01* 166 | X165078040Y-111865040D02* 167 | X166456898Y-110486181D01* 168 | X165078040Y-111865040D02* 169 | X163699181Y-113243898D01* 170 | X195930000Y-99730000D02* 171 | X195930000Y-103180000D01* 172 | X195930000Y-99730000D02* 173 | X195930000Y-97780000D01* 174 | X206050000Y-99730000D02* 175 | X206050000Y-101680000D01* 176 | X206050000Y-99730000D02* 177 | X206050000Y-97780000D01* 178 | X176537000Y-81361000D02* 179 | X176537000Y-92021000D01* 180 | X192777000Y-81361000D02* 181 | X176537000Y-81361000D01* 182 | X192777000Y-92011000D02* 183 | X192777000Y-81361000D01* 184 | X192767000Y-104101000D02* 185 | X192767000Y-102531000D01* 186 | X190877000Y-104101000D02* 187 | X192767000Y-104101000D01* 188 | X176537000Y-104101000D02* 189 | X178427000Y-104101000D01* 190 | X176537000Y-104101000D02* 191 | X176537000Y-102531000D01* 192 | X200210000Y-93970000D02* 193 | X200210000Y-92570000D01* 194 | X197890000Y-92570000D02* 195 | X197890000Y-94470000D01* 196 | X202390000Y-93970000D02* 197 | X202390000Y-92570000D01* 198 | X200070000Y-92570000D02* 199 | X200070000Y-94470000D01* 200 | X167786000Y-98207000D02* 201 | X167786000Y-92197000D01* 202 | X174606000Y-95957000D02* 203 | X174606000Y-92197000D01* 204 | X167786000Y-92197000D02* 205 | X169046000Y-92197000D01* 206 | X174606000Y-92197000D02* 207 | X173346000Y-92197000D01* 208 | X169570480Y-100518271D02* 209 | X169328271Y-100760480D01* 210 | X170291729Y-101239520D02* 211 | X170049520Y-101481729D01* 212 | X170311729Y-104995480D02* 213 | X170069520Y-104753271D01* 214 | X169590480Y-105716729D02* 215 | X169348271Y-105474520D01* 216 | X200211267Y-112690000D02* 217 | X199868733Y-112690000D01* 218 | X200211267Y-113710000D02* 219 | X199868733Y-113710000D01* 220 | X202456267Y-107870000D02* 221 | X202113733Y-107870000D01* 222 | X202456267Y-108890000D02* 223 | X202113733Y-108890000D01* 224 | X171409899Y-110108528D02* 225 | X171692742Y-109825685D01* 226 | X171268478Y-109967107D02* 227 | X171551320Y-109684264D01* 228 | X168722893Y-107421522D02* 229 | X169005736Y-107138680D01* 230 | X169995685Y-111522742D02* 231 | X171409899Y-110108528D01* 232 | X170844214Y-108977157D02* 233 | X171127056Y-108694315D01* 234 | X170844214Y-108977157D02* 235 | X171551320Y-109684264D01* 236 | X171268478Y-109967107D02* 237 | X169854264Y-111381320D01* 238 | X169854264Y-111381320D02* 239 | X169147157Y-110674214D01* 240 | X167874365Y-109401421D02* 241 | X167308680Y-108835736D01* 242 | X167308680Y-108835736D02* 243 | X168722893Y-107421522D01* 244 | X169005736Y-107138680D02* 245 | X169571421Y-107704365D01* 246 | X200850000Y-104620000D02* 247 | X200850000Y-107050000D01* 248 | X200860000Y-104600000D02* 249 | X201860000Y-104600000D01* 250 | X203910000Y-104600000D02* 251 | X203910000Y-106450000D01* 252 | X202860000Y-104600000D02* 253 | X203910000Y-104600000D01* 254 | X200150000Y-109080000D02* 255 | X201200000Y-109080000D01* 256 | X201200000Y-109080000D02* 257 | X201200000Y-110930000D01* 258 | X198150000Y-109080000D02* 259 | X199150000Y-109080000D01* 260 | X198140000Y-109100000D02* 261 | X198140000Y-111530000D01* 262 | X195870000Y-84868733D02* 263 | X195870000Y-85211267D01* 264 | X194850000Y-84868733D02* 265 | X194850000Y-85211267D01* 266 | D10* 267 | X162234687Y-110370389D02* 268 | X162234687Y-110437732D01* 269 | X162167343Y-110572419D01* 270 | X162100000Y-110639763D01* 271 | X161965312Y-110707106D01* 272 | X161830625Y-110707106D01* 273 | X161729610Y-110673435D01* 274 | X161561251Y-110572419D01* 275 | X161460236Y-110471404D01* 276 | X161359221Y-110303045D01* 277 | X161325549Y-110202030D01* 278 | X161325549Y-110067343D01* 279 | X161392893Y-109932656D01* 280 | X161460236Y-109865312D01* 281 | X161594923Y-109797969D01* 282 | X161662267Y-109797969D01* 283 | X161830625Y-109494923D02* 284 | X162268358Y-109057190D01* 285 | X162302030Y-109562267D01* 286 | X162403045Y-109461251D01* 287 | X162504061Y-109427580D01* 288 | X162571404Y-109427580D01* 289 | X162672419Y-109461251D01* 290 | X162840778Y-109629610D01* 291 | X162874450Y-109730625D01* 292 | X162874450Y-109797969D01* 293 | X162840778Y-109898984D01* 294 | X162638748Y-110101015D01* 295 | X162537732Y-110134687D01* 296 | X162470389Y-110134687D01* 297 | X196266666Y-120285714D02* 298 | X196228571Y-120323809D01* 299 | X196114285Y-120361904D01* 300 | X196038095Y-120361904D01* 301 | X195923809Y-120323809D01* 302 | X195847619Y-120247619D01* 303 | X195809523Y-120171428D01* 304 | X195771428Y-120019047D01* 305 | X195771428Y-119904761D01* 306 | X195809523Y-119752380D01* 307 | X195847619Y-119676190D01* 308 | X195923809Y-119600000D01* 309 | X196038095Y-119561904D01* 310 | X196114285Y-119561904D01* 311 | X196228571Y-119600000D01* 312 | X196266666Y-119638095D01* 313 | X196952380Y-119828571D02* 314 | X196952380Y-120361904D01* 315 | X196761904Y-119523809D02* 316 | X196571428Y-120095238D01* 317 | X197066666Y-120095238D01* 318 | X163757142Y-92666666D02* 319 | X163804761Y-92714285D01* 320 | X163852380Y-92857142D01* 321 | X163852380Y-92952380D01* 322 | X163804761Y-93095238D01* 323 | X163709523Y-93190476D01* 324 | X163614285Y-93238095D01* 325 | X163423809Y-93285714D01* 326 | X163280952Y-93285714D01* 327 | X163090476Y-93238095D01* 328 | X162995238Y-93190476D01* 329 | X162900000Y-93095238D01* 330 | X162852380Y-92952380D01* 331 | X162852380Y-92857142D01* 332 | X162900000Y-92714285D01* 333 | X162947619Y-92666666D01* 334 | X162852380Y-91761904D02* 335 | X162852380Y-92238095D01* 336 | X163328571Y-92285714D01* 337 | X163280952Y-92238095D01* 338 | X163233333Y-92142857D01* 339 | X163233333Y-91904761D01* 340 | X163280952Y-91809523D01* 341 | X163328571Y-91761904D01* 342 | X163423809Y-91714285D01* 343 | X163661904Y-91714285D01* 344 | X163757142Y-91761904D01* 345 | X163804761Y-91809523D01* 346 | X163852380Y-91904761D01* 347 | X163852380Y-92142857D01* 348 | X163804761Y-92238095D01* 349 | X163757142Y-92285714D01* 350 | X171033333Y-85257142D02* 351 | X170985714Y-85304761D01* 352 | X170842857Y-85352380D01* 353 | X170747619Y-85352380D01* 354 | X170604761Y-85304761D01* 355 | X170509523Y-85209523D01* 356 | X170461904Y-85114285D01* 357 | X170414285Y-84923809D01* 358 | X170414285Y-84780952D01* 359 | X170461904Y-84590476D01* 360 | X170509523Y-84495238D01* 361 | X170604761Y-84400000D01* 362 | X170747619Y-84352380D01* 363 | X170842857Y-84352380D01* 364 | X170985714Y-84400000D01* 365 | X171033333Y-84447619D01* 366 | X171890476Y-84352380D02* 367 | X171700000Y-84352380D01* 368 | X171604761Y-84400000D01* 369 | X171557142Y-84447619D01* 370 | X171461904Y-84590476D01* 371 | X171414285Y-84780952D01* 372 | X171414285Y-85161904D01* 373 | X171461904Y-85257142D01* 374 | X171509523Y-85304761D01* 375 | X171604761Y-85352380D01* 376 | X171795238Y-85352380D01* 377 | X171890476Y-85304761D01* 378 | X171938095Y-85257142D01* 379 | X171985714Y-85161904D01* 380 | X171985714Y-84923809D01* 381 | X171938095Y-84828571D01* 382 | X171890476Y-84780952D01* 383 | X171795238Y-84733333D01* 384 | X171604761Y-84733333D01* 385 | X171509523Y-84780952D01* 386 | X171461904Y-84828571D01* 387 | X171414285Y-84923809D01* 388 | X175357142Y-85866666D02* 389 | X175404761Y-85914285D01* 390 | X175452380Y-86057142D01* 391 | X175452380Y-86152380D01* 392 | X175404761Y-86295238D01* 393 | X175309523Y-86390476D01* 394 | X175214285Y-86438095D01* 395 | X175023809Y-86485714D01* 396 | X174880952Y-86485714D01* 397 | X174690476Y-86438095D01* 398 | X174595238Y-86390476D01* 399 | X174500000Y-86295238D01* 400 | X174452380Y-86152380D01* 401 | X174452380Y-86057142D01* 402 | X174500000Y-85914285D01* 403 | X174547619Y-85866666D01* 404 | X174452380Y-85533333D02* 405 | X174452380Y-84866666D01* 406 | X175452380Y-85295238D01* 407 | X194352380Y-82566666D02* 408 | X193876190Y-82900000D01* 409 | X194352380Y-83138095D02* 410 | X193352380Y-83138095D01* 411 | X193352380Y-82757142D01* 412 | X193400000Y-82661904D01* 413 | X193447619Y-82614285D01* 414 | X193542857Y-82566666D01* 415 | X193685714Y-82566666D01* 416 | X193780952Y-82614285D01* 417 | X193828571Y-82661904D01* 418 | X193876190Y-82757142D01* 419 | X193876190Y-83138095D01* 420 | X193685714Y-81709523D02* 421 | X194352380Y-81709523D01* 422 | X193304761Y-81947619D02* 423 | X194019047Y-82185714D01* 424 | X194019047Y-81566666D01* 425 | X208552380Y-105166666D02* 426 | X208076190Y-105500000D01* 427 | X208552380Y-105738095D02* 428 | X207552380Y-105738095D01* 429 | X207552380Y-105357142D01* 430 | X207600000Y-105261904D01* 431 | X207647619Y-105214285D01* 432 | X207742857Y-105166666D01* 433 | X207885714Y-105166666D01* 434 | X207980952Y-105214285D01* 435 | X208028571Y-105261904D01* 436 | X208076190Y-105357142D01* 437 | X208076190Y-105738095D01* 438 | X207552380Y-104833333D02* 439 | X207552380Y-104166666D01* 440 | X208552380Y-104595238D01* 441 | X196361904Y-122014285D02* 442 | X195980952Y-122280952D01* 443 | X196361904Y-122471428D02* 444 | X195561904Y-122471428D01* 445 | X195561904Y-122166666D01* 446 | X195600000Y-122090476D01* 447 | X195638095Y-122052380D01* 448 | X195714285Y-122014285D01* 449 | X195828571Y-122014285D01* 450 | X195904761Y-122052380D01* 451 | X195942857Y-122090476D01* 452 | X195980952Y-122166666D01* 453 | X195980952Y-122471428D01* 454 | X196361904Y-121252380D02* 455 | X196361904Y-121709523D01* 456 | X196361904Y-121480952D02* 457 | X195561904Y-121480952D01* 458 | X195676190Y-121557142D01* 459 | X195752380Y-121633333D01* 460 | X195790476Y-121709523D01* 461 | X195561904Y-120757142D02* 462 | X195561904Y-120680952D01* 463 | X195600000Y-120604761D01* 464 | X195638095Y-120566666D01* 465 | X195714285Y-120528571D01* 466 | X195866666Y-120490476D01* 467 | X196057142Y-120490476D01* 468 | X196209523Y-120528571D01* 469 | X196285714Y-120566666D01* 470 | X196323809Y-120604761D01* 471 | X196361904Y-120680952D01* 472 | X196361904Y-120757142D01* 473 | X196323809Y-120833333D01* 474 | X196285714Y-120871428D01* 475 | X196209523Y-120909523D01* 476 | X196057142Y-120947619D01* 477 | X195866666Y-120947619D01* 478 | X195714285Y-120909523D01* 479 | X195638095Y-120871428D01* 480 | X195600000Y-120833333D01* 481 | X195561904Y-120757142D01* 482 | X197361904Y-122014285D02* 483 | X196980952Y-122280952D01* 484 | X197361904Y-122471428D02* 485 | X196561904Y-122471428D01* 486 | X196561904Y-122166666D01* 487 | X196600000Y-122090476D01* 488 | X196638095Y-122052380D01* 489 | X196714285Y-122014285D01* 490 | X196828571Y-122014285D01* 491 | X196904761Y-122052380D01* 492 | X196942857Y-122090476D01* 493 | X196980952Y-122166666D01* 494 | X196980952Y-122471428D01* 495 | X197361904Y-121252380D02* 496 | X197361904Y-121709523D01* 497 | X197361904Y-121480952D02* 498 | X196561904Y-121480952D01* 499 | X196676190Y-121557142D01* 500 | X196752380Y-121633333D01* 501 | X196790476Y-121709523D01* 502 | X197361904Y-120490476D02* 503 | X197361904Y-120947619D01* 504 | X197361904Y-120719047D02* 505 | X196561904Y-120719047D01* 506 | X196676190Y-120795238D01* 507 | X196752380Y-120871428D01* 508 | X196790476Y-120947619D01* 509 | X196752380Y-108242857D02* 510 | X196276190Y-108576190D01* 511 | X196752380Y-108814285D02* 512 | X195752380Y-108814285D01* 513 | X195752380Y-108433333D01* 514 | X195800000Y-108338095D01* 515 | X195847619Y-108290476D01* 516 | X195942857Y-108242857D01* 517 | X196085714Y-108242857D01* 518 | X196180952Y-108290476D01* 519 | X196228571Y-108338095D01* 520 | X196276190Y-108433333D01* 521 | X196276190Y-108814285D01* 522 | X196752380Y-107290476D02* 523 | X196752380Y-107861904D01* 524 | X196752380Y-107576190D02* 525 | X195752380Y-107576190D01* 526 | X195895238Y-107671428D01* 527 | X195990476Y-107766666D01* 528 | X196038095Y-107861904D01* 529 | X195847619Y-106909523D02* 530 | X195800000Y-106861904D01* 531 | X195752380Y-106766666D01* 532 | X195752380Y-106528571D01* 533 | X195800000Y-106433333D01* 534 | X195847619Y-106385714D01* 535 | X195942857Y-106338095D01* 536 | X196038095Y-106338095D01* 537 | X196180952Y-106385714D01* 538 | X196752380Y-106957142D01* 539 | X196752380Y-106338095D01* 540 | D12* 541 | X197174348Y-88386158D02* 542 | X196851099Y-88062910D01* 543 | X197012723Y-88224534D02* 544 | X197578409Y-87658849D01* 545 | X197443722Y-87685786D01* 546 | X197335972Y-87685786D01* 547 | X197255160Y-87658849D01* 548 | X199814213Y-89894653D02* 549 | X199868088Y-89948528D01* 550 | X199895025Y-90029340D01* 551 | X199895025Y-90083215D01* 552 | X199868088Y-90164027D01* 553 | X199787276Y-90298714D01* 554 | X199652589Y-90433401D01* 555 | X199517902Y-90514213D01* 556 | X199437089Y-90541150D01* 557 | X199383215Y-90541150D01* 558 | X199302402Y-90514213D01* 559 | X199248528Y-90460338D01* 560 | X199221590Y-90379526D01* 561 | X199221590Y-90325651D01* 562 | X199248528Y-90244839D01* 563 | X199329340Y-90110152D01* 564 | X199464027Y-89975465D01* 565 | X199598714Y-89894653D01* 566 | X199679526Y-89867715D01* 567 | X199733401Y-89867715D01* 568 | X199814213Y-89894653D01* 569 | D10* 570 | X199849906Y-116002902D02* 571 | X199472783Y-115625779D01* 572 | X199580532Y-115733528D02* 573 | X199553595Y-115652716D01* 574 | X199553595Y-115598841D01* 575 | X199580532Y-115518029D01* 576 | X199634407Y-115464154D01* 577 | X200146218Y-115652716D02* 578 | X200227030Y-115625779D01* 579 | X200334780Y-115518029D01* 580 | X200361717Y-115437217D01* 581 | X200334780Y-115356405D01* 582 | X200307842Y-115329467D01* 583 | X200227030Y-115302530D01* 584 | X200146218Y-115329467D01* 585 | X200065406Y-115410279D01* 586 | X199984593Y-115437217D01* 587 | X199903781Y-115410279D01* 588 | X199876844Y-115383342D01* 589 | X199849906Y-115302530D01* 590 | X199876844Y-115221718D01* 591 | X199957656Y-115140905D01* 592 | X200038468Y-115113968D01* 593 | X200200093Y-114898469D02* 594 | X200415592Y-114682970D01* 595 | X200092343Y-114629095D02* 596 | X200577216Y-115113968D01* 597 | X200658028Y-115140905D01* 598 | X200738841Y-115113968D01* 599 | X200792715Y-115060093D01* 600 | X202014688Y-110790122D02* 601 | X201449003Y-110224436D01* 602 | X201853064Y-110520748D02* 603 | X202230187Y-110574622D01* 604 | X201853064Y-110197499D02* 605 | X201853064Y-110628497D01* 606 | X202661186Y-110089749D02* 607 | X202634248Y-110170561D01* 608 | X202526499Y-110278311D01* 609 | X202445687Y-110305248D01* 610 | X202364874Y-110278311D01* 611 | X202149375Y-110062812D01* 612 | X202122438Y-109982000D01* 613 | X202149375Y-109901187D01* 614 | X202257125Y-109793438D01* 615 | X202337937Y-109766500D01* 616 | X202418749Y-109793438D01* 617 | X202472624Y-109847312D01* 618 | X202257125Y-110170561D01* 619 | X202526499Y-109524064D02* 620 | X203038309Y-109766500D01* 621 | X202795873Y-109254690D02* 622 | X203038309Y-109766500D01* 623 | X203119122Y-109955062D01* 624 | X203119122Y-110008937D01* 625 | X203092184Y-110089749D01* 626 | X164974026Y-109651522D02* 627 | X165546446Y-110223942D01* 628 | X165647461Y-110257614D01* 629 | X165714805Y-110257614D01* 630 | X165815820Y-110223942D01* 631 | X165950507Y-110089255D01* 632 | X165984179Y-109988240D01* 633 | X165984179Y-109920896D01* 634 | X165950507Y-109819881D01* 635 | X165378087Y-109247461D01* 636 | X166792301Y-109247461D02* 637 | X166388240Y-109651522D01* 638 | X166590270Y-109449492D02* 639 | X165883164Y-108742385D01* 640 | X165916835Y-108910744D01* 641 | X165916835Y-109045431D01* 642 | X165883164Y-109146446D01* 643 | X206411380Y-101888904D02* 644 | X207220904Y-101888904D01* 645 | X207316142Y-101841285D01* 646 | X207363761Y-101793666D01* 647 | X207411380Y-101698428D01* 648 | X207411380Y-101507952D01* 649 | X207363761Y-101412714D01* 650 | X207316142Y-101365095D01* 651 | X207220904Y-101317476D01* 652 | X206411380Y-101317476D01* 653 | X206506619Y-100888904D02* 654 | X206459000Y-100841285D01* 655 | X206411380Y-100746047D01* 656 | X206411380Y-100507952D01* 657 | X206459000Y-100412714D01* 658 | X206506619Y-100365095D01* 659 | X206601857Y-100317476D01* 660 | X206697095Y-100317476D01* 661 | X206839952Y-100365095D01* 662 | X207411380Y-100936523D01* 663 | X207411380Y-100317476D01* 664 | X170702030Y-102537732D02* 665 | X170129610Y-102436717D01* 666 | X170297969Y-102941793D02* 667 | X169590862Y-102234687D01* 668 | X169860236Y-101965312D01* 669 | X169961251Y-101931641D01* 670 | X170028595Y-101931641D01* 671 | X170129610Y-101965312D01* 672 | X170230625Y-102066328D01* 673 | X170264297Y-102167343D01* 674 | X170264297Y-102234687D01* 675 | X170230625Y-102335702D01* 676 | X169961251Y-102605076D01* 677 | X171375465Y-101864297D02* 678 | X170971404Y-102268358D01* 679 | X171173435Y-102066328D02* 680 | X170466328Y-101359221D01* 681 | X170500000Y-101527580D01* 682 | X170500000Y-101662267D01* 683 | X170466328Y-101763282D01* 684 | X170262266Y-104402030D02* 685 | X170363281Y-103829610D01* 686 | X169858205Y-103997969D02* 687 | X170565311Y-103290862D01* 688 | X170834686Y-103560236D01* 689 | X170868357Y-103661251D01* 690 | X170868357Y-103728595D01* 691 | X170834686Y-103829610D01* 692 | X170733670Y-103930625D01* 693 | X170632655Y-103964297D01* 694 | X170565311Y-103964297D01* 695 | X170464296Y-103930625D01* 696 | X170194922Y-103661251D01* 697 | X171171403Y-104031641D02* 698 | X171238747Y-104031641D01* 699 | X171339762Y-104065312D01* 700 | X171508121Y-104233671D01* 701 | X171541792Y-104334687D01* 702 | X171541792Y-104402030D01* 703 | X171508121Y-104503045D01* 704 | X171440777Y-104570389D01* 705 | X171306090Y-104637732D01* 706 | X170497968Y-104637732D01* 707 | X170935701Y-105075465D01* 708 | X197623333Y-108772380D02* 709 | X197290000Y-108296190D01* 710 | X197051904Y-108772380D02* 711 | X197051904Y-107772380D01* 712 | X197432857Y-107772380D01* 713 | X197528095Y-107820000D01* 714 | X197575714Y-107867619D01* 715 | X197623333Y-107962857D01* 716 | X197623333Y-108105714D01* 717 | X197575714Y-108200952D01* 718 | X197528095Y-108248571D01* 719 | X197432857Y-108296190D01* 720 | X197051904Y-108296190D01* 721 | X198528095Y-107772380D02* 722 | X198051904Y-107772380D01* 723 | X198004285Y-108248571D01* 724 | X198051904Y-108200952D01* 725 | X198147142Y-108153333D01* 726 | X198385238Y-108153333D01* 727 | X198480476Y-108200952D01* 728 | X198528095Y-108248571D01* 729 | X198575714Y-108343809D01* 730 | X198575714Y-108581904D01* 731 | X198528095Y-108677142D01* 732 | X198480476Y-108724761D01* 733 | X198385238Y-108772380D01* 734 | X198147142Y-108772380D01* 735 | X198051904Y-108724761D01* 736 | X198004285Y-108677142D01* 737 | X199533333Y-107462380D02* 738 | X199200000Y-106986190D01* 739 | X198961904Y-107462380D02* 740 | X198961904Y-106462380D01* 741 | X199342857Y-106462380D01* 742 | X199438095Y-106510000D01* 743 | X199485714Y-106557619D01* 744 | X199533333Y-106652857D01* 745 | X199533333Y-106795714D01* 746 | X199485714Y-106890952D01* 747 | X199438095Y-106938571D01* 748 | X199342857Y-106986190D01* 749 | X198961904Y-106986190D01* 750 | X200009523Y-107462380D02* 751 | X200200000Y-107462380D01* 752 | X200295238Y-107414761D01* 753 | X200342857Y-107367142D01* 754 | X200438095Y-107224285D01* 755 | X200485714Y-107033809D01* 756 | X200485714Y-106652857D01* 757 | X200438095Y-106557619D01* 758 | X200390476Y-106510000D01* 759 | X200295238Y-106462380D01* 760 | X200104761Y-106462380D01* 761 | X200009523Y-106510000D01* 762 | X199961904Y-106557619D01* 763 | X199914285Y-106652857D01* 764 | X199914285Y-106890952D01* 765 | X199961904Y-106986190D01* 766 | X200009523Y-107033809D01* 767 | X200104761Y-107081428D01* 768 | X200295238Y-107081428D01* 769 | X200390476Y-107033809D01* 770 | X200438095Y-106986190D01* 771 | X200485714Y-106890952D01* 772 | X199584761Y-106257619D02* 773 | X199489523Y-106210000D01* 774 | X199394285Y-106114761D01* 775 | X199251428Y-105971904D01* 776 | X199156190Y-105924285D01* 777 | X199060952Y-105924285D01* 778 | X199108571Y-106162380D02* 779 | X199013333Y-106114761D01* 780 | X198918095Y-106019523D01* 781 | X198870476Y-105829047D01* 782 | X198870476Y-105495714D01* 783 | X198918095Y-105305238D01* 784 | X199013333Y-105210000D01* 785 | X199108571Y-105162380D01* 786 | X199299047Y-105162380D01* 787 | X199394285Y-105210000D01* 788 | X199489523Y-105305238D01* 789 | X199537142Y-105495714D01* 790 | X199537142Y-105829047D01* 791 | X199489523Y-106019523D01* 792 | X199394285Y-106114761D01* 793 | X199299047Y-106162380D01* 794 | X199108571Y-106162380D01* 795 | X200489523Y-106162380D02* 796 | X199918095Y-106162380D01* 797 | X200203809Y-106162380D02* 798 | X200203809Y-105162380D01* 799 | X200108571Y-105305238D01* 800 | X200013333Y-105400476D01* 801 | X199918095Y-105448095D01* 802 | X197704761Y-107507619D02* 803 | X197609523Y-107460000D01* 804 | X197514285Y-107364761D01* 805 | X197371428Y-107221904D01* 806 | X197276190Y-107174285D01* 807 | X197180952Y-107174285D01* 808 | X197228571Y-107412380D02* 809 | X197133333Y-107364761D01* 810 | X197038095Y-107269523D01* 811 | X196990476Y-107079047D01* 812 | X196990476Y-106745714D01* 813 | X197038095Y-106555238D01* 814 | X197133333Y-106460000D01* 815 | X197228571Y-106412380D01* 816 | X197419047Y-106412380D01* 817 | X197514285Y-106460000D01* 818 | X197609523Y-106555238D01* 819 | X197657142Y-106745714D01* 820 | X197657142Y-107079047D01* 821 | X197609523Y-107269523D01* 822 | X197514285Y-107364761D01* 823 | X197419047Y-107412380D01* 824 | X197228571Y-107412380D01* 825 | X198038095Y-106507619D02* 826 | X198085714Y-106460000D01* 827 | X198180952Y-106412380D01* 828 | X198419047Y-106412380D01* 829 | X198514285Y-106460000D01* 830 | X198561904Y-106507619D01* 831 | X198609523Y-106602857D01* 832 | X198609523Y-106698095D01* 833 | X198561904Y-106840952D01* 834 | X197990476Y-107412380D01* 835 | X198609523Y-107412380D01* 836 | X195802380Y-82576666D02* 837 | X195326190Y-82910000D01* 838 | X195802380Y-83148095D02* 839 | X194802380Y-83148095D01* 840 | X194802380Y-82767142D01* 841 | X194850000Y-82671904D01* 842 | X194897619Y-82624285D01* 843 | X194992857Y-82576666D01* 844 | X195135714Y-82576666D01* 845 | X195230952Y-82624285D01* 846 | X195278571Y-82671904D01* 847 | X195326190Y-82767142D01* 848 | X195326190Y-83148095D01* 849 | X194802380Y-82243333D02* 850 | X194802380Y-81624285D01* 851 | X195183333Y-81957619D01* 852 | X195183333Y-81814761D01* 853 | X195230952Y-81719523D01* 854 | X195278571Y-81671904D01* 855 | X195373809Y-81624285D01* 856 | X195611904Y-81624285D01* 857 | X195707142Y-81671904D01* 858 | X195754761Y-81719523D01* 859 | X195802380Y-81814761D01* 860 | X195802380Y-82100476D01* 861 | X195754761Y-82195714D01* 862 | X195707142Y-82243333D01* 863 | M02* 864 | -------------------------------------------------------------------------------- /project/gerber/z2m_partner_gerber.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/project/gerber/z2m_partner_gerber.zip -------------------------------------------------------------------------------- /project/z2m_partner-bottom.pos: -------------------------------------------------------------------------------- 1 | ### Module positions - created on 2019 October 28, Monday 13:53:23 ### 2 | ### Printed by Pcbnew version kicad (5.1.4-0-10_14) 3 | ## Unit = mm, Angle = deg. 4 | ## Side : bottom 5 | # Ref Val Package PosX PosY Rot Side 6 | ## End 7 | -------------------------------------------------------------------------------- /project/z2m_partner-cache.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.4 2 | #encoding utf-8 3 | # 4 | # 74xGxx_74LVC1G66 5 | # 6 | DEF 74xGxx_74LVC1G66 U 0 40 Y Y 1 F N 7 | F0 "U" -100 200 50 H V C CNN 8 | F1 "74xGxx_74LVC1G66" 0 -200 50 H V C CNN 9 | F2 "" 0 0 50 H I C CNN 10 | F3 "" 0 0 50 H I C CNN 11 | ALIAS 74AUC1G66 12 | $FPLIST 13 | SOT* 14 | SC* 15 | $ENDFPLIST 16 | DRAW 17 | C -140 -150 5 0 1 0 N 18 | C 0 70 15 0 1 10 N 19 | P 2 0 1 0 -150 0 -100 0 N 20 | P 2 0 1 10 -100 100 -100 -100 N 21 | P 2 0 1 0 100 0 150 0 N 22 | P 2 0 1 10 100 100 100 -100 N 23 | P 3 0 1 0 -150 -150 0 -150 0 -50 N 24 | P 3 0 1 10 -100 -100 100 0 -100 100 N 25 | P 3 0 1 10 100 100 -100 0 100 -100 N 26 | P 4 0 1 0 0 85 0 130 -140 130 -140 -150 N 27 | X ~ 1 -250 0 100 R 40 40 1 1 I 28 | X ~ 2 250 0 100 L 40 40 1 1 T 29 | X GND 3 50 -150 0 D 40 40 1 1 W N 30 | X ~ 4 -250 -150 100 R 40 40 1 1 I 31 | X VCC 5 50 150 0 U 40 40 1 1 W N 32 | ENDDRAW 33 | ENDDEF 34 | # 35 | # Analog_Switch_CD4052B 36 | # 37 | DEF Analog_Switch_CD4052B U 0 20 Y Y 1 F N 38 | F0 "U" -400 650 50 H V L CNN 39 | F1 "Analog_Switch_CD4052B" 150 650 50 H V L CNN 40 | F2 "" 150 -750 50 H I L CNN 41 | F3 "" -20 200 50 H I C CNN 42 | $FPLIST 43 | TSSOP*4.4x5mm*P0.65mm* 44 | DIP*W7.62* 45 | SOIC*3.9x9.9mm*P1.27mm* 46 | SO*5.3x10.2mm*P1.27mm* 47 | $ENDFPLIST 48 | DRAW 49 | C -240 -300 20 0 1 10 N 50 | C -240 200 20 0 1 10 N 51 | C -90 -300 20 0 1 10 N 52 | C -90 200 20 0 1 10 N 53 | C 140 -500 20 0 1 10 N 54 | C 140 -400 20 0 1 10 N 55 | C 140 -300 20 0 1 10 N 56 | C 140 -200 20 0 1 10 N 57 | C 140 0 20 0 1 10 N 58 | C 140 100 20 0 1 10 N 59 | C 140 200 20 0 1 10 N 60 | C 140 300 20 0 1 10 N 61 | S -400 350 -200 550 0 1 10 N 62 | S -400 600 400 -600 0 1 10 f 63 | P 2 0 1 10 -320 -300 -260 -300 N 64 | P 2 0 1 10 -320 200 -260 200 N 65 | P 2 0 1 10 -220 -290 -130 -260 N 66 | P 2 0 1 10 -220 210 -130 240 N 67 | P 2 0 1 10 -180 -400 -205 -400 N 68 | P 2 0 1 10 -180 -390 -180 -365 N 69 | P 2 0 1 10 -180 -340 -180 -315 N 70 | P 2 0 1 10 -180 -230 -180 -205 N 71 | P 2 0 1 10 -180 -180 -180 -155 N 72 | P 2 0 1 10 -180 -130 -180 -105 N 73 | P 2 0 1 10 -180 -80 -180 -55 N 74 | P 2 0 1 10 -180 -30 -180 -5 N 75 | P 2 0 1 10 -180 20 -180 45 N 76 | P 2 0 1 10 -180 80 -180 105 N 77 | P 2 0 1 10 -180 130 -180 155 N 78 | P 2 0 1 10 -180 180 -180 205 N 79 | P 2 0 1 10 -180 450 -200 450 N 80 | P 2 0 1 10 -150 450 -125 450 N 81 | P 2 0 1 10 -70 -290 90 -200 N 82 | P 2 0 1 10 -70 210 90 300 N 83 | P 2 0 1 10 -70 450 -90 450 N 84 | P 2 0 1 10 -20 -210 -20 -185 N 85 | P 2 0 1 10 -20 -160 -20 -135 N 86 | P 2 0 1 10 -20 -110 -20 -85 N 87 | P 2 0 1 10 -20 -60 -20 -35 N 88 | P 2 0 1 10 -20 -10 -20 15 N 89 | P 2 0 1 10 -20 50 -20 75 N 90 | P 2 0 1 10 -20 100 -20 125 N 91 | P 2 0 1 10 -20 150 -20 175 N 92 | P 2 0 1 10 -20 200 -20 225 N 93 | P 2 0 1 10 -20 250 -20 275 N 94 | P 2 0 1 10 -20 300 -20 325 N 95 | P 2 0 1 10 -20 350 -20 370 N 96 | P 2 0 1 10 -20 350 -20 375 N 97 | P 2 0 1 10 -20 390 -20 410 N 98 | P 2 0 1 10 -20 430 -20 450 N 99 | P 2 0 1 10 -20 450 -40 450 N 100 | P 2 0 1 10 160 -500 230 -500 N 101 | P 2 0 1 10 160 -400 230 -400 N 102 | P 2 0 1 10 160 -300 230 -300 N 103 | P 2 0 1 10 160 -200 230 -200 N 104 | P 2 0 1 10 160 0 230 0 N 105 | P 2 0 1 10 160 100 230 100 N 106 | P 2 0 1 10 160 200 230 200 N 107 | P 2 0 1 10 160 300 230 300 N 108 | X Y0 1 500 -200 100 L 50 50 1 1 B 109 | X A 10 -500 500 100 R 50 50 1 1 I 110 | X X3 11 500 0 100 L 50 50 1 1 B 111 | X X0 12 500 300 100 L 50 50 1 1 B 112 | X X 13 -500 200 100 R 50 50 1 1 B 113 | X X1 14 500 200 100 L 50 50 1 1 B 114 | X X2 15 500 100 100 L 50 50 1 1 B 115 | X VDD 16 100 700 100 D 50 50 1 1 W 116 | X Y2 2 500 -400 100 L 50 50 1 1 B 117 | X Y 3 -500 -300 100 R 50 50 1 1 B 118 | X Y3 4 500 -500 100 L 50 50 1 1 B 119 | X Y1 5 500 -300 100 L 50 50 1 1 B 120 | X INH 6 -500 -400 100 R 50 50 1 1 I 121 | X VEE 7 -100 -700 100 U 50 50 1 1 W 122 | X VSS 8 0 -700 100 U 50 50 1 1 W 123 | X B 9 -500 400 100 R 50 50 1 1 I 124 | ENDDRAW 125 | ENDDEF 126 | # 127 | # Connector_Generic_Conn_01x05 128 | # 129 | DEF Connector_Generic_Conn_01x05 J 0 40 Y N 1 F N 130 | F0 "J" 0 300 50 H V C CNN 131 | F1 "Connector_Generic_Conn_01x05" 0 -300 50 H V C CNN 132 | F2 "" 0 0 50 H I C CNN 133 | F3 "" 0 0 50 H I C CNN 134 | $FPLIST 135 | Connector*:*_1x??_* 136 | $ENDFPLIST 137 | DRAW 138 | S -50 -195 0 -205 1 1 6 N 139 | S -50 -95 0 -105 1 1 6 N 140 | S -50 5 0 -5 1 1 6 N 141 | S -50 105 0 95 1 1 6 N 142 | S -50 205 0 195 1 1 6 N 143 | S -50 250 50 -250 1 1 10 f 144 | X Pin_1 1 -200 200 150 R 50 50 1 1 P 145 | X Pin_2 2 -200 100 150 R 50 50 1 1 P 146 | X Pin_3 3 -200 0 150 R 50 50 1 1 P 147 | X Pin_4 4 -200 -100 150 R 50 50 1 1 P 148 | X Pin_5 5 -200 -200 150 R 50 50 1 1 P 149 | ENDDRAW 150 | ENDDEF 151 | # 152 | # Device_C 153 | # 154 | DEF Device_C C 0 10 N Y 1 F N 155 | F0 "C" 25 100 50 H V L CNN 156 | F1 "Device_C" 25 -100 50 H V L CNN 157 | F2 "" 38 -150 50 H I C CNN 158 | F3 "" 0 0 50 H I C CNN 159 | $FPLIST 160 | C_* 161 | $ENDFPLIST 162 | DRAW 163 | P 2 0 1 20 -80 -30 80 -30 N 164 | P 2 0 1 20 -80 30 80 30 N 165 | X ~ 1 0 150 110 D 50 50 1 1 P 166 | X ~ 2 0 -150 110 U 50 50 1 1 P 167 | ENDDRAW 168 | ENDDEF 169 | # 170 | # Device_CP1_Small 171 | # 172 | DEF Device_CP1_Small C 0 10 N N 1 F N 173 | F0 "C" 10 70 50 H V L CNN 174 | F1 "Device_CP1_Small" 10 -80 50 H V L CNN 175 | F2 "" 0 0 50 H I C CNN 176 | F3 "" 0 0 50 H I C CNN 177 | $FPLIST 178 | CP_* 179 | $ENDFPLIST 180 | DRAW 181 | A 0 -140 125 1186 614 0 1 12 N -60 -30 60 -30 182 | P 2 0 1 12 -60 20 60 20 N 183 | P 2 0 1 0 -50 60 -30 60 N 184 | P 2 0 1 0 -40 50 -40 70 N 185 | X ~ 1 0 100 80 D 50 50 1 1 P 186 | X ~ 2 0 -100 80 U 50 50 1 1 P 187 | ENDDRAW 188 | ENDDEF 189 | # 190 | # Device_C_Small 191 | # 192 | DEF Device_C_Small C 0 10 N N 1 F N 193 | F0 "C" 10 70 50 H V L CNN 194 | F1 "Device_C_Small" 10 -80 50 H V L CNN 195 | F2 "" 0 0 50 H I C CNN 196 | F3 "" 0 0 50 H I C CNN 197 | $FPLIST 198 | C_* 199 | $ENDFPLIST 200 | DRAW 201 | P 2 0 1 13 -60 -20 60 -20 N 202 | P 2 0 1 12 -60 20 60 20 N 203 | X ~ 1 0 100 80 D 50 50 1 1 P 204 | X ~ 2 0 -100 80 U 50 50 1 1 P 205 | ENDDRAW 206 | ENDDEF 207 | # 208 | # Device_Crystal_GND2 209 | # 210 | DEF Device_Crystal_GND2 Y 0 40 Y N 1 F N 211 | F0 "Y" 0 225 50 H V C CNN 212 | F1 "Device_Crystal_GND2" 0 150 50 H V C CNN 213 | F2 "" 0 0 50 H I C CNN 214 | F3 "" 0 0 50 H I C CNN 215 | $FPLIST 216 | Crystal* 217 | $ENDFPLIST 218 | DRAW 219 | S -45 100 45 -100 0 1 12 N 220 | P 2 0 1 0 -100 0 -75 0 N 221 | P 2 0 1 20 -75 -50 -75 50 N 222 | P 2 0 1 0 0 -150 0 -140 N 223 | P 2 0 1 0 75 0 100 0 N 224 | P 2 0 1 20 75 50 75 -50 N 225 | P 4 0 1 0 -100 -90 -100 -140 100 -140 100 -90 N 226 | X 1 1 -150 0 50 R 50 50 1 1 P 227 | X 2 2 0 -200 50 U 50 50 1 1 P 228 | X 3 3 150 0 50 L 50 50 1 1 P 229 | ENDDRAW 230 | ENDDEF 231 | # 232 | # Device_D 233 | # 234 | DEF Device_D D 0 40 N N 1 F N 235 | F0 "D" 0 100 50 H V C CNN 236 | F1 "Device_D" 0 -100 50 H V C CNN 237 | F2 "" 0 0 50 H I C CNN 238 | F3 "" 0 0 50 H I C CNN 239 | $FPLIST 240 | TO-???* 241 | *_Diode_* 242 | *SingleDiode* 243 | D_* 244 | $ENDFPLIST 245 | DRAW 246 | P 2 0 1 8 -50 50 -50 -50 N 247 | P 2 0 1 0 50 0 -50 0 N 248 | P 4 0 1 8 50 50 50 -50 -50 0 50 50 N 249 | X K 1 -150 0 100 R 50 50 1 1 P 250 | X A 2 150 0 100 L 50 50 1 1 P 251 | ENDDRAW 252 | ENDDEF 253 | # 254 | # Device_Polyfuse_Small 255 | # 256 | DEF Device_Polyfuse_Small F 0 0 N Y 1 F N 257 | F0 "F" -75 0 50 V V C CNN 258 | F1 "Device_Polyfuse_Small" 75 0 50 V V C CNN 259 | F2 "" 50 -200 50 H I L CNN 260 | F3 "" 0 0 50 H I C CNN 261 | $FPLIST 262 | *polyfuse* 263 | *PTC* 264 | $ENDFPLIST 265 | DRAW 266 | S -20 50 20 -50 0 1 0 N 267 | P 2 0 1 0 0 100 0 -100 N 268 | P 4 0 1 0 -40 50 -40 30 40 -30 40 -50 N 269 | X ~ 1 0 100 25 D 50 50 1 1 P 270 | X ~ 2 0 -100 25 U 50 50 1 1 P 271 | ENDDRAW 272 | ENDDEF 273 | # 274 | # Device_Q_NPN_BEC 275 | # 276 | DEF Device_Q_NPN_BEC Q 0 0 Y N 1 F N 277 | F0 "Q" 200 50 50 H V L CNN 278 | F1 "Device_Q_NPN_BEC" 200 -50 50 H V L CNN 279 | F2 "" 200 100 50 H I C CNN 280 | F3 "" 0 0 50 H I C CNN 281 | DRAW 282 | C 50 0 111 0 1 10 N 283 | P 2 0 1 0 25 25 100 100 N 284 | P 3 0 1 0 25 -25 100 -100 100 -100 N 285 | P 3 0 1 20 25 75 25 -75 25 -75 N 286 | P 5 0 1 0 50 -70 70 -50 90 -90 50 -70 50 -70 F 287 | X B 1 -200 0 225 R 50 50 1 1 I 288 | X E 2 100 -200 100 U 50 50 1 1 P 289 | X C 3 100 200 100 D 50 50 1 1 P 290 | ENDDRAW 291 | ENDDEF 292 | # 293 | # Device_R 294 | # 295 | DEF Device_R R 0 0 N Y 1 F N 296 | F0 "R" 80 0 50 V V C CNN 297 | F1 "Device_R" 0 0 50 V V C CNN 298 | F2 "" -70 0 50 V I C CNN 299 | F3 "" 0 0 50 H I C CNN 300 | $FPLIST 301 | R_* 302 | $ENDFPLIST 303 | DRAW 304 | S -40 -100 40 100 0 1 10 N 305 | X ~ 1 0 150 50 D 50 50 1 1 P 306 | X ~ 2 0 -150 50 U 50 50 1 1 P 307 | ENDDRAW 308 | ENDDEF 309 | # 310 | # Device_R_Small 311 | # 312 | DEF Device_R_Small R 0 10 N N 1 F N 313 | F0 "R" 30 20 50 H V L CNN 314 | F1 "Device_R_Small" 30 -40 50 H V L CNN 315 | F2 "" 0 0 50 H I C CNN 316 | F3 "" 0 0 50 H I C CNN 317 | $FPLIST 318 | R_* 319 | $ENDFPLIST 320 | DRAW 321 | S -30 70 30 -70 0 1 8 N 322 | X ~ 1 0 100 30 D 50 50 1 1 P 323 | X ~ 2 0 -100 30 U 50 50 1 1 P 324 | ENDDRAW 325 | ENDDEF 326 | # 327 | # Interface_USB_CH340G 328 | # 329 | DEF Interface_USB_CH340G U 0 20 Y Y 1 F N 330 | F0 "U" -200 550 50 H V R CNN 331 | F1 "Interface_USB_CH340G" 50 550 50 H V L CNN 332 | F2 "Package_SO:SOIC-16_3.9x9.9mm_P1.27mm" 50 -550 50 H I L CNN 333 | F3 "" -350 800 50 H I C CNN 334 | $FPLIST 335 | SOIC*3.9x9.9mm*P1.27mm* 336 | $ENDFPLIST 337 | DRAW 338 | S -300 500 300 -500 0 1 10 f 339 | X GND 1 0 -600 100 U 50 50 1 1 W 340 | X ~DSR 10 400 0 100 L 50 50 1 1 I 341 | X ~RI 11 400 -100 100 L 50 50 1 1 I 342 | X ~DCD 12 400 -200 100 L 50 50 1 1 I 343 | X ~DTR 13 400 -300 100 L 50 50 1 1 O 344 | X ~RTS 14 400 -400 100 L 50 50 1 1 O 345 | X R232 15 -400 300 100 R 50 50 1 1 I 346 | X VCC 16 0 600 100 D 50 50 1 1 W 347 | X TXD 2 400 400 100 L 50 50 1 1 O 348 | X RXD 3 400 300 100 L 50 50 1 1 I 349 | X V3 4 -100 600 100 D 50 50 1 1 P 350 | X UD+ 5 -400 100 100 R 50 50 1 1 B 351 | X UD- 6 -400 0 100 R 50 50 1 1 B 352 | X XI 7 -400 -200 100 R 50 50 1 1 I 353 | X XO 8 -400 -400 100 R 50 50 1 1 O 354 | X ~CTS 9 400 100 100 L 50 50 1 1 I 355 | ENDDRAW 356 | ENDDEF 357 | # 358 | # LED_WS2812B 359 | # 360 | DEF LED_WS2812B D 0 10 Y Y 1 F N 361 | F0 "D" 200 225 50 H V R BNN 362 | F1 "LED_WS2812B" 50 -225 50 H V L TNN 363 | F2 "LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" 50 -300 50 H I L TNN 364 | F3 "" 100 -375 50 H I L TNN 365 | $FPLIST 366 | LED*WS2812*PLCC*5.0x5.0mm*P3.2mm* 367 | $ENDFPLIST 368 | DRAW 369 | T 0 90 -165 30 0 0 0 RGB Normal 0 C C 370 | S 200 200 -200 -200 0 1 10 f 371 | P 2 0 1 0 50 -140 70 -140 N 372 | P 2 0 1 0 50 -100 70 -100 N 373 | P 2 0 1 0 185 -140 105 -140 N 374 | P 3 0 1 0 90 -100 50 -140 50 -120 N 375 | P 3 0 1 0 90 -60 50 -100 50 -80 N 376 | P 3 0 1 0 145 -40 145 -140 145 -160 N 377 | P 4 0 1 0 185 -60 105 -60 145 -140 185 -60 N 378 | X VDD 1 0 300 100 D 50 50 1 1 W 379 | X DOUT 2 300 0 100 L 50 50 1 1 O 380 | X VSS 3 0 -300 100 U 50 50 1 1 W 381 | X DIN 4 -300 0 100 R 50 50 1 1 I 382 | ENDDRAW 383 | ENDDEF 384 | # 385 | # RF_Module_E18-MS1-PCB 386 | # 387 | DEF RF_Module_E18-MS1-PCB U 0 20 Y Y 1 F N 388 | F0 "U" -100 850 50 H V R CNN 389 | F1 "RF_Module_E18-MS1-PCB" -100 750 50 H V R CNN 390 | F2 "RF_Module:E18-MS1-PCB" -200 200 50 H I C CNN 391 | F3 "" -200 200 50 H I C CNN 392 | $FPLIST 393 | E18-MS1-PCB* 394 | $ENDFPLIST 395 | DRAW 396 | S -400 700 400 -600 0 1 10 f 397 | X GND 1 0 -700 100 U 50 50 1 1 W 398 | X P1.5 10 500 100 100 L 50 50 1 1 B 399 | X P1.4 11 500 200 100 L 50 50 1 1 B 400 | X P1.3 12 500 300 100 L 50 50 1 1 B 401 | X P1.2 13 500 400 100 L 50 50 1 1 B 402 | X P1.1 14 500 500 100 L 50 50 1 1 B 403 | X P1.0 15 500 600 100 L 50 50 1 1 B 404 | X P0.7 16 -500 -300 100 R 50 50 1 1 B 405 | X P0.6 17 -500 -200 100 R 50 50 1 1 B 406 | X P0.5 18 -500 -100 100 R 50 50 1 1 B 407 | X P0.4 19 -500 0 100 R 50 50 1 1 B 408 | X VDD 2 0 800 100 D 50 50 1 1 W 409 | X P0.3 20 -500 100 100 R 50 50 1 1 B 410 | X P0.2 21 -500 200 100 R 50 50 1 1 B 411 | X P0.1 22 -500 300 100 R 50 50 1 1 B 412 | X P0.0 23 -500 400 100 R 50 50 1 1 B 413 | X ~RESET 24 -500 600 100 R 50 50 1 1 I 414 | X P2.2 3 500 -500 100 L 50 50 1 1 B 415 | X P2.1 4 500 -400 100 L 50 50 1 1 B 416 | X P2.0 5 500 -300 100 L 50 50 1 1 B 417 | X P1.7 6 500 -100 100 L 50 50 1 1 B 418 | X P1.6 7 500 0 100 L 50 50 1 1 B 419 | X NC 8 -400 -400 100 R 50 50 1 1 N N 420 | X NC 9 -400 -500 100 R 50 50 1 1 N N 421 | ENDDRAW 422 | ENDDEF 423 | # 424 | # RF_Module_ESP-WROOM-02 425 | # 426 | DEF RF_Module_ESP-WROOM-02 U 0 20 Y Y 1 F N 427 | F0 "U" -300 550 50 H V C CNN 428 | F1 "RF_Module_ESP-WROOM-02" 400 550 50 H V C CNN 429 | F2 "RF_Module:ESP-WROOM-02" 600 -550 50 H I C CNN 430 | F3 "" 50 1500 50 H I C CNN 431 | $FPLIST 432 | ESP?WROOM?02* 433 | $ENDFPLIST 434 | DRAW 435 | S 400 500 -400 -500 0 1 10 f 436 | X VDD 1 0 600 100 D 50 50 1 1 W 437 | X IO4 10 500 200 100 L 50 50 1 1 B 438 | X RXD 11 -500 -100 100 R 50 50 1 1 B 439 | X TXD 12 -500 -200 100 R 50 50 1 1 B 440 | X GND 13 0 -600 100 U 50 50 1 1 P N 441 | X IO5 14 500 100 100 L 50 50 1 1 B 442 | X RST 15 -500 300 100 R 50 50 1 1 I 443 | X TOUT 16 -500 100 100 R 50 50 1 1 I 444 | X IO16 17 500 -400 100 L 50 50 1 1 B 445 | X GND 18 0 -600 100 U 50 50 1 1 P N 446 | X GND 19 0 -600 100 U 50 50 1 1 P N 447 | X EN 2 -500 400 100 R 50 50 1 1 I 448 | X IO14 3 500 -200 100 L 50 50 1 1 B 449 | X IO12 4 500 0 100 L 50 50 1 1 B 450 | X IO13 5 500 -100 100 L 50 50 1 1 B 451 | X IO15 6 500 -300 100 L 50 50 1 1 B 452 | X IO2 7 500 300 100 L 50 50 1 1 B 453 | X IO0 8 500 400 100 L 50 50 1 1 B 454 | X GND 9 0 -600 100 U 50 50 1 1 W 455 | ENDDRAW 456 | ENDDEF 457 | # 458 | # Regulator_Linear_AP1117-33 459 | # 460 | DEF Regulator_Linear_AP1117-33 U 0 10 Y Y 1 F N 461 | F0 "U" -150 125 50 H V C CNN 462 | F1 "Regulator_Linear_AP1117-33" 0 125 50 H V L CNN 463 | F2 "Package_TO_SOT_SMD:SOT-223-3_TabPin2" 0 200 50 H I C CNN 464 | F3 "" 100 -250 50 H I C CNN 465 | ALIAS AP1117-18 AP1117-25 AP1117-33 AP1117-50 LD1117S33TR_SOT223 LD1117S12TR_SOT223 LD1117S18TR_SOT223 LD1117S25TR_SOT223 LD1117S50TR_SOT223 NCP1117-12_SOT223 NCP1117-1.5_SOT223 NCP1117-1.8_SOT223 NCP1117-2.0_SOT223 NCP1117-2.5_SOT223 NCP1117-2.85_SOT223 NCP1117-3.3_SOT223 NCP1117-5.0_SOT223 AMS1117-1.5 AMS1117-1.8 AMS1117-2.5 AMS1117-2.85 AMS1117-3.3 AMS1117-5.0 466 | $FPLIST 467 | SOT?223*TabPin2* 468 | $ENDFPLIST 469 | DRAW 470 | S -200 -200 200 75 0 1 10 f 471 | X GND 1 0 -300 100 U 50 50 1 1 W 472 | X VO 2 300 0 100 L 50 50 1 1 w 473 | X VI 3 -300 0 100 R 50 50 1 1 W 474 | ENDDRAW 475 | ENDDEF 476 | # 477 | # Switch_SW_DIP_x02 478 | # 479 | DEF Switch_SW_DIP_x02 SW 0 0 Y N 1 F N 480 | F0 "SW" 0 250 50 H V C CNN 481 | F1 "Switch_SW_DIP_x02" 0 -150 50 H V C CNN 482 | F2 "" 0 0 50 H I C CNN 483 | F3 "" 0 0 50 H I C CNN 484 | $FPLIST 485 | SW?DIP?x2* 486 | $ENDFPLIST 487 | DRAW 488 | C -80 0 20 0 0 0 N 489 | C -80 100 20 0 0 0 N 490 | C 80 0 20 0 0 0 N 491 | C 80 100 20 0 0 0 N 492 | S -150 200 150 -100 0 1 10 f 493 | P 2 0 0 0 -60 5 93 46 N 494 | P 2 0 0 0 -60 105 93 146 N 495 | X ~ 1 -300 100 200 R 50 50 1 1 P 496 | X ~ 2 -300 0 200 R 50 50 1 1 P 497 | X ~ 3 300 0 200 L 50 50 1 1 P 498 | X ~ 4 300 100 200 L 50 50 1 1 P 499 | ENDDRAW 500 | ENDDEF 501 | # 502 | # Switch_SW_Push 503 | # 504 | DEF Switch_SW_Push SW 0 40 N N 1 F N 505 | F0 "SW" 50 100 50 H V L CNN 506 | F1 "Switch_SW_Push" 0 -60 50 H V C CNN 507 | F2 "" 0 200 50 H I C CNN 508 | F3 "" 0 200 50 H I C CNN 509 | DRAW 510 | C -80 0 20 0 1 0 N 511 | C 80 0 20 0 1 0 N 512 | P 2 0 1 0 0 50 0 120 N 513 | P 2 0 1 0 100 50 -100 50 N 514 | X 1 1 -200 0 100 R 50 50 0 1 P 515 | X 2 2 200 0 100 L 50 50 0 1 P 516 | ENDDRAW 517 | ENDDEF 518 | # 519 | # power_+3V3 520 | # 521 | DEF power_+3V3 #PWR 0 0 Y Y 1 F P 522 | F0 "#PWR" 0 -150 50 H I C CNN 523 | F1 "power_+3V3" 0 140 50 H V C CNN 524 | F2 "" 0 0 50 H I C CNN 525 | F3 "" 0 0 50 H I C CNN 526 | ALIAS +3.3V 527 | DRAW 528 | P 2 0 1 0 -30 50 0 100 N 529 | P 2 0 1 0 0 0 0 100 N 530 | P 2 0 1 0 0 100 30 50 N 531 | X +3V3 1 0 0 0 U 50 50 1 1 W N 532 | ENDDRAW 533 | ENDDEF 534 | # 535 | # power_+5V 536 | # 537 | DEF power_+5V #PWR 0 0 Y Y 1 F P 538 | F0 "#PWR" 0 -150 50 H I C CNN 539 | F1 "power_+5V" 0 140 50 H V C CNN 540 | F2 "" 0 0 50 H I C CNN 541 | F3 "" 0 0 50 H I C CNN 542 | DRAW 543 | P 2 0 1 0 -30 50 0 100 N 544 | P 2 0 1 0 0 0 0 100 N 545 | P 2 0 1 0 0 100 30 50 N 546 | X +5V 1 0 0 0 U 50 50 1 1 W N 547 | ENDDRAW 548 | ENDDEF 549 | # 550 | # power_GND 551 | # 552 | DEF power_GND #PWR 0 0 Y Y 1 F P 553 | F0 "#PWR" 0 -250 50 H I C CNN 554 | F1 "power_GND" 0 -150 50 H V C CNN 555 | F2 "" 0 0 50 H I C CNN 556 | F3 "" 0 0 50 H I C CNN 557 | DRAW 558 | P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N 559 | X GND 1 0 0 0 D 50 50 1 1 W N 560 | ENDDRAW 561 | ENDDEF 562 | # 563 | # power_VBUS 564 | # 565 | DEF power_VBUS #PWR 0 0 Y Y 1 F P 566 | F0 "#PWR" 0 -150 50 H I C CNN 567 | F1 "power_VBUS" 0 150 50 H V C CNN 568 | F2 "" 0 0 50 H I C CNN 569 | F3 "" 0 0 50 H I C CNN 570 | DRAW 571 | P 2 0 1 0 -30 50 0 100 N 572 | P 2 0 1 0 0 0 0 100 N 573 | P 2 0 1 0 0 100 30 50 N 574 | X VBUS 1 0 0 0 U 50 50 1 1 W N 575 | ENDDRAW 576 | ENDDEF 577 | # 578 | # typeC_HRO-TYPE-C-31-M-12 579 | # 580 | DEF typeC_HRO-TYPE-C-31-M-12 USB 0 40 Y Y 1 F N 581 | F0 "USB" -200 650 60 H V C CNN 582 | F1 "typeC_HRO-TYPE-C-31-M-12" -400 -50 60 V V C CNN 583 | F2 "" 0 0 60 H I C CNN 584 | F3 "" 0 0 60 H I C CNN 585 | DRAW 586 | S -450 600 -350 -700 0 1 0 f 587 | S 0 -700 -350 600 0 1 0 f 588 | X GND 1 100 550 100 L 50 50 1 1 I 589 | X CC2 10 100 -350 100 L 50 50 1 1 I 590 | X VBUS 11 100 -450 100 L 50 50 1 1 I 591 | X GND 12 100 -550 100 L 50 50 1 1 I 592 | X SHIELD 13 100 -650 100 L 50 50 1 1 I 593 | X VBUS 2 100 450 100 L 50 50 1 1 I 594 | X SBU2 3 100 350 100 L 50 50 1 1 I 595 | X CC1 4 100 250 100 L 50 50 1 1 I 596 | X DN2 5 100 150 100 L 50 50 1 1 I 597 | X DP1 6 100 50 100 L 50 50 1 1 I 598 | X DN1 7 100 -50 100 L 50 50 1 1 I 599 | X DP2 8 100 -150 100 L 50 50 1 1 I 600 | X SBU1 9 100 -250 100 L 50 50 1 1 I 601 | ENDDRAW 602 | ENDDEF 603 | # 604 | #End Library 605 | -------------------------------------------------------------------------------- /project/z2m_partner-top.pos: -------------------------------------------------------------------------------- 1 | ### Module positions - created on 2019 October 28, Monday 13:53:23 ### 2 | ### Printed by Pcbnew version kicad (5.1.4-0-10_14) 3 | ## Unit = mm, Angle = deg. 4 | ## Side : top 5 | # Ref Val Package PosX PosY Rot Side 6 | C3 100nF C_0603_1608Metric_Pad1.05x0.95mm_HandSolder 173.5950 -112.6490 0.0000 top 7 | C4 100nF C_0603_1608Metric_Pad1.05x0.95mm_HandSolder 200.6600 -113.1430 270.0000 top 8 | C5 10uF CP_EIA-3528-21_Kemet-B_Pad1.50x2.35mm_HandSolder 173.6090 -101.3200 270.0000 top 9 | C6 10uF CP_EIA-3528-21_Kemet-B_Pad1.50x2.35mm_HandSolder 170.1800 -101.3200 270.0000 top 10 | C7 100nF C_0603_1608Metric_Pad1.05x0.95mm_HandSolder 172.9880 -88.3920 0.0000 top 11 | D1 LED LED_1206_3216Metric_Pad1.42x1.75mm_HandSolder 163.0680 -94.9595 270.0000 top 12 | F1 MF-MSMF050 Fuse_1812_4532Metric_Pad1.30x3.40mm_HandSolder 171.7040 -106.0450 180.0000 top 13 | R1 5.1k R_0603_1608Metric_Pad1.05x0.95mm_HandSolder 173.5950 -109.3978 180.0000 top 14 | R2 5.1k R_0603_1608Metric_Pad1.05x0.95mm_HandSolder 173.5976 -111.0234 180.0000 top 15 | R3 10k R_0603_1608Metric_Pad1.05x0.95mm_HandSolder 197.4710 -96.3930 0.0000 top 16 | R4 10k R_0603_1608Metric_Pad1.05x0.95mm_HandSolder 197.4964 -97.9170 0.0000 top 17 | R5 1k R_0805_2012Metric_Pad1.15x1.40mm_HandSolder 195.8712 -83.0208 225.0000 top 18 | R6 0 R_0603_1608Metric_Pad1.05x0.95mm_HandSolder 204.8510 -105.6500 270.0000 top 19 | R7 10k R_0603_1608Metric_Pad1.05x0.95mm_HandSolder 206.3750 -105.6500 270.0000 top 20 | R8 0 R_0603_1608Metric_Pad1.05x0.95mm_HandSolder 203.3270 -105.6386 270.0000 top 21 | R9 1k R_0805_2012Metric_Pad1.15x1.40mm_HandSolder 165.3540 -95.4950 90.0000 top 22 | R10 10k R_0603_1608Metric_Pad1.05x0.95mm_HandSolder 198.8820 -113.1570 90.0000 top 23 | R11 10k R_0603_1608Metric_Pad1.05x0.95mm_HandSolder 199.6277 -120.4123 90.0000 top 24 | R12 10k R_0603_1608Metric_Pad1.05x0.95mm_HandSolder 199.7570 -110.6170 0.0000 top 25 | SW1 SW_DIP_x02 SW_DIP_SPSTx02_Slide_Copal_CHS-02B_W7.62mm_P1.27mm 200.4060 -87.5030 135.0000 top 26 | SW2 SW_Push SW_SPST_PTS810 204.9780 -110.7440 45.0000 top 27 | SW3 SW_Push SW_SPST_PTS810 202.3110 -116.5860 45.0000 top 28 | U1 CH340G SOIC-16_3.9x9.9mm_P1.27mm 168.6560 -115.4430 225.0000 top 29 | U2 CD4052B SOIC-16_3.9x9.9mm_P1.27mm 203.3270 -97.9170 180.0000 top 30 | U3 E18-MS1-PCB E18-MS1PA1-IPX 176.6570 -101.9810 0.0000 top 31 | U4 74LVC1G66 SOT-353_SC-70-5_Handsoldering 196.7230 -100.3300 0.0000 top 32 | U5 74LVC1G66 SOT-353_SC-70-5_Handsoldering 196.7230 -103.2510 0.0000 top 33 | U6 AP1117-33 SOT-223-3_TabPin2 171.1960 -94.1070 90.0000 top 34 | USB1 HRO-TYPE-C-31-M-12 HRO-TYPE-C-31-M-12-HandSoldering 158.7500 -102.8700 270.0000 top 35 | Y1 12MHz Resonator_SMD_muRata_CSTxExxV-3Pin_3.0x1.1mm_HandSoldering 163.4085 -110.5305 45.0000 top 36 | ## End 37 | -------------------------------------------------------------------------------- /project/z2m_partner.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomefans/z2m_partner/f85b9f14ccc072c4f30a3fdd09dc15048bc7b907/project/z2m_partner.pdf -------------------------------------------------------------------------------- /project/z2m_partner.pretty/E18-MS1PA1-IPX-24PIN.kicad_mod: -------------------------------------------------------------------------------- 1 | (module E18-MS1PA1-IPX-24PIN (layer F.Cu) (tedit 5DB575F0) 2 | (fp_text reference REF** (at 0 0.5) (layer F.SilkS) 3 | (effects (font (size 1 1) (thickness 0.15))) 4 | ) 5 | (fp_text value E18-MS1PA1-IPX-24PIN (at 0 -0.5) (layer F.Fab) 6 | (effects (font (size 1 1) (thickness 0.15))) 7 | ) 8 | ) 9 | -------------------------------------------------------------------------------- /project/z2m_partner.pretty/E18-MS1PA1-IPX.kicad_mod: -------------------------------------------------------------------------------- 1 | (module E18-MS1PA1-IPX (layer F.Cu) (tedit 5DB583E2) 2 | (descr http://www.ebyte.com/product-view-news.aspx?id=69) 3 | (tags Zigbee) 4 | (attr smd) 5 | (fp_text reference REF** (at 7.05 2 180) (layer F.SilkS) 6 | (effects (font (size 1 1) (thickness 0.15))) 7 | ) 8 | (fp_text value E18-MS1PA1-IPX (at 7.05 -24 180) (layer F.Fab) 9 | (effects (font (size 1 1) (thickness 0.15))) 10 | ) 11 | (fp_line (start 16 0) (end 0 0) (layer F.Fab) (width 0.1)) 12 | (fp_line (start 0 -22.5) (end 16 -22.5) (layer F.Fab) (width 0.1)) 13 | (fp_line (start 16 -22.5) (end 16 0) (layer F.Fab) (width 0.1)) 14 | (fp_text user %R (at 7.05 -11.5 180) (layer F.Fab) 15 | (effects (font (size 1 1) (thickness 0.15))) 16 | ) 17 | (fp_line (start -1.25 1.25) (end -1.25 -23.25) (layer F.CrtYd) (width 0.05)) 18 | (fp_line (start -1.25 -23.25) (end 17.27 -23.25) (layer F.CrtYd) (width 0.05)) 19 | (fp_line (start 17.27 -23.25) (end 17.27 1.25) (layer F.CrtYd) (width 0.05)) 20 | (fp_line (start 17.27 1.25) (end -1.25 1.25) (layer F.CrtYd) (width 0.05)) 21 | (fp_line (start -0.12 0.12) (end -0.12 -1.45) (layer F.SilkS) (width 0.12)) 22 | (fp_line (start -0.12 0.12) (end 1.77 0.12) (layer F.SilkS) (width 0.12)) 23 | (fp_line (start 14.22 0.12) (end 16.11 0.12) (layer F.SilkS) (width 0.12)) 24 | (fp_line (start 16.11 0.12) (end 16.11 -1.45) (layer F.SilkS) (width 0.12)) 25 | (fp_line (start 16.12 -11.97) (end 16.12 -22.62) (layer F.SilkS) (width 0.12)) 26 | (fp_line (start 16.12 -22.62) (end -0.12 -22.62) (layer F.SilkS) (width 0.12)) 27 | (fp_line (start -0.12 -22.62) (end -0.12 -11.96) (layer F.SilkS) (width 0.12)) 28 | (fp_line (start 0 -22.5) (end 0 0) (layer F.Fab) (width 0.1)) 29 | (pad 17 smd rect (at 16 -2.55 90) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 30 | (pad 18 smd rect (at 16 -3.82 90) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 31 | (pad 19 smd rect (at 16 -5.09 90) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 32 | (pad 20 smd rect (at 16 -6.36 90) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 33 | (pad 21 smd rect (at 16 -7.63 90) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 34 | (pad 22 smd rect (at 16 -8.9 90) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 35 | (pad 23 smd rect (at 16 -10.17 90) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 36 | (pad 24 smd rect (at 16 -11.44 90) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 37 | (pad 9 smd rect (at 3.55 0 180) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 38 | (pad 10 smd rect (at 4.82 0 180) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 39 | (pad 11 smd rect (at 6.09 0 180) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 40 | (pad 12 smd rect (at 7.36 0 180) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 41 | (pad 13 smd rect (at 8.63 0 180) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 42 | (pad 14 smd rect (at 9.9 0 180) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 43 | (pad 15 smd rect (at 11.17 0 180) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 44 | (pad 16 smd rect (at 12.44 0 180) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 45 | (pad 1 smd rect (at 0 -11.44 270) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 46 | (pad 2 smd rect (at 0 -10.17 270) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 47 | (pad 3 smd rect (at 0 -8.9 270) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 48 | (pad 4 smd rect (at 0 -7.63 270) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 49 | (pad 5 smd rect (at 0 -6.36 270) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 50 | (pad 6 smd rect (at 0 -5.09 270) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 51 | (pad 7 smd rect (at 0 -3.82 270) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 52 | (pad 8 smd rect (at 0 -2.55 270) (size 0.7 2) (layers F.Cu F.Paste F.Mask)) 53 | (model ${KISYS3DMOD}/RF_Module.3dshapes/E18-MS1-PCB.wrl 54 | (at (xyz 0 0 0)) 55 | (scale (xyz 1 1 1)) 56 | (rotate (xyz 0 0 0)) 57 | ) 58 | ) 59 | -------------------------------------------------------------------------------- /project/z2m_partner.pretty/SK6812_4020.kicad_mod: -------------------------------------------------------------------------------- 1 | (module SK6812_4020 (layer F.Cu) (tedit 5DCEE241) 2 | (attr smd) 3 | (fp_text reference REF** (at -2 -3) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value SK6812_4020 (at -2 0.15) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_line (start -2 -0.75) (end -2 0.75) (layer F.CrtYd) (width 0.12)) 10 | (fp_line (start -2 0.75) (end 2 0.75) (layer F.CrtYd) (width 0.12)) 11 | (fp_line (start 2 0.75) (end 2 -0.75) (layer F.CrtYd) (width 0.12)) 12 | (fp_line (start 2 -0.75) (end -2 -0.75) (layer F.CrtYd) (width 0.12)) 13 | (fp_line (start 1.5 0.25) (end 2 0.75) (layer F.SilkS) (width 0.12)) 14 | (fp_line (start -1.5 0.25) (end 1.5 0.25) (layer F.SilkS) (width 0.12)) 15 | (fp_line (start -2 0.75) (end -1.5 0.25) (layer F.SilkS) (width 0.12)) 16 | (fp_line (start -1 0.75) (end -1 0.25) (layer F.SilkS) (width 0.12)) 17 | (fp_line (start 0 0.75) (end 0 0.25) (layer F.SilkS) (width 0.12)) 18 | (fp_line (start 1 0.75) (end 1 0.25) (layer F.SilkS) (width 0.12)) 19 | (fp_line (start -2 0.75) (end 2 0.75) (layer F.SilkS) (width 0.12)) 20 | (pad 4 smd roundrect (at -1.275 -0.75) (size 0.45 1.5) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25)) 21 | (pad 1 smd roundrect (at -0.3 -0.75) (size 0.6 1.5) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25)) 22 | (pad 2 smd roundrect (at 0.575 -0.75) (size 0.35 1.5) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25)) 23 | (pad 3 smd roundrect (at 1.4 -0.75) (size 0.5 1.5) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25)) 24 | ) 25 | -------------------------------------------------------------------------------- /project/z2m_partner.pro: -------------------------------------------------------------------------------- 1 | update=2019 November 18, Monday 23:34:21 2 | version=1 3 | last_client=kicad 4 | [general] 5 | version=1 6 | RootSch= 7 | BoardNm= 8 | [cvpcb] 9 | version=1 10 | NetIExt=net 11 | [eeschema] 12 | version=1 13 | LibDir= 14 | [eeschema/libraries] 15 | [schematic_editor] 16 | version=1 17 | PageLayoutDescrFile= 18 | PlotDirectoryName= 19 | SubpartIdSeparator=0 20 | SubpartFirstId=65 21 | NetFmtName=Pcbnew 22 | SpiceAjustPassiveValues=0 23 | LabSize=50 24 | ERC_TestSimilarLabels=1 25 | [pcbnew] 26 | version=1 27 | PageLayoutDescrFile= 28 | LastNetListRead=z2m_partner.net 29 | CopperLayerCount=2 30 | BoardThickness=1.2 31 | AllowMicroVias=0 32 | AllowBlindVias=0 33 | RequireCourtyardDefinitions=0 34 | ProhibitOverlappingCourtyards=0 35 | MinTrackWidth=0.2 36 | MinViaDiameter=0.2 37 | MinViaDrill=0.24 38 | MinMicroViaDiameter=0.2 39 | MinMicroViaDrill=0.09999999999999999 40 | MinHoleToHole=0.25 41 | TrackWidth1=0.25 42 | TrackWidth2=0.2032 43 | TrackWidth3=0.381 44 | TrackWidth4=0.508 45 | ViaDiameter1=0.8 46 | ViaDrill1=0.4 47 | ViaDiameter2=0.4572 48 | ViaDrill2=0.254 49 | dPairWidth1=0.2 50 | dPairGap1=0.25 51 | dPairViaGap1=0.25 52 | SilkLineWidth=0.12 53 | SilkTextSizeV=1 54 | SilkTextSizeH=1 55 | SilkTextSizeThickness=0.15 56 | SilkTextItalic=0 57 | SilkTextUpright=1 58 | CopperLineWidth=0.2 59 | CopperTextSizeV=1.5 60 | CopperTextSizeH=1.5 61 | CopperTextThickness=0.3 62 | CopperTextItalic=0 63 | CopperTextUpright=1 64 | EdgeCutLineWidth=0.05 65 | CourtyardLineWidth=0.05 66 | OthersLineWidth=0.15 67 | OthersTextSizeV=1 68 | OthersTextSizeH=1 69 | OthersTextSizeThickness=0.15 70 | OthersTextItalic=0 71 | OthersTextUpright=1 72 | SolderMaskClearance=0.051 73 | SolderMaskMinWidth=0.25 74 | SolderPasteClearance=0 75 | SolderPasteRatio=-0 76 | [pcbnew/Layer.F.Cu] 77 | Name=F.Cu 78 | Type=0 79 | Enabled=1 80 | [pcbnew/Layer.In1.Cu] 81 | Name=In1.Cu 82 | Type=0 83 | Enabled=0 84 | [pcbnew/Layer.In2.Cu] 85 | Name=In2.Cu 86 | Type=0 87 | Enabled=0 88 | [pcbnew/Layer.In3.Cu] 89 | Name=In3.Cu 90 | Type=0 91 | Enabled=0 92 | [pcbnew/Layer.In4.Cu] 93 | Name=In4.Cu 94 | Type=0 95 | Enabled=0 96 | [pcbnew/Layer.In5.Cu] 97 | Name=In5.Cu 98 | Type=0 99 | Enabled=0 100 | [pcbnew/Layer.In6.Cu] 101 | Name=In6.Cu 102 | Type=0 103 | Enabled=0 104 | [pcbnew/Layer.In7.Cu] 105 | Name=In7.Cu 106 | Type=0 107 | Enabled=0 108 | [pcbnew/Layer.In8.Cu] 109 | Name=In8.Cu 110 | Type=0 111 | Enabled=0 112 | [pcbnew/Layer.In9.Cu] 113 | Name=In9.Cu 114 | Type=0 115 | Enabled=0 116 | [pcbnew/Layer.In10.Cu] 117 | Name=In10.Cu 118 | Type=0 119 | Enabled=0 120 | [pcbnew/Layer.In11.Cu] 121 | Name=In11.Cu 122 | Type=0 123 | Enabled=0 124 | [pcbnew/Layer.In12.Cu] 125 | Name=In12.Cu 126 | Type=0 127 | Enabled=0 128 | [pcbnew/Layer.In13.Cu] 129 | Name=In13.Cu 130 | Type=0 131 | Enabled=0 132 | [pcbnew/Layer.In14.Cu] 133 | Name=In14.Cu 134 | Type=0 135 | Enabled=0 136 | [pcbnew/Layer.In15.Cu] 137 | Name=In15.Cu 138 | Type=0 139 | Enabled=0 140 | [pcbnew/Layer.In16.Cu] 141 | Name=In16.Cu 142 | Type=0 143 | Enabled=0 144 | [pcbnew/Layer.In17.Cu] 145 | Name=In17.Cu 146 | Type=0 147 | Enabled=0 148 | [pcbnew/Layer.In18.Cu] 149 | Name=In18.Cu 150 | Type=0 151 | Enabled=0 152 | [pcbnew/Layer.In19.Cu] 153 | Name=In19.Cu 154 | Type=0 155 | Enabled=0 156 | [pcbnew/Layer.In20.Cu] 157 | Name=In20.Cu 158 | Type=0 159 | Enabled=0 160 | [pcbnew/Layer.In21.Cu] 161 | Name=In21.Cu 162 | Type=0 163 | Enabled=0 164 | [pcbnew/Layer.In22.Cu] 165 | Name=In22.Cu 166 | Type=0 167 | Enabled=0 168 | [pcbnew/Layer.In23.Cu] 169 | Name=In23.Cu 170 | Type=0 171 | Enabled=0 172 | [pcbnew/Layer.In24.Cu] 173 | Name=In24.Cu 174 | Type=0 175 | Enabled=0 176 | [pcbnew/Layer.In25.Cu] 177 | Name=In25.Cu 178 | Type=0 179 | Enabled=0 180 | [pcbnew/Layer.In26.Cu] 181 | Name=In26.Cu 182 | Type=0 183 | Enabled=0 184 | [pcbnew/Layer.In27.Cu] 185 | Name=In27.Cu 186 | Type=0 187 | Enabled=0 188 | [pcbnew/Layer.In28.Cu] 189 | Name=In28.Cu 190 | Type=0 191 | Enabled=0 192 | [pcbnew/Layer.In29.Cu] 193 | Name=In29.Cu 194 | Type=0 195 | Enabled=0 196 | [pcbnew/Layer.In30.Cu] 197 | Name=In30.Cu 198 | Type=0 199 | Enabled=0 200 | [pcbnew/Layer.B.Cu] 201 | Name=B.Cu 202 | Type=0 203 | Enabled=1 204 | [pcbnew/Layer.B.Adhes] 205 | Enabled=1 206 | [pcbnew/Layer.F.Adhes] 207 | Enabled=1 208 | [pcbnew/Layer.B.Paste] 209 | Enabled=1 210 | [pcbnew/Layer.F.Paste] 211 | Enabled=1 212 | [pcbnew/Layer.B.SilkS] 213 | Enabled=1 214 | [pcbnew/Layer.F.SilkS] 215 | Enabled=1 216 | [pcbnew/Layer.B.Mask] 217 | Enabled=1 218 | [pcbnew/Layer.F.Mask] 219 | Enabled=1 220 | [pcbnew/Layer.Dwgs.User] 221 | Enabled=0 222 | [pcbnew/Layer.Cmts.User] 223 | Enabled=0 224 | [pcbnew/Layer.Eco1.User] 225 | Enabled=0 226 | [pcbnew/Layer.Eco2.User] 227 | Enabled=0 228 | [pcbnew/Layer.Edge.Cuts] 229 | Enabled=1 230 | [pcbnew/Layer.Margin] 231 | Enabled=1 232 | [pcbnew/Layer.B.CrtYd] 233 | Enabled=1 234 | [pcbnew/Layer.F.CrtYd] 235 | Enabled=1 236 | [pcbnew/Layer.B.Fab] 237 | Enabled=1 238 | [pcbnew/Layer.F.Fab] 239 | Enabled=1 240 | [pcbnew/Layer.Rescue] 241 | Enabled=0 242 | [pcbnew/Netclasses] 243 | [pcbnew/Netclasses/Default] 244 | Name=Default 245 | Clearance=0.2 246 | TrackWidth=0.25 247 | ViaDiameter=0.8 248 | ViaDrill=0.4 249 | uViaDiameter=0.3 250 | uViaDrill=0.1 251 | dPairWidth=0.2 252 | dPairGap=0.25 253 | dPairViaGap=0.25 254 | -------------------------------------------------------------------------------- /project/z2m_partner_BOM.csv: -------------------------------------------------------------------------------- 1 | "Comment","Description","Designator","Footprint","LibRef","Pins","Quantity","PartNumber","url", 2 | "100nF","desc","C3,C4,C7,","C_0603_1608Metric_Pad1.05x0.95mm_HandSolder","libref","2","3","","~", 3 | "10uF","desc","C5,C6,","CP_EIA-3528-21_Kemet-B_Pad1.50x2.35mm_HandSolder","libref","2","2","","~", 4 | "MF-MSMF050","desc","F1,","Fuse_1812_4532Metric_Pad1.30x3.40mm_HandSolder","libref","2","1","","~", 5 | "S8050","desc","Q1,Q2,","TSOT-23","libref","3","2","","~", 6 | "5.1k","desc","R1,R2,","R_0603_1608Metric_Pad1.05x0.95mm_HandSolder","libref","2","2","","~", 7 | "10k-NC","desc","R13,","R_0402_1005Metric","libref","2","1","","~", 8 | "10k","desc","R4,R7,R10,R11,R12,R5,R9,R3,","R_0603_1608Metric_Pad1.05x0.95mm_HandSolder","libref","2","8","","~", 9 | "0-NC","desc","R6,R14,","R_0402_1005Metric","libref","2","2","","~", 10 | "0","desc","R8,","R_0402_1005Metric","libref","2","1","","~", 11 | "SW_DIP_x02","desc","SW1,","SW_DIP_SPSTx02_Slide_Copal_CHS-02B_W7.62mm_P1.27mm","libref","4","1","","~", 12 | "SW_Push","desc","SW2,SW3,","SW_SPST_PTS810","libref","4","2","","~", 13 | "CH340C","desc","U1,","SOIC-16_3.9x9.9mm_P1.27mm","libref","16","1","","http://www.datasheet5.com/pdf-local-2195953", 14 | "CD4052B","desc","U2,","SOIC-16_3.9x9.9mm_P1.27mm","libref","16","1","","http://www.ti.com/lit/ds/symlink/cd4052b.pdf", 15 | "E18-MS1PA1-IPX","desc","U3,","E18-MS1PA1-IPX","libref","24","1","","http://www.cdebyte.com/en/downpdf.aspx?id=122", 16 | "74LVC1G66","desc","U4,U5,","SOT-353_SC-70-5_Handsoldering","libref","5","2","","http://www.ti.com/lit/sg/scyt129e/scyt129e.pdf", 17 | "AMS1117-33","desc","U6,","SOT-223-3_TabPin2","libref","4","1","","http://www.diodes.com/datasheets/AP1117.pdf", 18 | "ESP-WROOM-02","desc","U7,","ESP-13-WROOM-02","libref","19","1","","https://www.espressif.com/sites/default/files/documentation/0c-esp-wroom-02_datasheet_en.pdf", 19 | "12MHz-NC","desc","Y1,","Resonator_SMD_muRata_CSTxExxV-3Pin_3.0x1.1mm","libref","3","1","","~", 20 | "100nF","desc","C1,C2,C8,C9,C10,C11,C12,","C_0603_1608Metric_Pad1.05x0.95mm_HandSolder","libref","2","7","","~", 21 | "WS2812B","desc","D1,","LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm","libref","4","1","","https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf", 22 | "D","desc","D2,","D_0603_1608Metric_Pad1.05x0.95mm_HandSolder","libref","2","1","","~", 23 | "SK6812_4020","desc","D3,D4,D5,D6,D7,D8,","SK6812_4020","libref","4","6","","https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf", 24 | "Through Hole Items ", 25 | "Conn_01x05","desc","J1,","PinHeader_1x05_P2.54mm_Vertical","libref","5","1","","~", 26 | "MountingHole_3.2mm_M3_ISO14580","desc","REF**,REF**,","MountingHole_3.2mm_M3_ISO14580","libref","1","2","","", 27 | "HRO-TYPE-C-31-M-12","desc","USB1,","HRO-TYPE-C-31-M-12-HandSoldering","libref","18","1","","", 28 | -------------------------------------------------------------------------------- /project/z2m_partner_POS.csv: -------------------------------------------------------------------------------- 1 | "Designator","Footprint","Mid X","Mid Y","Ref X","Ref Y","Pad X","Pad Y","Layer","Rotation","Comment", 2 | "C3","C_0603_1608Metric_Pad1.05x0.95mm_HandSolder","4.00548mm","16.19548mm","4.00548mm","16.19548mm","3.386762mm","15.576762mm","T","45","100nF", 3 | "C4","C_0603_1608Metric_Pad1.05x0.95mm_HandSolder","37.75048mm","12.28548mm","37.75048mm","12.28548mm","36.87548mm","12.28548mm","T","0","100nF", 4 | "C5","CP_EIA-3528-21_Kemet-B_Pad1.50x2.35mm_HandSolder","6.30548mm","36.97548mm","6.30548mm","36.97548mm","6.30548mm","35.35048mm","T","90","10uF", 5 | "C6","CP_EIA-3528-21_Kemet-B_Pad1.50x2.35mm_HandSolder","11.69548mm","40.50548mm","11.69548mm","40.50548mm","10.07048mm","40.50548mm","T","0","10uF", 6 | "C7","C_0603_1608Metric_Pad1.05x0.95mm_HandSolder","15.38548mm","39.33548mm","15.38548mm","39.33548mm","15.38548mm","38.46048mm","T","90","100nF", 7 | "F1","Fuse_1812_4532Metric_Pad1.30x3.40mm_HandSolder","4.90548mm","32.13548mm","4.90548mm","32.13548mm","7.13048mm","32.13548mm","T","180","MF-MSMF050", 8 | "Q1","TSOT-23","42.80548mm","22.31548mm","42.80548mm","22.31548mm","41.85548mm","21.00548mm","T","90","S8050", 9 | "Q2","TSOT-23","40.09548mm","17.83548mm","40.09548mm","17.83548mm","39.14548mm","16.52548mm","T","90","S8050", 10 | "R1","R_0603_1608Metric_Pad1.05x0.95mm_HandSolder","10.25548mm","26.86548mm","10.25548mm","26.86548mm","10.874198mm","27.484198mm","T","225","5.1k", 11 | "R10","R_0603_1608Metric_Pad1.05x0.95mm_HandSolder","36.82548mm","10.00048mm","36.82548mm","10.00048mm","36.82548mm","9.12548mm","T","90","10k", 12 | "R11","R_0603_1608Metric_Pad1.05x0.95mm_HandSolder","38.66548mm","10.01048mm","38.66548mm","10.01048mm","38.66548mm","9.13548mm","T","90","10k", 13 | "R12","R_0603_1608Metric_Pad1.05x0.95mm_HandSolder","37.18548mm","15.74548mm","37.18548mm","15.74548mm","37.18548mm","16.62048mm","T","270","10k", 14 | "R13","R_0402_1005Metric","36.39548mm","40.65548mm","36.39548mm","40.65548mm","36.88048mm","40.65548mm","T","180","10k-NC", 15 | "R14","R_0402_1005Metric","34.42548mm","40.66548mm","34.42548mm","40.66548mm","34.91048mm","40.66548mm","T","180","0-NC", 16 | "R2","R_0603_1608Metric_Pad1.05x0.95mm_HandSolder","10.27548mm","22.63048mm","10.27548mm","22.63048mm","10.894198mm","22.011762mm","T","135","5.1k", 17 | "R3","R_0603_1608Metric_Pad1.05x0.95mm_HandSolder","35.80548mm","42.82548mm","35.80548mm","42.82548mm","35.80548mm","43.70048mm","T","270","10k", 18 | "R4","R_0603_1608Metric_Pad1.05x0.95mm_HandSolder","34.43548mm","42.82548mm","34.43548mm","42.82548mm","34.43548mm","43.70048mm","T","270","10k", 19 | "R5","R_0603_1608Metric_Pad1.05x0.95mm_HandSolder","40.48548mm","14.66548mm","40.48548mm","14.66548mm","41.36048mm","14.66548mm","T","180","10k", 20 | "R6","R_0402_1005Metric","37.77548mm","13.62548mm","37.77548mm","13.62548mm","38.26048mm","13.62548mm","T","180","0-NC", 21 | "R7","R_0603_1608Metric_Pad1.05x0.95mm_HandSolder","47.02548mm","22.13548mm","47.02548mm","22.13548mm","47.02548mm","23.01048mm","T","270","10k", 22 | "R8","R_0402_1005Metric","45.75548mm","21.41548mm","45.75548mm","21.41548mm","45.75548mm","20.93048mm","T","90","0", 23 | "R9","R_0603_1608Metric_Pad1.05x0.95mm_HandSolder","42.73048mm","19.48548mm","42.73048mm","19.48548mm","43.60548mm","19.48548mm","T","180","10k", 24 | "SW1","SW_DIP_SPSTx02_Slide_Copal_CHS-02B_W7.62mm_P1.27mm","40.85148mm","40.36248mm","40.85148mm","40.36248mm","43.096544mm","37.21939mm","T","135","SW_DIP_x02", 25 | "SW2","SW_SPST_PTS810","42.75648mm","11.27948mm","42.75648mm","11.27948mm","43.463587mm","13.506866mm","T","45","SW_Push", 26 | "SW3","SW_SPST_PTS810","45.42348mm","17.12148mm","45.42348mm","17.12148mm","46.130587mm","19.348866mm","T","45","SW_Push", 27 | "U1","SOIC-16_3.9x9.9mm_P1.27mm","9.10148mm","12.42248mm","9.10148mm","12.42248mm","13.994659mm","11.02948mm","T","225","CH340C", 28 | "U2","SOIC-16_3.9x9.9mm_P1.27mm","41.43548mm","28.13548mm","41.43548mm","28.13548mm","36.99048mm","25.66048mm","T","90","CD4052B", 29 | "U3","E18-MS1PA1-IPX","17.10248mm","23.88448mm","17.10248mm","23.88448mm","17.10248mm","35.32448mm","T","0","E18-MS1PA1-IPX", 30 | "U4","SOT-353_SC-70-5_Handsoldering","39.49548mm","34.59548mm","39.49548mm","34.59548mm","38.84548mm","33.26548mm","T","90","74LVC1G66", 31 | "U5","SOT-353_SC-70-5_Handsoldering","41.67548mm","34.59548mm","41.67548mm","34.59548mm","41.02548mm","33.26548mm","T","90","74LVC1G66", 32 | "U6","SOT-223-3_TabPin2","11.64148mm","33.75848mm","11.64148mm","33.75848mm","9.34148mm","30.60848mm","T","90","AMS1117-33", 33 | "U7","ESP-13-WROOM-02","34.88248mm","9.12048mm","34.88248mm","9.12048mm","34.88248mm","9.12048mm","T","180","ESP-WROOM-02", 34 | "Y1","Resonator_SMD_muRata_CSTxExxV-3Pin_3.0x1.1mm","9.87548mm","18.60548mm","9.87548mm","18.60548mm","10.724008mm","17.756952mm","T","135","12MHz-NC", 35 | "C1","C_0603_1608Metric_Pad1.05x0.95mm_HandSolder","18.47048mm","24.19548mm","18.47048mm","24.19548mm","17.59548mm","24.19548mm","B","0","100nF", 36 | "C10","C_0603_1608Metric_Pad1.05x0.95mm_HandSolder","33.35548mm","30.26548mm","33.35548mm","30.26548mm","33.79298mm","29.507708mm","B","120","100nF", 37 | "C11","C_0603_1608Metric_Pad1.05x0.95mm_HandSolder","24.97548mm","15.78548mm","24.97548mm","15.78548mm","24.10048mm","15.78548mm","B","0","100nF", 38 | "C12","C_0603_1608Metric_Pad1.05x0.95mm_HandSolder","16.87548mm","28.97548mm","16.87548mm","28.97548mm","17.31298mm","29.733252mm","B","240","100nF", 39 | "C2","C_0603_1608Metric_Pad1.05x0.95mm_HandSolder","25.06048mm","34.36548mm","25.06048mm","34.36548mm","25.93548mm","34.36548mm","B","180","100nF", 40 | "C8","C_0603_1608Metric_Pad1.05x0.95mm_HandSolder","17.75148mm","20.55048mm","17.75148mm","20.55048mm","17.31398mm","21.308252mm","B","300","100nF", 41 | "C9","C_0603_1608Metric_Pad1.05x0.95mm_HandSolder","32.46948mm","20.42348mm","32.46948mm","20.42348mm","32.03198mm","19.665708mm","B","60","100nF", 42 | "D1","LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm","24.99548mm","24.99548mm","24.99548mm","24.99548mm","22.54548mm","23.39548mm","B","0","WS2812B", 43 | "D2","D_0603_1608Metric_Pad1.05x0.95mm_HandSolder","20.76548mm","25.06548mm","20.76548mm","25.06548mm","20.76548mm","24.19048mm","B","90","D", 44 | "D3","SK6812_4020","24.99548mm","37.99548mm","24.99548mm","37.99548mm","24.69548mm","37.24548mm","B","0","SK6812_4020", 45 | "D4","SK6812_4020","36.24548mm","18.47548mm","36.24548mm","18.47548mm","35.745961mm","19.110288mm","B","240","SK6812_4020", 46 | "D5","SK6812_4020","13.74548mm","18.48548mm","13.74548mm","18.48548mm","14.544999mm","18.600672mm","B","120","SK6812_4020", 47 | "D6","SK6812_4020","13.45548mm","30.75548mm","13.45548mm","30.75548mm","13.954999mm","30.120672mm","B","60","SK6812_4020", 48 | "D7","SK6812_4020","36.55548mm","32.21548mm","36.55548mm","32.21548mm","35.755961mm","32.100288mm","B","300","SK6812_4020", 49 | "D8","SK6812_4020","24.97548mm","11.99548mm","24.97548mm","11.99548mm","25.27548mm","12.74548mm","B","180","SK6812_4020", 50 | "Through Hole Items ", 51 | "J1","PinHeader_1x05_P2.54mm_Vertical","19.89548mm","47.96548mm","19.89548mm","47.96548mm","19.89548mm","47.96548mm","T","90","Conn_01x05", 52 | "REF**","MountingHole_3.2mm_M3_ISO14580","36.52548mm","37.50548mm","36.52548mm","37.50548mm","36.52548mm","37.50548mm","T","0","MountingHole_3.2mm_M3_ISO14580", 53 | "REF**","MountingHole_3.2mm_M3_ISO14580","13.54548mm","24.98548mm","13.54548mm","24.98548mm","13.54548mm","24.98548mm","T","0","MountingHole_3.2mm_M3_ISO14580", 54 | "USB1","HRO-TYPE-C-31-M-12-HandSoldering","-0.80452mm","24.99548mm","-0.80452mm","24.99548mm","7.39048mm","28.22048mm","T","270","HRO-TYPE-C-31-M-12", 55 | -------------------------------------------------------------------------------- /sponsor.md: -------------------------------------------------------------------------------- 1 | # Thanks to everyone who loves this project 2 | 3 | # 感谢每一个喜欢这个项目的人 4 | 5 | - li***36 6.66¥ 6 | --------------------------------------------------------------------------------