All Projects β†’ xodio β†’ Xod

xodio / Xod

Licence: agpl-3.0
XOD IDE

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Xod

Halloweenfire
πŸŽƒ Arduino sketch for multiple neopixels to create spooky 'fire' effect
Stars: ✭ 24 (-96.24%)
Mutual labels:  arduino, electronics
Espway
Segway-like robot implemented on ESP8266
Stars: ✭ 109 (-82.94%)
Mutual labels:  arduino, electronics
Arduino Pro Ide
The Arduino IDE for advanced users and developers. Experimental alpha version.
Stars: ✭ 917 (+43.51%)
Mutual labels:  arduino, ide
Goldfish
A small, thin, USB-C, Pro Micro compatible microcontroller
Stars: ✭ 120 (-81.22%)
Mutual labels:  arduino, electronics
Blog
A set of various projects based on ESP8266, ESP32, ATtiny13, ATtiny85, ATtiny2313, ATmega8, ATmega328, ATmega32, STM32 and more.
Stars: ✭ 198 (-69.01%)
Mutual labels:  arduino, electronics
Platformio Atom Ide
PlatformIO IDE for Atom: The next generation integrated development environment for IoT
Stars: ✭ 475 (-25.67%)
Mutual labels:  arduino, ide
Pharothings
Live programming platform for IoT projects based on Pharo
Stars: ✭ 80 (-87.48%)
Mutual labels:  arduino, ide
Reflowduino
Arduino-compatible wireless reflow oven controller ecosystem of open-source hardware
Stars: ✭ 154 (-75.9%)
Mutual labels:  arduino, electronics
Arduino
open-source electronics platform
Stars: ✭ 12,318 (+1827.7%)
Mutual labels:  arduino, ide
Automated Irrigation System
This is the software of an open source automated irrigation system. The complete setup including hardware can be found in the README.
Stars: ✭ 442 (-30.83%)
Mutual labels:  arduino, electronics
Platformio Core
PlatformIO is a professional collaborative platform for embedded development πŸ‘½ A place where Developers and Teams have true Freedom! No more vendor lock-in!
Stars: ✭ 5,539 (+766.82%)
Mutual labels:  arduino, ide
Skidl
SKiDL is a module that extends Python with the ability to design electronic circuits.
Stars: ✭ 614 (-3.91%)
Mutual labels:  electronics
Kodexplorer
A web based file manager,web IDE / browser based code editor
Stars: ✭ 5,490 (+759.15%)
Mutual labels:  ide
Graphql Editor
πŸ“Ί Visual Editor & GraphQL IDE. Draw GraphQL schemas using visual πŸ”· nodes and explore GraphQL API with beautiful UI. Even πŸ’ can do that!
Stars: ✭ 5,485 (+758.37%)
Mutual labels:  ide
Pyscripter
Pyscripter is a feature-rich but lightweight Python IDE
Stars: ✭ 584 (-8.61%)
Mutual labels:  ide
Jarvis
Dotfiles for a powerful, web development-focused environment powered by Neovim, iTerm2, tmux, and zsh
Stars: ✭ 617 (-3.44%)
Mutual labels:  ide
Orsserialport
Serial port library for Objective-C and Swift macOS apps
Stars: ✭ 609 (-4.69%)
Mutual labels:  arduino
System Designer
A low-code development platform for creating systems
Stars: ✭ 578 (-9.55%)
Mutual labels:  ide
Sublimehaskell
A Sublime Text 3 plugin for Haskell. Features cabal building, error and warning highlighting, smart completion and ghc-mod integration.
Stars: ✭ 574 (-10.17%)
Mutual labels:  ide
Arduinojson
πŸ“Ÿ JSON library for Arduino and embedded C++. Simple and efficient.
Stars: ✭ 5,456 (+753.83%)
Mutual labels:  arduino

XOD

CircleCI

XOD is a visual programming language for microcontrollers. This repository contains sources for XOD language core, XOD IDE and XOD standard library.

Xoding demo

Installation & Quick start

Download the latest IDE version for desktop or run the browser-based IDE at https://xod.io.

Documentation and tutorials are at https://xod.io/docs/.

Building from source

XOD is written in JavaScript and ReasonML. You need Node.js and Yarn to build from source. Make sure they are available on your system.

Clone the repository and set working directory to its root. Then run:

# Install all JavaScript and ReasonML dependencies
yarn

# Build all packages of XOD
yarn build

To start the desktop IDE run:

yarn start:electron

Alternatively, run browser-based IDE:

yarn dev:browser
# IDE is available at <http://localhost:8080>

Directory structure

The project is managed as a Lerna monorepo and split up in few directories:

  • packages/ β€” most of source code is here; navigate to a particular package to see it’s own README and get an idea what it is for
  • tools/ β€” utility scripts to assist build process and routine maintenance tasks
  • workspace/ β€” XOD standard library, default projects, and end-to-end fixtures

Repository commands

You can run several commands on source files. They are available as yarn subcommands:

  • yarn build β€” build, transpile, pack all
  • yarn build:electron β€” build desktop IDE only
  • yarn build:cli β€” build CLI tools only
  • yarn dev:browser β€” run dev-version of browser IDE on localhost
  • yarn dist:electron β€” build OS-specific distributive of desktop IDE
  • yarn test β€” run unit tests
  • yarn test-cpp β€” run C++ code tests
  • yarn test-func β€” run functional tests
  • yarn tabtest β€” run standard library tabular tests
  • yarn lint β€” run the linter to check code style
  • yarn verify β€” build, lint, test; run this prior to a pull request
  • yarn start:electron β€” starts desktop IDE
  • yarn start:spectron-repl β€” starts functional tests environment
  • yarn storybook β€” starts React components viewer for visual inspection
  • yarn clean β€” remove build artifacts and installed node_modules

Note that dependencies between tasks are not resolved. test and start:* expect that the project is already built.

Scoping

Many commands (notably build, dev, test) support package scoping to save development time. To rebuild only xod-project:

yarn build --scope xod-project

To rebuild xod-project and its dependencies:

yarn build --scope xod-project --include-filtered-dependencies

Those are standard Lerna flags.

Debugging functional tests

yarn test-func runs automated end-to-end functional tests.

You can set XOD_DEBUG_TESTS environment variable to keep IDE open on failure: XOD_DEBUG_TESTS=1 yarn test-func

Use yarn start:spectron-repl to run an interactive session and control the IDE window programmatically.

Running C++ and tabular tests

You need gcc and avr-gcc to be installed system-wide to run C++ code tests. They are available as OS packages for most platforms.

License

Copyright 2017-2019 XOD Inc.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License, version 3, as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.

As a special exception, the copyright holders give permission to link the code of portions of this program with the OpenSSL library under certain conditions as described in each individual source file and distribute linked combinations including the program with the OpenSSL library. You must comply with the GNU Affero General Public License in all respects for all of the code used other than as permitted herein. If you modify file(s) with this exception, you may extend this exception to your version of the file(s), but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it in the license file.

Contributing

Feel free to contribute to the project! See the general Contibutor’s guide and GitHub contribution guidelines.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].