Skip to content
forked from ponty/pysimavr

python wrapper for simavr which is AVR and arduino simulator

License

Notifications You must be signed in to change notification settings

blinthicum/pysimavr

 
 

Repository files navigation

pysimavr is a python wrapper for simavr which is AVR and arduino simulator

Links:
Features:
  • python wrapper using swig
  • simavr source code is included for easier installation
  • object oriented interface on top of the generated interface
  • maximum speed can be real-time
  • serial communication
  • check simavr documentation
Known problems:
  • included simavr source code is not up to date
  • Python 3 is not supported
  • tested only on linux
  • more tests needed
  • PWM simulation is not real-time
  • missing PWM modes
  • a lot of messages on stdout
  • LCD simulator is not fully implemented
Possible usage:
  • unit test
  • simulator
Similar projects:

Basic usage

>>> from pysimavr.avr import Avr >>> avr=Avr(mcu='atmega48',f_cpu=8000000) >>> firmware = Firmware('lcd.elf') >>> avr.load_firmware(firmware)

>>> from pysimavr.sim import ArduinoSim >>> print ArduinoSim(snippet='Serial.print("hello!");').get_serial() hello!

Installation

check simavr doc: http://gitorious.org/simavr/pages/GetStarted

ignore these in simavr doc:
  • OpenGl (freeglut)
  • gcc-avr
  • avr-libc
  • make

General

  • install python
  • install pip
  • install swig (for source build only)
  • install header files and a static library for Python (for source build only)
  • install a compiler (for source build only)
  • install elf library
  • install the program:

    # as root
    pip install pysimavr

Ubuntu

sudo apt-get install python-pip
sudo apt-get install swig
sudo apt-get install python-dev
sudo apt-get install gcc
sudo apt-get install libelf-dev
sudo pip install pysimavr
# optional for examples:
sudo pip install entrypoint2

Uninstall

# as root
pip uninstall pysimavr

About

python wrapper for simavr which is AVR and arduino simulator

Resources

License

Stars

Watchers

Forks

Packages

No packages published