Rev 151 | Rev 155 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 151 | Rev 154 | ||
|---|---|---|---|
| Line 1... | Line 1... | ||
| 1 | #include <windows.h> |
1 | #include <windows.h> |
| 2 | #include <cvirte.h> |
2 | #include <cvirte.h> |
| 3 | #include <utility.h> |
3 | #include <utility.h> |
| 4 | #include <stdio.h> |
4 | #include <stdio.h> |
| 5 | #include <stdarg.h> |
5 | #include <stdarg.h> |
| 6 | #include " |
6 | #include "MPOD.h" |
| 7 | 7 | ||
| - | 8 | static mpodInit=1; |
|
| - | 9 | HSNMP crateHsnmp[MAX_CRATES]; |
|
| - | 10 | ||
| - | 11 | int _VI_FUNC MPOD_Start (void) |
|
| - | 12 | { |
|
| - | 13 | int i; |
|
| - | 14 | if (mpodInit) { |
|
| - | 15 | for (i=0;i<MAX_CRATES;i++) crateHsnmp[i]=NULL; |
|
| - | 16 | if(!snmpInit()) return -1; // basic init |
|
| - | 17 | mpodInit=0; |
|
| - | 18 | } |
|
| - | 19 | return 0; |
|
| - | 20 | } |
|
| - | 21 | ||
| - | 22 | int _VI_FUNC MPOD_Open (int mpodn, char *address) |
|
| - | 23 | { |
|
| - | 24 | if (crateHsnmp[mpodn]) { |
|
| - | 25 | printf("Crate number %i already in use!\n",mpodn); |
|
| - | 26 | return -2; |
|
| - | 27 | } |
|
| - | 28 | crateHsnmp[mpodn] = snmpOpen(address); // open TCP/IP socket |
|
| - | 29 | if(!crateHsnmp[mpodn]) return -1; |
|
| - | 30 | return 0; |
|
| - | 31 | } |
|
| - | 32 | ||
| - | 33 | int _VI_FUNC MPOD_GetInt (int mpodn, char *oidstr) |
|
| - | 34 | { |
|
| - | 35 | SnmpObject tmpObject; |
|
| - | 36 | ||
| - | 37 | getNode(oidstr, &tmpObject); |
|
| - | 38 | return snmpGetInt(crateHsnmp[mpodn], &tmpObject); |
|
| - | 39 | } |
|
| - | 40 | ||
| - | 41 | double _VI_FUNC MPOD_GetDouble (int mpodn, char *oidstr) |
|
| - | 42 | { |
|
| - | 43 | SnmpObject tmpObject; |
|
| - | 44 | ||
| - | 45 | getNode(oidstr, &tmpObject); |
|
| - | 46 | return snmpGetDouble(crateHsnmp[mpodn], &tmpObject); |
|
| - | 47 | } |
|
| - | 48 | ||
| - | 49 | int _VI_FUNC MPOD_Close (int mpodn) |
|
| - | 50 | { |
|
| - | 51 | snmpClose(crateHsnmp[mpodn]); |
|
| - | 52 | crateHsnmp[mpodn]=NULL; |
|
| - | 53 | return 0; |
|
| - | 54 | } |
|
| - | 55 | ||
| - | 56 | int _VI_FUNC MPOD_End (void) |
|
| - | 57 | { |
|
| - | 58 | if (!mpodInit) { |
|
| - | 59 | snmpCleanup(); // finish |
|
| - | 60 | mpodInit=1; |
|
| - | 61 | } |
|
| - | 62 | return 0; |
|
| - | 63 | } |
|
| - | 64 | ||
| - | 65 | #ifdef MPOD_MAIN |
|
| 8 | int __stdcall WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, |
66 | int __stdcall WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, |
| 9 | LPSTR lpszCmdLine, int nCmdShow) { |
67 | LPSTR lpszCmdLine, int nCmdShow) { |
| 10 | 68 | ||
| 11 | double ret; |
69 | double ret; |
| 12 | // double voltage; |
70 | // double voltage; |
| 13 | double vSet=0; |
71 | double vSet=0; |
| 14 | int ch=0; |
72 | int ch=0; |
| 15 | int iret; |
73 | int iret; |
| 16 | // int i, j; |
74 | // int i, j; |
| 17 | - | ||
| 18 | // oid oidStr[MAX_OID_LEN]; |
- | |
| 19 | // size_t lengthOidStr; |
- | |
| 20 | 75 | ||
| 21 | HSNMP crate1; |
76 | HSNMP crate1; |
| 22 | 77 | ||
| 23 | if (InitCVIRTE (hInstance, 0, 0) == 0) |
78 | if (InitCVIRTE (hInstance, 0, 0) == 0) |
| 24 | return -1; /* out of memory */ |
79 | return -1; /* out of memory */ |
| 25 | 80 | ||
| 26 |
|
81 | MPOD_Start(); |
| 27 |
|
82 | MPOD_Open(0,"arich-mpod1.kek.jp"); |
| 28 |
|
83 | crate1 = crateHsnmp[0]; |
| 29 | 84 | ||
| 30 | printf("-----------------------------------------------------------------\n"); |
85 | printf("-----------------------------------------------------------------\n"); |
| 31 | 86 | ||
| 32 | iret=getMainSwitch(crate1); |
87 | iret=getMainSwitch(crate1); |
| 33 | printf("Main Switch = %i\n", iret); |
88 | printf("Main Switch = %i\n", iret); |
| 34 | 89 | ||
| 35 | - | ||
| 36 |
|
90 | iret=MPOD_GetInt(0,"moduleNumber.0"); |
| 37 |
|
91 | printf("Module Number = %i\n", iret); |
| - | 92 | ||
| 38 |
|
93 | ret=MPOD_GetDouble(0,"outputVoltage.1"); |
| 39 |
|
94 | printf("Output Voltage = %f.\n", ret); |
| 40 | 95 | ||
| 41 | vSet = getOutputVoltage(crate1, ch); |
96 | vSet = getOutputVoltage(crate1, ch); |
| 42 | printf("Output Voltage %i = %f.\n", ch, vSet); |
97 | printf("Output Voltage %i = %f.\n", ch, vSet); |
| 43 | 98 | ||
| 44 | //Test Channel Status |
99 | //Test Channel Status |
| 45 | iret=getChannelSwitch(crate1, ch); |
100 | iret=getChannelSwitch(crate1, ch); |
| 46 | printf("Channel Status %i = %i\n", ch, iret); |
101 | printf("Channel Status %i = %i\n", ch, iret); |
| 47 | 102 | ||
| 48 | //Test Reading the Sense Measurement |
103 | //Test Reading the Sense Measurement |
| 49 | ret = getOutputSenseMeasurement(crate1, ch); |
104 | ret = getOutputSenseMeasurement(crate1, ch); |
| 50 | printf("Sense Voltage = %f\n", ret); |
105 | printf("Sense Voltage = %f\n", ret); |
| 51 | 106 | ||
| 52 | //Test Reading the Current |
107 | //Test Reading the Current |
| 53 | ret = getCurrentMeasurement(crate1, ch); |
108 | ret = getCurrentMeasurement(crate1, ch); |
| 54 | printf("Current Measurement = %f\n", ret); |
109 | printf("Current Measurement = %f\n", ret); |
| Line 66... | Line 121... | ||
| 66 | printf("Sense Voltage = %f\n", ret); |
121 | printf("Sense Voltage = %f\n", ret); |
| 67 | 122 | ||
| 68 | //Test Reading the Current |
123 | //Test Reading the Current |
| 69 | ret = getCurrentMeasurement(crate1, ch); |
124 | ret = getCurrentMeasurement(crate1, ch); |
| 70 | printf("Current Measurement = %f\n", ret); |
125 | printf("Current Measurement = %f\n", ret); |
| 71 | 126 | ||
| 72 | getchar(); |
127 | getchar(); |
| 73 | 128 | ||
| 74 | printf("Turning channel %i OFF\n", ch); |
129 | printf("Turning channel %i OFF\n", ch); |
| 75 | setChannelSwitch(crate1, ch, 0); |
130 | setChannelSwitch(crate1, ch, 0); |
| 76 | 131 | ||
| 77 | printf("-----------------------------------------------------------------\n"); |
132 | printf("-----------------------------------------------------------------\n"); |
| 78 | 133 | ||
| - | 134 | Delay(1); |
|
| - | 135 | ||
| 79 |
|
136 | MPOD_Close(0); |
| 80 |
|
137 | MPOD_End(); |
| 81 | 138 | ||
| 82 | return 0; |
139 | return 0; |
| 83 | } |
140 | } |
| - | 141 | ||
| - | 142 | #endif /* MPOD_MAIN */ |
|