-
Notifications
You must be signed in to change notification settings - Fork 1
/
rsfile.cpp
137 lines (110 loc) · 2.1 KB
/
rsfile.cpp
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
/* Space Whales Team: RS232 Read From File
Last Updated February 29, 2013
Released under GNU GPL - version 2 or later
By The Space Whales */
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <cassert>
using namespace std;
// Global File Streams
ifstream inport;
string fileout;
ofstream outport;
int RS232_OpenComport(int t1, int t2)
{
// Default File In
string filein = "inport";
inport.open(filein.c_str());
// Format Stream
cout << "\n";
// Prompt for File In
while (!inport.good()) {
cout << "File to Use as Port In:\n";
cin >> filein;
inport.open(filein.c_str());
}
// Prompt for File Out
cout << "File to Use as Port Out:\n";
cin >> fileout;
outport.open(fileout.c_str());
// Prompt for File Out
while (!outport.good()) {
cout << "File to Use as Port Out:\n";
cin >> fileout;
outport.open(fileout.c_str());
}
// Close File Out
outport.close();
// Dummy Return
return 0;
}
int RS232_PollComport(int t1, unsigned char *data, int data_size)
{
// Read to String
string tmp;
inport >> tmp;
// Write to Array
int tmp_size = tmp.size();
if (tmp_size > data_size)
assert(0);
for (int i = 0; i < tmp_size; ++i)
data[i] = tmp[i];
// Indicate Success
return tmp_size;
}
int RS232_SendBuf(int t1, unsigned char *data, int data_size)
{
// Write Data to File
outport.open(fileout.c_str(), ios_base::app);
if (outport.good()) {
// Write Individual Bytes
for (int i = 0; i < data_size; ++i) {
outport << data[i];
}
// Save Data
outport.close();
// Indicate Success
return data_size;
// Indicate Failure
} else
return 0;
}
void RS232_CloseComport(int t1)
{
// Close File In
inport.close();
}
// Invalid Fuctions
int RS232_SendByte(int t1, unsigned char t2)
{
assert(0);
}
void RS232_cputs(int t1, const char *t2)
{
assert(0);
}
int RS232_IsCTSEnabled(int t1)
{
assert(0);
}
int RS232_IsDSREnabled(int t1)
{
assert(0);
}
void RS232_enableDTR(int t1)
{
assert(0);
}
void RS232_disableDTR(int t1)
{
assert(0);
}
void RS232_enableRTS(int t1)
{
assert(0);
}
void RS232_disableRTS(int t1)
{
assert(0);
}