-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinterface.cpp
More file actions
45 lines (45 loc) · 1.14 KB
/
interface.cpp
File metadata and controls
45 lines (45 loc) · 1.14 KB
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
#include "src/controller.hpp"
#include "src/mppt_controller.hpp"
#include <stdio.h>
double sampling_time = 0;
double * nodes;
int node_num = 0, vref, vout;
double duty = 0;
double gain = 1;
extern "C"
{
double * createNodes(int n){
nodes = (double *)calloc(n , sizeof(double));
node_num = n;
return nodes;
}
void updateNode(int num, double value){
*(nodes + num) = value;
}
double getNodeVal(int num){
return *(nodes + num);
}
void assignNodeNum(int _vref, int _vout){
vref = _vref;
vout = _vout;
}
void create_controller(double _gain, double _sampling_time){
gain = _gain;
sampling_time = _sampling_time;
}
void Exec(double time){
updateDuty(nodes[vref], nodes[vout]);
}
double getDuty(){
return duty;
}
mppt_controller * create_mppt_controller(double vstep){
return new mppt_controller(vstep);
}
void execMPPT(double time, double vin, double iin, mppt_controller * _this){
_this->exec(time, vin, iin);
}
double getVref(mppt_controller * _this){
return _this->getVref();
}
}