forked from simonswine/libyasdi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
100 lines (67 loc) · 3.23 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
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...).