• This repository has been archived on 27/Aug/2021
  • Stars
    star
    1,080
  • Rank 42,846 (Top 0.9 %)
  • Language
    Python
  • License
    MIT License
  • Created about 13 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Command line toolkit for working with Arduino hardware

Ino

Ino is a command line toolkit for working with Arduino hardware

It allows you to:

  • Quickly create new projects
  • Build a firmware from multiple source files and libraries
  • Upload the firmware to a device
  • Perform serial communication with a device (aka serial monitor)

Ino may replace Arduino IDE UI if you prefer to work with command line and an editor of your choice or if you want to integrate Arduino build process to 3-rd party IDE.

Ino is based on make to perform builds. However Makefiles are generated automatically and you'll never see them if you don't want to.

Features

  • Simple. No build scripts are necessary.
  • Out-of-source builds. Directories with source files are not cluttered with intermediate object files.
  • Support for *.ino and *.pde sketches as well as raw *.c and *.cpp.
  • Support for Arduino Software versions 1.x as well as 0.x.
  • Automatic dependency tracking. Referred libraries are automatically included in the build process. Changes in *.h files lead to recompilation of sources which include them.
  • Pretty colorful output.
  • Support for all boards that are supported by Arduino IDE.
  • Fast. Discovered tool paths and other stuff is cached across runs. If nothing has changed, nothing is build.
  • Flexible. Support for simple ini-style config files to setup machine-specific info like used Arduino model, Arduino distribution path, etc just once.

Installation

From source:

  • Download latest source tarball
  • Or clone it from GitHub: git clone git://github.com/amperka/ino.git
  • Do make install to perform installation under /usr/local
  • Or see INSTALL for instructions on changing destination directory

With Python setup tools:

  • Either pip install ino
  • Or easy_install ino

Requirements

  • Python 2.6+
  • Arduino IDE distribution
  • picocom for serial communication

Limitations

  • As for current version, ino works only in Linux and MacOS. However it was created with other OS users in mind, so it will eventually get full cross-platform support. Help from Windows-developers is much appreciated.

Getting Help

License

If not stated otherwise ino is distributed in terms of MIT software license. See MIT-LICENSE.txt in the distribution for details.

Contributors

Changelog

0.3.6
  • Fix #74, #107, #108: Use of types declared in included files is allowed in function definitions. Previously it led to: '<enum|struct|typedef>' not declared in this scope.
  • Fix #105: Search for avrdude.conf in /etc/avrdude to be compatible with Fedora.
  • Fix #99: Check for an existing project before building or creating directories
  • Fix #93, #57, #8: Custom compile and link flags can be passed as ino build arguments
  • Fix #60, #63: Custom make tool command can be passed as ino build argument
  • Fix #23, #28: make is searched within Arduino IDE binaries as well
  • Fix #88, #103: Correct version parsing for some distributions that mangle it
  • Fix #46: Taking build number into account in version string
  • Fix #19, #81, #82: Custom command line arguments for picocom can be passed while running ino serial
0.3.5
  • Fix #62: Include MIT-LICENSE.txt in the tarball.
0.3.4
  • Fix #44, #45: Building and uploading for Arduino Leonardo is fully supported.
  • Fix #3, #29: Build artifacts for different board models and Arduino distributions go in different build subdirectories, so you haven't to run ino clean and rebuild if you switch to another Arduino model or software distribution.
  • The version of avr gcc toolset that is bundled with Arduino Software is now always preferred over system-wide. So that users with edge-versions of software (such as Arch Linux) able to produce expected results.
0.3.3
  • Fix #16: *.ino and *.pde sketches are now populated with function prototypes while preprocessing step in the same way as it done by Arduino IDE, so it is now possible to use functions before they're declared or defined.
0.3.2
  • Fix #13: Local header #includes from sketch files are no longer lead to 'No such file or directory' error. Now GCC is given an additional include path pointing to the sketch origin while compiling processed source.
  • Fix #18: Proper scanning of dependency files when multiple library dependencies are found on the same line. Now all of them are taken into account, not just first one.
  • Add: Processed sketch files now have #line directive so that they appear as original source in GCC output in case of syntax errors.
  • Add: Automatic dependency tracking for included header files. Now a sketch or cpp source get rebuild once an included (directly or indirectly) header changes.
0.3.1
  • Support for ino build --verbose
0.3.0
  • MacOS support
  • Serial port guess
0.2.0
  • Support for Arduino Software version 1.0
0.1.x
  • Initial release
  • Various bug fixes

More Repositories

1

espruino-modcat

JavaScript
51
star
2

serial-projector

A simple Chrome Application that shows last line of text got from serial port with a big font.
JavaScript
40
star
3

hardware-drawings

Репозиторий ресурсов для работы с векторными файлами компонентов Амперки
33
star
4

TroykaMQ

C++
32
star
5

dht

Arduino-library for DHT11/DHT22 sensors reading
C++
22
star
6

Troyka-IMU

Arduino library to drive Troyka IMU by Amperka.ru
C++
21
star
7

flipperzero-examples

Примеры пользовательских приложений для Flipper Zero
C
17
star
8

Structor

Конструктор из 5 мм вспененного ПВХ для изготовления корпусов DIY-электроники
OpenSCAD
15
star
9

UTFT

C
13
star
10

cube

Python
12
star
11

TroykaDHT

C++
11
star
12

gprs-shield

Arduino-библиотека для работы с GPRS Shield
C++
11
star
13

TroykaCapPython

Python
9
star
14

abot

Amperka ROS robot.
C++
9
star
15

TroykaRTC

Arduino library to drive Troyka real time clock by Amperka.ru
C++
7
star
16

QuadDisplay2

C++
7
star
17

TroykaGPS

C++
6
star
18

Strela

Arduino library to work with Strela, arduino-compatible board from Amperka.ru
HTML
6
star
19

URM37

Arduino-library to communicate with URM37 ultrasound sensor
C++
6
star
20

QuadDisplay

Arduino library to drive Troyka Quad Display by Amperka.ru
C++
6
star
21

TroykaMeteoSensor

C++
5
star
22

TVout

C++
5
star
23

music-shield

Fixed Seeed Studion Music Shield library
C++
4
star
24

TroykaHatCpp

C++
4
star
25

TroykaCurrent

C++
4
star
26

AmperkaKB

C++
3
star
27

TroykaDHT11

Arduino library to drive Troyka-DHT11 by Amperka.ru
C++
3
star
28

TroykaLight

C++
3
star
29

fritzing-lib

Fritzing library for Amperka products
3
star
30

Multiservo

Arduino library for Multiservo shield
C++
3
star
31

i2cio-firmware

i2cio firmware for STM32F030F4P6
C
3
star
32

stepper-amperka

Arduino library to drive stepper motors with Motor Shield from Amperka.ru
C++
3
star
33

TroykaOLED

C
3
star
34

TroykaAccelerometer

C++
3
star
35

gpio-expander-rs

A platform-independent driver for interacting with the products GPIO Port Expander (Troyka Module), Troyka HAT and Slot Expander Expansion Board
Rust
3
star
36

I2CioExpander

Arduino library to drive GPIO expander (Troyka module)
C++
2
star
37

TroykaButton

C++
2
star
38

ESP8266-uploader-script

Script for ESP8266. It allows you to simply upload firmware of the boards using esptool. There is espruino v2.06 and AT-commands firmware in folder.
PowerShell
2
star
39

TroykaHatPython

Raspberry Pi library for interaction with a Amperka TroykaHAT.
Python
2
star
40

AmperkaFET

C++
2
star
41

iskrajs-rust-template

Rust template for Iskra JS or Iskra JS Mini boards
Rust
2
star
42

GrowBox

System for growing plants.
HTML
2
star
43

rat-maze

Приложения к проекту Амперки «Крысинный лабиринт»
JavaScript
2
star
44

TroykaThermometer

C++
1
star
45

gddigits

C++
1
star
46

AmperkaStepper

C++
1
star
47

Octoliner

Arduino library to interface with the Amperka Octoliner 8-channel line sensor.
C++
1
star
48

ampline

AmperkaLine library.
C++
1
star
49

OctofetXOD

XOD library to interface with the Amperka Octofet 8-channel power switches
C++
1
star
50

SegM8XOD

SegM8 modules XOD library
C++
1
star
51

raspberry_support

Supporting files and software for Raspberry educational kit designed by Amperka.com
HTML
1
star
52

malina_support

supporting files for malina educational kit
HTML
1
star
53

led-matrix-editor

LED matrix 8x8 online editor app
1
star
54

mini-jansen-chassis

Исходные файлы для проекта шагохода Тео Янсена на Arduino.
C++
1
star
55

TroykaLedMatrix

Objective-C
1
star
56

instant_thermal_print_camera

Исходные файлы для проекта моментальной термокамеры.
C
1
star
57

TroykaTextLCD

C++
1
star