#Planck Advanced (but not too advanced) `cygwin` Users Guide If you are a user of the [cygwin environment](https://cygwin.com) in Windows and want the freedom to use the latest tools available, then this is the guide for you. If compiling your own copy of the latest and greatest Gnu C Compiler makes you super happy, then this is the guide for you. If the command line make you smile, then this is the guide for you. This guide was written step by step as I went through the process on a `Windows 10` `x86_64` and a `Windows 7` `amd k10` based system. This should be generally applicable to to any `Windows` environment with `cygwin`. #####Do not skip steps. Do not move past a step until the previous step finishes successfully. Based on [avr-libc installation guide](http://www.nongnu.org/avr-libc/user-manual/install_tools.html) ##Get the Required Packages Download the `cygwin` setup ([x86_64](https://cygwin.com/setup-x86_64.exe)) and install the default system plus the following if they are not already selected: - devel/git - devel/gcc-core - devel/gcc-g++ - devel/flex - devel/bison - devel/make - devel/texinfo - devel/gettext-devel - devel/automake - devel/autoconfig - devel/libtool - text/gettext - libs/libgcc1 - interpreters/m4 - web/wget - archive/unzip The following sources will be required: - [gmp](https://gmplib.org/) (6.1.0) - [mpfr](http://www.mpfr.org/) (3.1.4) - [mpc](http://www.multiprecision.org/) (1.0.3) - [binutils](https://www.sourceware.org/binutils/) (2.26) - [gcc](https://gcc.gnu.org/) (5.3.0) - [avr-libc](http://www.nongnu.org/avr-libc/) (2.0.0) The `dfu-programmer` will be required to flash the new firmware - [dfu-programmer](https://dfu-programmer.github.io/) (0.7.2) The set of commands below will create a directory (`~/local/avr`) for the sources you compile to be installed on the machine and a directory (`~/src`) for these source files to be stored. The commands then download the sources of the needed packages and unpack them. Note: the expand commands are different depending on if the packages are offered as a `bz2` or `gz` archive ``` $ mkdir ~/local $ mkdir ~/local/avr $ mkdir ~/src $ cd ~/src $ wget https://gmplib.org/download/gmp/gmp-6.1.0.tar.bz2 $ wget http://www.mpfr.org/mpfr-3.1.4/mpfr-3.1.4.tar.bz2 $ wget ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz $ wget http://ftp.gnu.org/gnu/binutils/binutils-2.26.tar.gz $ wget http://mirror0.babylon.network/gcc/releases/gcc-5.3.0/gcc-5.3.0.tar.gz $ wget http://download.savannah.gnu.org/releases/avr-libc/avr-libc-2.0.0.tar.bz2 $ tar -xjf gmp-6.1.0.tar.bz2 $ tar -xjf mpfr-3.1.4.tar.bz2 $ tar -zxf mpc-1.0.3.tar.gz $ tar -zxf binutils-2.26.tar.gz $ tar -zxf gcc-5.3.0.tar.gz $ tar -xjf avr-libc-2.0.0.tar.bz2 ``` ##Setup the Build Environment These commands will set up the install directory and the `PATH` variable, which will allow you to access your installed packages. Note: if you close the `cygwin` terminal window, you will need to rerun these commands, they are not permanent. ``` $ PREFIX=$HOME/local/avr $ export PREFIX $ PATH=/usr/local/bin:/usr/local/lib:/usr/local/include:/bin:/lib:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS $ PATH=$PATH:$PREFIX/bin:$PREFIX/lib $ export PATH ``` ##The `gcc` Required Math Library Packages The following packages are required to be complied and installed in order to compile `gcc`. They are not sufficiently available through the `cygwin` package system, so we have to make them ourselves. They must be complied in this order because each one depends on the previous. Verfiy that for each package, `make check` returns all passing and no fails. ###Build and Install `gmp` ``` $ cd ~/src/gmp-6.1.0 $ ./configure --enable-static --disable-shared $ make $ make check $ make install ``` ###Build and Install `mpfr` ``` $ cd ~/src/mpfr-3.1.4 $ ./configure --with-gmp-build=../gmp-6.1.0 --enable-static --disable-shared $ make $ make check $ make install ``` ###Build and Install `mpc` ``` $ cd ~/src/mpc-1.0.3 $ ./configure --with-gmp=/usr/local --with-mpfr=/usr/local --enable-static --disable-shared $ make $ make check $ make install ``` ##OPTIONAL Part Yo
<div dir="rtl" markdown="1">
# קושחה עבור Quantum Mechanical Keyboard

[![גירסה נוכחית](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)
[![מצב הבניה](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware)
[![ערוץ דיסקורד](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh)
[![מצב מסמכים](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm)
[![תומכי GitHub](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)
[![מזלגות GitHub](https://img.shields.io/github/forks/qmk/qmk_firmware.svg?style=social&label=Fork)](https://github.com/qmk/qmk_firmware/)

## מה היא קושחת QMK?

QMK (*Quantum Mechanical Keyboard*) היא קהילת קוד פתוח (open source) שמתחזקת את קושחת QMK, QMK Toolbox, qmk.fm, והמסמכים המתאימים. קושחת QMK היא קושחה עבור מקלדות המבוססת על [tmk\_keyboard](http://github.com/tmk/tmk_keyboard) עם כמה תוספות עבור בקרי Atmel AVR ובאופן ספציפי יותר - [מוצרי OLKB](http://olkb.com), מקלדת [ErgoDox EZ](http://www.ergodox-ez.com), וגם [מוצרי Clueboard](http://clueboard.co/). בנוסף, הקושחה עברה פורט עבור שבבי ARM באמצעות ChibiOS. ניתן להשתמש בה על מנת להפעיל את מקלדות ה PCB המקוסטמות שלך.

## איך להשיג אותה

אם אתם מתכננים לתרום מיפוי מקשים, מקלדת או יכולת ל QMK, הדבר הקל ביותר הוא  [לעשות פורק לריפו בGithub](https://github.com/qmk/qmk_firmware#fork-destination-box), ולעשות קלון לריפו בסביבה המקומית ושם לבצע את השינויים שלכם, לדחוף אותם ולפתוח  [Pull Request](https://github.com/qmk/qmk_firmware/pulls) מהפורק שלך.

אחרת, אפשר להוריד את הקושחה באופן ישיר ([zip](https://github.com/qmk/qmk_firmware/zipball/master), [tar](https://github.com/qmk/qmk_firmware/tarball/master)), או לשכפל אותה באמצעות git (`git@github.com:qmk/qmk_firmware.git`), או https (`https://github.com/qmk/qmk_firmware.git`).

## איך לקמפל

לפני שתצליחו לקמפל, תדרשו [להתקין סביבה](he-il/getting_started_build_tools.md) עבור פיתוח AVR ו/או ARM. ברגע שהדבר בוצע, תוכלו להריץ פקודת `make` כדי לבנות מקלדת ומיפוי עם התחביר הבא: 

    make planck/rev4:default

כך תוכלו לבנות את גרסא `rev4` של ה `planck` עם מיפוי ברירת המחדל (`default`). לא כל המקלדות בעלות גרסאות (נקרא גם תת-פרוייקט או תיקייה), במקרה כזה, אפשר להריץ את הפקודה הבאה: 

    make preonic:default

## איך להתאים

לQMK יש המון [יכולות](he-il/features.md) שאפשר לנווט בהן, וכמות נכבדת של [תיעוד ודוקומנטציה](http://docs.qmk.fm) בה אפשר לנבור. רוב הפיצ׳רים באים לידי ביטוי על ידי שינוי  [מיפוי המקלדת](he-il/keymap.md) ושינוי  [קודי המקשים](he-il/keycodes.md).
</div>
$ make install ``` TODO: - git repos for all sources - command line magic for cygwin setup - better options for `dfu-drivers`