Code Monkey home page Code Monkey logo

yasdi's Introduction

YASDI
-----

1) Introduction

  YASDI is an implementation library for communication with 
  SMA String Inverters (aka "Sunny Boys"). The name "YASDI" stands for 
  "(Y)et (A)nother (S)MA (D)ata (I)mplementation" and means the implementation
  of the communication protocol "SMAData" via "SunnyNet" and "SMANet".
    
  Functioning as a driver system without its own graphical interface, 
  the software implements the communication over serial port and ethernet/UDP 
  connections. 
  
  The software has been designed in such a way that it can be easily adapted 
  to other environments (operating systems). At the time of this document's 
  release, there exist adaptations for 
  
    - Windows32
    - WindowsCE 
    - Linux (BE + LE: x86, ARM, XScale, M68k, PowerPC, ...)
    - MacOSX (Darwin)
    - Solaris
    - RTOS/RTKernel32
    - AmigaOS ;-)
    
  All system-dependent functions are abstracted from the operating system 
  via an interface. The software is written in "C", and allows maximum possible 
  portability to other possible target platforms. Although an object-oriented 
  language is not used, there is nevertheless an attempt made to realize an 
  object-oriented structure with the "C" language. The implementations for 
  Windows and Linux are executed as libraries (Windows: DLL, Linux: SO). 
  Another utilization, for example as part of a "monolithic" program, is also 
  possible. YASDI primarily implements the master functionality of the 
  SMA Data Protocol. Slave functions can also be easily implemented by utilizing 
  the rudimentary functions for sending and receiving packets.

  You will find the complete description of the API in an separate document.



2) Building YASDI from source with CMake

   YASDI can be built with CMake. See www.cmake.org for more details...
   

2.1) Windows

2.1.1) MinGW

   To create MinGW makefiles: 

      $>  cd <to the YASDI project path>
      $>  cd projects/generic-cmake
      $>  mkdir build-mingw
      $>  cd build-mingw
      $>  cmake -G "MSYS Makefiles" ..
      $>  make                          

      

2.1.2) Microsoft Visual Studio 
      
   If you want to create Visual studio project files enter the following after a DOS command prompt:

      DOS>  cd <to the YASDI project path>
      DOS>  cd projects/generic-cmake
      DOS>  mkdir build-vcpp
      DOS>  cd build-build-vcpp
      DOS>  cmake -G "Visual Studio 8 2005" .

   Now open "ALL_BUILD.vcproj" with visual c++ and compile it.
      


2.2) Linux and MacOSX (for GCC compiler systems)

   Building GNU makefiles with Linux or MacOSX:

      $Bash>  cd <to the YASDI project path>
      $Bash>  cd projects/generic-cmake
      $Bash>  mkdir build-gcc
      $Bash>  cd build-gcc
      $Bash>  cmake ..
      $Bash>  make
      $Bash>  sudo make install                          


3)  Running  
   
   It is possible to use a simple shell tool for the YASDI with
   "yasdishell yasdi.ini" on all systems. This tool is not YASDI itself, but only an 
   very simple demo program testing communication with devices with 
   YASDI shared libs...

   The file "yasdi.ini" contains some configurations for the 
   environment you use. It is possibly required to adjust some entries to fit your 
   environment (e.g. COM/TTY interfaces...).
      
      

yasdi's People

Contributors

konstantinblaesi avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.