{"id":20499666,"url":"https://github.com/apla/brackets-cuwire","last_synced_at":"2025-10-19T18:59:28.757Z","repository":{"id":21233284,"uuid":"24548576","full_name":"apla/brackets-cuwire","owner":"apla","description":"Brackets plugin for Arduino","archived":false,"fork":false,"pushed_at":"2015-03-24T20:28:36.000Z","size":5963,"stargazers_count":63,"open_issues_count":13,"forks_count":7,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-27T09:40:59.085Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-28T02:58:46.000Z","updated_at":"2024-01-24T06:59:27.000Z","dependencies_parsed_at":"2022-09-09T05:10:45.283Z","dependency_job_id":null,"html_url":"https://github.com/apla/brackets-cuwire","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apla%2Fbrackets-cuwire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apla%2Fbrackets-cuwire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apla%2Fbrackets-cuwire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apla%2Fbrackets-cuwire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apla","download_url":"https://codeload.github.com/apla/brackets-cuwire/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248765985,"owners_count":21158296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T18:18:02.711Z","updated_at":"2025-10-19T18:59:23.259Z","avatar_url":"https://github.com/apla.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg width=\"40px\" src=\"assets/logo.svg\"\u003e cuwire: IDE for microcontrollers\n====================\n\nThis is a [Brackets](http://brackets.io) plugin, which provides an [Arduino](http://arduino.cc)-like\nenvironement for editing, compiling and uploading sketches. Current version supports\nArduino 3rd party hardware spec. The plugin was written by Ivan Baktsheev in 2014.\n\nBrackets is a new generation code editor, based on HTML5 and JS. This plugin will provide same functionality\nas Arduino IDE to write code and upload it to the microcontroller. The plugin was written in pure javascript,\nand it will probably runs on Windows, Mac OS X, and Linux (untested). A additional libraries like\n[serialport](https://github.com/voodootikigod/node-serialport) is used in this plugin,\nthe codes are belonging to their own authors. Precompiled versions of those libraries is included along with\nplugin distribution.\n\n## Requirements\n#### 1. [Brackets](http://brackets.io)\nDeveloped and tested under version 1.0\n\n#### 2. [Arduino](http://arduino.cc/en/Main/Software)\nYou need an Arduino IDE version 1.5 and later\n\n## Installation\nPlease install using plugin manager\n\nAfter installation, coil icon ![logo](assets/logo.svg) will appear on sidebar\n\n## Set Arduino Install Location\n\nArduino default locations for hardware and libraries will be scanned automatically.\n\n* On Mac OS X `/Applications/Arduino.app`\n\n* On Windows `C:\\Program Files\\Arduino`\n\n* User's `Documents/Arduino` directory\n\nYou can add non-standard Arduino IDE location using preferences.\n\n## Features\n\n * Compilation and Upload\n * Board images\n * Multiple sketches in one project\n *\n\n## TODO\n\n### Serial Monitor\nScan code for a proper baud rate.\n\n### Settings\nSetting custom location for IDE\n\n### Examples\nSearchable examples\n\n### Libraries\nSearch and add libraries without IDE reload\n\n### IDE features\nCode completion, quick edit, compilation errors highlight in code\n\n### External programmer support\n\n### Bootloader burn\n\n### Additional hardware toolchain installation\n\n## Hardware supported\n\nThis project based on [Arduino IDE 3rd party hardware specification](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification).\n\nCompilation and upload is tested without issues on:\n\n * Atmel AVR: Arduino Uno, Arduino Mega 2560, Arduino Pro mini clone with USB-UART adapter;\n * Atmel ARM: Arduino Due\n * Nordic ARM: Rfduino ([HOWTO](https://github.com/apla/brackets-cuwire/wiki/platform:-RFDuino))\n\n## Issues\nIf you meet any problems, you can leave messages at [Issues](https://github.com/apla/brackets-cuwire/issues).\n\n#### Known Issues:\n\n###### 1. Build Process\n\nThe build process is almost similar to [Arduino Build Process](http://arduino.cc/en/Hacking/BuildProcess).\nA number of things have to happen for your Arduino code to get onto the Arduino board.\nFirst, plugin performs some small transformations to make sure that the code is correct C or C++\n(two common programming languages). It then gets passed to a compiler (avr-gcc),\nwhich turns the human readable code into machine readable instructions (or object files).\nThen, your code gets combined with (linked against), the standard Arduino libraries\nthat provide basic functions like digitalWrite() or Serial.print().\nThe result is a single hex file, which contains the specific bytes that need to be written\nto the program memory of the chip on the Arduino board. This file is then uploaded to the board:\ntransmitted over the USB or serial connection via the bootloader already on the chip\nor with external programming hardware.\n\n* Multi-file sketches\n\nA sketch can contain one `.ino` or `.pde` file and multiple files with extensions of `.c`, `.cpp` and `.h`.\nBefore your sketch is compiled, `.ino` or `.pde` file is transformed to form the \"main sketch file\".\nFiles with `.c`, `.cpp` or extensions are compiled separately. To use files with a .h extension,\nyou need to `#include` it (using \"double quotes\" not angle brackets).\n\n* Transformations to the main sketch file\n\nPlugin performs a few transformations to your main sketch file before passing it to the compiler.\n\nFirst, `#include \"Arduino.h\"` is added just before first program statement. This header file\n(found in `\u003cARDUINO\u003e/hardware/cores/\u003cCORE\u003e/`) includes all the defintions needed for the standard Arduino core.\n\nNext, plugin searches for function definitions within your main sketch file and creates declarations\n(prototypes) for them. These are inserted just after `Arduino.h`. This means that if you want to use\na custom type as a function argument, you should declare it within a separate header file.\nAlso, this generation isn't perfect: it won't create prototypes for functions that have default argument values,\nor which are declared within a namespace or class.\n\n[Arduino IDE](http://arduino.cc) and [Stino plugin for SublimeText]() works slightly different.\nArduino IDE append every file without extension to the main sketch file, Stino does the same for\nall files with `.ino` or `.pde` extension. This is bad practice, `cuwire` doesn't support that.\nIf you want to build a modular app, please use `.c*` and `.h` files, this behavior is supported in every IDE.\n\n* Build process\n\nFirst, plugin reads `boards.txt` and `platform.txt` within `\u003cARDUINO_APP\u003e/hardware` and `\u003cUSER_DOCUMENTS\u003e/Arduino/hardware`\nfolders to generate recipes for build and upload.\n\n###### 2. Add libraries\n\nCopy the library folder to the `\u003cUSER_DOCUMENTS\u003e/Arduino/libraries/` folder.\n\n###### 3. Add new hardware platforms\n\nCopy the core folder to the `\u003cUSER_DOCUMENTS\u003e/Arduino/hardware/` folder.\n\n## License\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the Software without restriction, including without limitation\nthe rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\nand to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\nTHE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF\nCONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE.\n\n## About The Author\n[apla.me](http://apla.me)\n\n## Website\nGitHub (http://github.com/apla/)\n\nSublime Text Plugin (https://github.com/Robot-Will/Stino)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapla%2Fbrackets-cuwire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapla%2Fbrackets-cuwire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapla%2Fbrackets-cuwire/lists"}