Skip to content

mikaelpatel/Cosa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3a6a9ff · Mar 14, 2020
Dec 9, 2015
Mar 15, 2015
Nov 13, 2018
Nov 22, 2015
Mar 11, 2020
Jan 1, 2016
Jun 30, 2018
Oct 23, 2017
Dec 13, 2015
Dec 13, 2015
Aug 31, 2017
Jun 5, 2015
Nov 12, 2012
Aug 31, 2017
Jan 1, 2016
Oct 24, 2015
Jan 31, 2016
Aug 17, 2016
Jan 31, 2016

Repository files navigation

Che Cosa?

Cosa is an object-oriented platform for Arduino. It replaces the Arduino and Wiring library with a large set of integrated classes that support the full range of AVR/ATmega/ATtiny internal hardware modules; all pin modes, Digital, and Analog Pins, External and Pin Change Interrupts, Analog Comparator, PWM, Watchdog, Timer0/Timer2 (RTT), Timer1 (Servo/Tone/VWI), Input Capture, UART, USI, SPI, TWI and EEPROM. Cosa supports several programming paradigms including Multi-Tasking, Event Driven Programming and UML Capsules/Actors. Cosa contains over 200 classes and nearly as many example sketches to get started.

Please note that Cosa is not an Arduino core; Cosa does not implement the Arduino API. Sketches written with Cosa may be built with the Arduino IDE or with the command line based build support for Linux.

Cosa supports the Arduino Boards Manager install. Simply install by adding the Cosa Package URL to the Additional Boards Manager URLs in the IDE Preferences; https://raw.githubusercontent.com/mikaelpatel/Cosa/master/package_cosa_index.json

More details are available:

Cosa API

The API documentation is available:

The documentation contains a full hyperlinked description of all functions in Cosa together with UML graphs of the class hierarchy, include dependencies, and much more.

The provided documentation is generated with doxygen and may also be generated for users source code if the Cosa documentation style is adapted. See the Doxyfile for configuration of doxygen.

Supported Boards and MCUs

Cosa has built-in support for a large number of boards and clones/vendors. It also supports breadboards and custom-design boards with AVR MCUs.

References

  1. D.tools, http://hci.stanford.edu/research/dtools/
  2. Processing, http://processing.org/
  3. Wiring, http://wiring.org.co/
  4. Quantum Leaps, http://www.state-machine.com/
  5. Concurrency.cc, http://concurrency.cc/
  6. Arduino, http://www.arduino.cc/
  7. Firmata, http://www.firmata.org/wiki/Main_Page
  8. LilyPad, http://web.media.mit.edu/~leah/LilyPad/
  9. Adafruit, http://www.adafruit.com/
  10. Microduino, http://www.microduino.cc/
  11. Jeelabs, http://jeelabs.org/
  12. Teensy, https://www.pjrc.com/
  13. Pinoccio, https://pinocc.io/
  14. LowPowerLab, http://lowpowerlab.com/
  15. Anarduino, http://www.anarduino.com/
  16. Wicked Device, http://shop.wickeddevice.com/
  17. MQTT, http://mqtt.org/
  18. ThingSpeak, https://thingspeak.com/

Naming

  • "Ciao"; interjection hello!, goodbye!.
  • "Che cosa"; pronoun; what.
  • "Cosa"; noun thing, matter; pronoun; what?, what!.
  • "Cosa fai"; what do you do?
  • "Nucleo"; kernel.
  • "Rifare"; remake.
  • "Rete"; network.
  • "Tutto"; all.

Stay tuned

Please follow the development of this project on the blog http://cosa-arduino.blogspot.se and on the Arduino forum, http://arduino.cc/forum/index.php/topic,150299.0.html.

Supporting this project

There are many ways to support this project.

  1. Build and test.
  2. Fix bugs and take part in the development work.
  3. Write blog or instructions on how you have used Cosa in your project(s).
  4. Donate hardware; Arduino boards and shields. This is especially welcome as with the growning number of device drivers and supported modules that require hardware setups which takes a lot of time if breadboarded.
  5. Or donations through paypal (use email address).

If you are planning to use Cosa you are encouraged to support the project to help keep the software at high quality and follow changes in tooling, and above all open-source.

Please note that the issues list should be used mainly for bug reports and enhancement requests. Design and implementation support is only provided to contributing projects.