##// END OF EJS Templates
imanay -
r117:118
parent child
Show More
@@ -1,224 +1,227
1 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> No newline at end of file
2 2 <?fileVersion 4.0.0?> No newline at end of file
3 3 No newline at end of file
4 4 <cproject> No newline at end of file
5 5 <storageModule moduleId="org.eclipse.cdt.core.settings"> No newline at end of file
6 6 <cconfiguration id="cdt.managedbuild.config.gnu.exe.release.1568263498"> No newline at end of file
7 7 <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.release.1568263498" moduleId="org.eclipse.cdt.core.settings" name="Release"> No newline at end of file
8 8 <externalSettings/> No newline at end of file
9 9 <extensions> No newline at end of file
10 10 <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/> No newline at end of file
11 11 <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> No newline at end of file
12 12 <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> No newline at end of file
13 13 <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> No newline at end of file
14 14 <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> No newline at end of file
15 15 </extensions> No newline at end of file
16 16 </storageModule> No newline at end of file
17 17 <storageModule moduleId="cdtBuildSystem" version="4.0.0">
18 No newline at end of file
18 <configuration artifactName="Control_Module_v1_debug" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.release.1568263498" name="Release" parent="cdt.managedbuild.config.gnu.exe.release"> No newline at end of file
19 19 <folderInfo id="cdt.managedbuild.config.gnu.exe.release.1568263498." name="/" resourcePath=""> No newline at end of file
20 20 <toolChain id="cdt.managedbuild.toolchain.gnu.exe.release.785297601" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.release"> No newline at end of file
21 21 <targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.release.1008424557" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.release"/>
22 No newline at end of file
22 <builder buildPath="${workspace_loc:/Control_Module/Release}" id="cdt.managedbuild.target.gnu.builder.exe.release.365458410" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.release"/> No newline at end of file
23 23 <tool id="cdt.managedbuild.tool.gnu.archiver.base.1343949145" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/> No newline at end of file
24 24 <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.57926565" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release"> No newline at end of file
25 25 <option id="gnu.cpp.compiler.exe.release.option.optimization.level.35312113" name="Optimization Level" superClass="gnu.cpp.compiler.exe.release.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/> No newline at end of file
26 26 <option id="gnu.cpp.compiler.exe.release.option.debugging.level.936269591" name="Debug Level" superClass="gnu.cpp.compiler.exe.release.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/> No newline at end of file
27 27 </tool> No newline at end of file
28 28 <tool command="arm-unknown-linux-gnu-gcc" id="cdt.managedbuild.tool.gnu.c.compiler.exe.release.1796829929" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.release"> No newline at end of file
29 29 <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.exe.release.option.optimization.level.499243164" name="Optimization Level" superClass="gnu.c.compiler.exe.release.option.optimization.level" valueType="enumerated"/> No newline at end of file
30 30 <option id="gnu.c.compiler.exe.release.option.debugging.level.1960011250" name="Debug Level" superClass="gnu.c.compiler.exe.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/> No newline at end of file
31 31 <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1347535566" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/> No newline at end of file
32 32 </tool> No newline at end of file
33 33 <tool command="arm-unknown-linux-gnu-gcc" id="cdt.managedbuild.tool.gnu.c.linker.exe.release.1288648685" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.release"> No newline at end of file
34 <option id="gnu.c.link.option.libs.1983512541" superClass="gnu.c.link.option.libs" valueType="libs">
No newline at end of file
35 <listOptionValue builtIn="false" value="m"/>
No newline at end of file
36 </option> No newline at end of file
34 37 <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.2046701530" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> No newline at end of file
35 38 <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> No newline at end of file
36 39 <additionalInput kind="additionalinput" paths="$(LIBS)"/> No newline at end of file
37 40 </inputType> No newline at end of file
38 41 <outputType id="cdt.managedbuild.tool.gnu.c.linker.output.439510446" outputPrefix="" superClass="cdt.managedbuild.tool.gnu.c.linker.output"/> No newline at end of file
39 42 </tool> No newline at end of file
40 43 <tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.1068281678" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release"/> No newline at end of file
41 44 <tool id="cdt.managedbuild.tool.gnu.assembler.exe.release.796779267" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.release"> No newline at end of file
42 45 <inputType id="cdt.managedbuild.tool.gnu.assembler.input.690094510" superClass="cdt.managedbuild.tool.gnu.assembler.input"/> No newline at end of file
43 46 </tool> No newline at end of file
44 47 </toolChain> No newline at end of file
45 48 </folderInfo> No newline at end of file
46 49 </configuration> No newline at end of file
47 50 </storageModule> No newline at end of file
48 51 No newline at end of file
49 52 <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> No newline at end of file
50 53 <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> No newline at end of file
51 54 <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> No newline at end of file
52 55 <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> No newline at end of file
53 56 <storageModule moduleId="scannerConfiguration"> No newline at end of file
54 57 <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/> No newline at end of file
55 58 <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> No newline at end of file
56 59 <buildOutputProvider> No newline at end of file
57 60 <openAction enabled="true" filePath=""/> No newline at end of file
58 61 <parser enabled="true"/> No newline at end of file
59 62 </buildOutputProvider> No newline at end of file
60 63 <scannerInfoProvider id="specsFile"> No newline at end of file
61 64 <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> No newline at end of file
62 65 <parser enabled="true"/> No newline at end of file
63 66 </scannerInfoProvider> No newline at end of file
64 67 </profile> No newline at end of file
65 68 <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> No newline at end of file
66 69 <buildOutputProvider> No newline at end of file
67 70 <openAction enabled="true" filePath=""/> No newline at end of file
68 71 <parser enabled="true"/> No newline at end of file
69 72 </buildOutputProvider> No newline at end of file
70 73 <scannerInfoProvider id="makefileGenerator"> No newline at end of file
71 74 <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> No newline at end of file
72 75 <parser enabled="true"/> No newline at end of file
73 76 </scannerInfoProvider> No newline at end of file
74 77 </profile> No newline at end of file
75 78 <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> No newline at end of file
76 79 <buildOutputProvider> No newline at end of file
77 80 <openAction enabled="true" filePath=""/> No newline at end of file
78 81 <parser enabled="true"/> No newline at end of file
79 82 </buildOutputProvider> No newline at end of file
80 83 <scannerInfoProvider id="specsFile"> No newline at end of file
81 84 <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> No newline at end of file
82 85 <parser enabled="true"/> No newline at end of file
83 86 </scannerInfoProvider> No newline at end of file
84 87 </profile> No newline at end of file
85 88 <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> No newline at end of file
86 89 <buildOutputProvider> No newline at end of file
87 90 <openAction enabled="true" filePath=""/> No newline at end of file
88 91 <parser enabled="true"/> No newline at end of file
89 92 </buildOutputProvider> No newline at end of file
90 93 <scannerInfoProvider id="specsFile"> No newline at end of file
91 94 <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> No newline at end of file
92 95 <parser enabled="true"/> No newline at end of file
93 96 </scannerInfoProvider> No newline at end of file
94 97 </profile> No newline at end of file
95 98 <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> No newline at end of file
96 99 <buildOutputProvider> No newline at end of file
97 100 <openAction enabled="true" filePath=""/> No newline at end of file
98 101 <parser enabled="true"/> No newline at end of file
99 102 </buildOutputProvider> No newline at end of file
100 103 <scannerInfoProvider id="specsFile"> No newline at end of file
101 104 <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> No newline at end of file
102 105 <parser enabled="true"/> No newline at end of file
103 106 </scannerInfoProvider> No newline at end of file
104 107 </profile> No newline at end of file
105 108 <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> No newline at end of file
106 109 <buildOutputProvider> No newline at end of file
107 110 <openAction enabled="true" filePath=""/> No newline at end of file
108 111 <parser enabled="true"/> No newline at end of file
109 112 </buildOutputProvider> No newline at end of file
110 113 <scannerInfoProvider id="specsFile"> No newline at end of file
111 114 <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> No newline at end of file
112 115 <parser enabled="true"/> No newline at end of file
113 116 </scannerInfoProvider> No newline at end of file
114 117 </profile> No newline at end of file
115 118 <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> No newline at end of file
116 119 <buildOutputProvider> No newline at end of file
117 120 <openAction enabled="true" filePath=""/> No newline at end of file
118 121 <parser enabled="true"/> No newline at end of file
119 122 </buildOutputProvider> No newline at end of file
120 123 <scannerInfoProvider id="specsFile"> No newline at end of file
121 124 <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> No newline at end of file
122 125 <parser enabled="true"/> No newline at end of file
123 126 </scannerInfoProvider> No newline at end of file
124 127 </profile> No newline at end of file
125 128 <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> No newline at end of file
126 129 <buildOutputProvider> No newline at end of file
127 130 <openAction enabled="true" filePath=""/> No newline at end of file
128 131 <parser enabled="true"/> No newline at end of file
129 132 </buildOutputProvider> No newline at end of file
130 133 <scannerInfoProvider id="specsFile"> No newline at end of file
131 134 <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> No newline at end of file
132 135 <parser enabled="true"/> No newline at end of file
133 136 </scannerInfoProvider> No newline at end of file
134 137 </profile> No newline at end of file
135 138 <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.1568263498;cdt.managedbuild.config.gnu.exe.release.1568263498.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.1796829929;cdt.managedbuild.tool.gnu.c.compiler.input.1347535566"> No newline at end of file
136 139 <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/> No newline at end of file
137 140 <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> No newline at end of file
138 141 <buildOutputProvider> No newline at end of file
139 142 <openAction enabled="true" filePath=""/> No newline at end of file
140 143 <parser enabled="true"/> No newline at end of file
141 144 </buildOutputProvider> No newline at end of file
142 145 <scannerInfoProvider id="specsFile"> No newline at end of file
143 146 <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> No newline at end of file
144 147 <parser enabled="true"/> No newline at end of file
145 148 </scannerInfoProvider> No newline at end of file
146 149 </profile> No newline at end of file
147 150 <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> No newline at end of file
148 151 <buildOutputProvider> No newline at end of file
149 152 <openAction enabled="true" filePath=""/> No newline at end of file
150 153 <parser enabled="true"/> No newline at end of file
151 154 </buildOutputProvider> No newline at end of file
152 155 <scannerInfoProvider id="makefileGenerator"> No newline at end of file
153 156 <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> No newline at end of file
154 157 <parser enabled="true"/> No newline at end of file
155 158 </scannerInfoProvider> No newline at end of file
156 159 </profile> No newline at end of file
157 160 <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> No newline at end of file
158 161 <buildOutputProvider> No newline at end of file
159 162 <openAction enabled="true" filePath=""/> No newline at end of file
160 163 <parser enabled="true"/> No newline at end of file
161 164 </buildOutputProvider> No newline at end of file
162 165 <scannerInfoProvider id="specsFile"> No newline at end of file
163 166 <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> No newline at end of file
164 167 <parser enabled="true"/> No newline at end of file
165 168 </scannerInfoProvider> No newline at end of file
166 169 </profile> No newline at end of file
167 170 <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> No newline at end of file
168 171 <buildOutputProvider> No newline at end of file
169 172 <openAction enabled="true" filePath=""/> No newline at end of file
170 173 <parser enabled="true"/> No newline at end of file
171 174 </buildOutputProvider> No newline at end of file
172 175 <scannerInfoProvider id="specsFile"> No newline at end of file
173 176 <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> No newline at end of file
174 177 <parser enabled="true"/> No newline at end of file
175 178 </scannerInfoProvider> No newline at end of file
176 179 </profile> No newline at end of file
177 180 <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> No newline at end of file
178 181 <buildOutputProvider> No newline at end of file
179 182 <openAction enabled="true" filePath=""/> No newline at end of file
180 183 <parser enabled="true"/> No newline at end of file
181 184 </buildOutputProvider> No newline at end of file
182 185 <scannerInfoProvider id="specsFile"> No newline at end of file
183 186 <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> No newline at end of file
184 187 <parser enabled="true"/> No newline at end of file
185 188 </scannerInfoProvider> No newline at end of file
186 189 </profile> No newline at end of file
187 190 <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> No newline at end of file
188 191 <buildOutputProvider> No newline at end of file
189 192 <openAction enabled="true" filePath=""/> No newline at end of file
190 193 <parser enabled="true"/> No newline at end of file
191 194 </buildOutputProvider> No newline at end of file
192 195 <scannerInfoProvider id="specsFile"> No newline at end of file
193 196 <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> No newline at end of file
194 197 <parser enabled="true"/> No newline at end of file
195 198 </scannerInfoProvider> No newline at end of file
196 199 </profile> No newline at end of file
197 200 <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> No newline at end of file
198 201 <buildOutputProvider> No newline at end of file
199 202 <openAction enabled="true" filePath=""/> No newline at end of file
200 203 <parser enabled="true"/> No newline at end of file
201 204 </buildOutputProvider> No newline at end of file
202 205 <scannerInfoProvider id="specsFile"> No newline at end of file
203 206 <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> No newline at end of file
204 207 <parser enabled="true"/> No newline at end of file
205 208 </scannerInfoProvider> No newline at end of file
206 209 </profile> No newline at end of file
207 210 <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> No newline at end of file
208 211 <buildOutputProvider> No newline at end of file
209 212 <openAction enabled="true" filePath=""/> No newline at end of file
210 213 <parser enabled="true"/> No newline at end of file
211 214 </buildOutputProvider> No newline at end of file
212 215 <scannerInfoProvider id="specsFile"> No newline at end of file
213 216 <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> No newline at end of file
214 217 <parser enabled="true"/> No newline at end of file
215 218 </scannerInfoProvider> No newline at end of file
216 219 </profile> No newline at end of file
217 220 </scannerConfigBuildInfo> No newline at end of file
218 221 </storageModule> No newline at end of file
219 222 </cconfiguration> No newline at end of file
220 223 </storageModule> No newline at end of file
221 224 <storageModule moduleId="cdtBuildSystem" version="4.0.0"> No newline at end of file
222 225 <project id="Control_Module.cdt.managedbuild.target.gnu.exe.1941602615" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/> No newline at end of file
223 226 </storageModule> No newline at end of file
224 227 </cproject> No newline at end of file
@@ -1,81 +1,81
1 1 <?xml version="1.0" encoding="UTF-8"?> No newline at end of file
2 2 <projectDescription> No newline at end of file
3 3 <name>Control_Module</name> No newline at end of file
4 4 <comment></comment> No newline at end of file
5 5 <projects> No newline at end of file
6 6 </projects> No newline at end of file
7 7 <buildSpec> No newline at end of file
8 8 <buildCommand> No newline at end of file
9 9 <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> No newline at end of file
10 10 <triggers>clean,full,incremental,</triggers> No newline at end of file
11 11 <arguments> No newline at end of file
12 12 <dictionary> No newline at end of file
13 13 <key>?name?</key> No newline at end of file
14 14 <value></value> No newline at end of file
15 15 </dictionary> No newline at end of file
16 16 <dictionary> No newline at end of file
17 17 <key>org.eclipse.cdt.make.core.append_environment</key> No newline at end of file
18 18 <value>true</value> No newline at end of file
19 19 </dictionary> No newline at end of file
20 20 <dictionary> No newline at end of file
21 21 <key>org.eclipse.cdt.make.core.autoBuildTarget</key> No newline at end of file
22 22 <value>all</value> No newline at end of file
23 23 </dictionary> No newline at end of file
24 24 <dictionary> No newline at end of file
25 25 <key>org.eclipse.cdt.make.core.buildArguments</key> No newline at end of file
26 26 <value></value> No newline at end of file
27 27 </dictionary> No newline at end of file
28 28 <dictionary> No newline at end of file
29 29 <key>org.eclipse.cdt.make.core.buildCommand</key> No newline at end of file
30 30 <value>make</value> No newline at end of file
31 31 </dictionary> No newline at end of file
32 32 <dictionary> No newline at end of file
33 33 <key>org.eclipse.cdt.make.core.buildLocation</key>
34 No newline at end of file
34 <value>${workspace_loc:/Control_Module/Release}</value> No newline at end of file
35 35 </dictionary> No newline at end of file
36 36 <dictionary> No newline at end of file
37 37 <key>org.eclipse.cdt.make.core.cleanBuildTarget</key> No newline at end of file
38 38 <value>clean</value> No newline at end of file
39 39 </dictionary> No newline at end of file
40 40 <dictionary> No newline at end of file
41 41 <key>org.eclipse.cdt.make.core.contents</key> No newline at end of file
42 42 <value>org.eclipse.cdt.make.core.activeConfigSettings</value> No newline at end of file
43 43 </dictionary> No newline at end of file
44 44 <dictionary> No newline at end of file
45 45 <key>org.eclipse.cdt.make.core.enableAutoBuild</key> No newline at end of file
46 46 <value>false</value> No newline at end of file
47 47 </dictionary> No newline at end of file
48 48 <dictionary> No newline at end of file
49 49 <key>org.eclipse.cdt.make.core.enableCleanBuild</key> No newline at end of file
50 50 <value>true</value> No newline at end of file
51 51 </dictionary> No newline at end of file
52 52 <dictionary> No newline at end of file
53 53 <key>org.eclipse.cdt.make.core.enableFullBuild</key> No newline at end of file
54 54 <value>true</value> No newline at end of file
55 55 </dictionary> No newline at end of file
56 56 <dictionary> No newline at end of file
57 57 <key>org.eclipse.cdt.make.core.fullBuildTarget</key> No newline at end of file
58 58 <value>all</value> No newline at end of file
59 59 </dictionary> No newline at end of file
60 60 <dictionary> No newline at end of file
61 61 <key>org.eclipse.cdt.make.core.stopOnError</key> No newline at end of file
62 62 <value>true</value> No newline at end of file
63 63 </dictionary> No newline at end of file
64 64 <dictionary> No newline at end of file
65 65 <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key> No newline at end of file
66 66 <value>true</value> No newline at end of file
67 67 </dictionary> No newline at end of file
68 68 </arguments> No newline at end of file
69 69 </buildCommand> No newline at end of file
70 70 <buildCommand> No newline at end of file
71 71 <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> No newline at end of file
72 72 <arguments> No newline at end of file
73 73 </arguments> No newline at end of file
74 74 </buildCommand> No newline at end of file
75 75 </buildSpec> No newline at end of file
76 76 <natures> No newline at end of file
77 77 <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> No newline at end of file
78 78 <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> No newline at end of file
79 79 <nature>org.eclipse.cdt.core.cnature</nature> No newline at end of file
80 80 </natures> No newline at end of file
81 81 </projectDescription> No newline at end of file
@@ -1,1023 +1,1030
1 1 /* No newline at end of file
2 2 * Servidor.c No newline at end of file
3 3 * No newline at end of file
4 4 * Created on: Nov 3, 2009 No newline at end of file
5 5 * Author: Jose Francisco Quenta No newline at end of file
6 6 * No newline at end of file
7 7 * Se implementa: No newline at end of file
8 8 * -Carga en memoria los apuntes contenidos en un archivo de experimentos: apunte0 -> GPIO No newline at end of file
9 9 * -Cambio de apunte. No newline at end of file
10 10 * -Lectura del estado actual del apunte y grabado del mismo en un archivo No newline at end of file
11 11 * No newline at end of file
12 12 * Modified by Iván Manay since Nov 2012 No newline at end of file
13 13 * -From UDP to TCP. No newline at end of file
14 14 * -Use of a frame for TCP communications with the central control module. No newline at end of file
15 15 */ No newline at end of file
16 16 No newline at end of file
17 17 #include <stdio.h> No newline at end of file
18 18 #include <stdlib.h> No newline at end of file
19 19 #include <string.h> No newline at end of file
20 20 #include <unistd.h> No newline at end of file
21 21 #include <errno.h> No newline at end of file
22 22 No newline at end of file
23 23 #include <sys/types.h> No newline at end of file
24 24 #include <sys/socket.h> No newline at end of file
25 25 #include <netinet/in.h> No newline at end of file
26 26 #include <arpa/inet.h> No newline at end of file
27 27 #include <netdb.h> No newline at end of file
28 28 #include <time.h> No newline at end of file
29 29 #include <math.h> No newline at end of file
30 30 No newline at end of file
31 31 #include "./Librerias/at91gpio.h" No newline at end of file
32 32 //#include "./Librerias/Mensajes.h" No newline at end of file
33 33 #include "./Librerias/at91adc.h" No newline at end of file
34 34 //clock No newline at end of file
35 35 #include "./Librerias/at91sysclock.h" No newline at end of file
36 36 No newline at end of file
37 37 #define PUERTO_SERVIDOR 5500 No newline at end of file
38 38 #define TAM_BUFFER 1024 No newline at end of file
39 39 No newline at end of file
40 40 #define maskc_out PC30+PC28+PC26+PC24+PC22+PC20 //MSB-UP-LSB MSB-DOWN-LSB //APUNTE No newline at end of file
41 41 No newline at end of file
42 42 #define maskb_in PB16+PB18+PB20+PB30+PB24+PB22 //MSB-UP-LSB MSB-DOWN-LSB //VERIFICACION No newline at end of file
43 43 No newline at end of file
44 44 #define bit_up_2 0x00010000 //Mascara de cada bit a revisar: bit_up_2 es MSB No newline at end of file
45 45 #define bit_up_1 0x00040000 No newline at end of file
46 46 #define bit_up_0 0x00100000 No newline at end of file
47 47 #define bit_dow_2 0x40000000 No newline at end of file
48 48 #define bit_dow_1 0x01000000 No newline at end of file
49 49 #define bit_dow_0 0x00400000 No newline at end of file
50 50 No newline at end of file
51 51 #define MyID 11 No newline at end of file
52 52 #define MAXPENDING 5 /* Maximum outstanding connection requests */ No newline at end of file
53 53 No newline at end of file
54 54 //parameters for the name of the output file No newline at end of file
55 55 #define FPRE "AD" //prefix for the output file name No newline at end of file
56 56 #define FEXT ".out" //file extension for the output file No newline at end of file
57 57 #define FNAMELEN 40 No newline at end of file
58 58 No newline at end of file
59 59 //ADC parameters No newline at end of file
60 60 #define REP 1 //defines how many times the data acquisation loop is repeated No newline at end of file
61 61 #define NSAMPLES 100 //defines how many samples are taken in one data acqu- No newline at end of file
62 62 // isation loop No newline at end of file
63 63 #define CNVTIME 14.3 //defines how long it takes to get one sample. Value No newline at end of file
64 64 // is only needed for the output file, doesn't change No newline at end of file
65 65 // any ADC configurations No newline at end of file
66 66 #define UREF 3.3 //Reference Voltage of ADC (max. ADC Voltage) No newline at end of file
67 67 #define ADCRES 1023 //Resolution of ADC (10bit=1023) No newline at end of file
68 68 No newline at end of file
69 69 No newline at end of file
70 70 char *buff_experimento= NULL; No newline at end of file
71 71 No newline at end of file
72 72 AT91S_PIO *pioc; No newline at end of file
73 73 AT91S_PIO *piob; No newline at end of file
74 74 No newline at end of file
75 75 struct control_module_parameters { No newline at end of file
76 76 char ID[20]; No newline at end of file
77 77 char param2[20]; No newline at end of file
78 78 char param3[20]; No newline at end of file
79 79 char param4[20]; No newline at end of file
80 80 }; No newline at end of file
81 81 No newline at end of file
82 82 typedef struct control_module_parameters cmp; No newline at end of file
83 83 No newline at end of file
84 84 char *header = NULL; No newline at end of file
85 85 char *TypeOfInstrument = NULL; No newline at end of file
86 86 char *iDSource = NULL; No newline at end of file
87 87 char *iDDestino = NULL; No newline at end of file
88 88 char *rx_len = NULL; No newline at end of file
89 89 char *cmd = NULL; No newline at end of file
90 90 char *rx_data = NULL; No newline at end of file
91 91 char *crc = NULL; No newline at end of file
92 92 No newline at end of file
93 93 cmp parameters; No newline at end of file
94 94 /* No newline at end of file
95 95 * Zona de declaracion de cabeceras. No newline at end of file
96 96 */ No newline at end of file
97 97 cmp inicializa_modulo(cmp p); No newline at end of file
98 98 int inicializa_ethernet(); No newline at end of file
99 99 int rxData(int, char*); No newline at end of file
100 100 void txData(int, char*); No newline at end of file
101 101 void inicializa_gpio(); No newline at end of file
102 102 void procesa_peticion(char *rx_buffer, char *tx_buffer); No newline at end of file
103 103 int cambia_apuntamiento(char *puntero_char); No newline at end of file
104 104 int carga_experimento(char *nombre_archivo); No newline at end of file
105 105 char *chequeo_sistema(char *filename, char *numero_muestras); No newline at end of file
106 106 void recibe_experimento(char *data, char filename[]); No newline at end of file
107 107 void SplitFrame(char *frame); No newline at end of file
108 108 void intToStr( int number, char* str ); No newline at end of file
109 109 No newline at end of file
110 110 //ABS monitoring No newline at end of file
111 111 int ABS_monitoreo(int sel_atenuador, int sel_calibracion, float umbral, int pulsewidth); No newline at end of file
112 112 No newline at end of file
113 113 AT91S_ADC * configADC1(void); No newline at end of file
114 114 AT91S_ADC * configADC2(void); No newline at end of file
115 115 No newline at end of file
116 116 FILE * create_Output(char*, time_t); No newline at end of file
117 117 No newline at end of file
118 118 void writeOutput(float resultado, FILE * output); No newline at end of file
119 119 No newline at end of file
120 120 int checkTx(long int results1[],long int results2[], float umbral, int pulsewidth); No newline at end of file
121 121 No newline at end of file
122 122 double mediana(long int *results, unsigned int cuenta); No newline at end of file
123 123 float getPhase(long int results1[], long int results2[]); No newline at end of file
124 124 No newline at end of file
125 125 int fExists(char *); No newline at end of file
126 126 int configCLK(); No newline at end of file
127 127 // No newline at end of file
128 128 No newline at end of file
129 129 /* No newline at end of file
130 130 * No newline at end of file
131 131 */ No newline at end of file
132 132 int main(){ No newline at end of file
133 133 No newline at end of file
134 134 int servSocket; No newline at end of file
135 135 int clntSocket; No newline at end of file
136 136 No newline at end of file
137 137 No newline at end of file
138 138 char *rx_buffer = (char *) malloc(TAM_BUFFER); No newline at end of file
139 139 char *tx_buffer = (char *) malloc(TAM_BUFFER); No newline at end of file
140 140 /* Inicializa parametros del modulo*/ No newline at end of file
141 141 parameters = inicializa_modulo(parameters); No newline at end of file
142 142 printf("%s\n%s\n%s\n%s\n",parameters.ID, parameters.param2, parameters.param3, parameters.param4); No newline at end of file
143 143 /* Inicializa red*/ No newline at end of file
144 144 servSocket = inicializa_ethernet(); No newline at end of file
145 145 /* Inicializamos el puerto GPIO del sistema embebido GSBC-9260S */ No newline at end of file
146 146 inicializa_gpio(); No newline at end of file
147 147 No newline at end of file
148 148 while(1){ No newline at end of file
149 149 // Recepción TCP de petición No newline at end of file
150 150 clntSocket = rxData(servSocket, rx_buffer); No newline at end of file
151 151 //testpoint No newline at end of file
152 152 printf("rx:%s\n",rx_buffer); No newline at end of file
153 153 // Procesamiento de la petición No newline at end of file
154 154 procesa_peticion(rx_buffer, tx_buffer); No newline at end of file
155 155 //testpoint No newline at end of file
156 156 printf("tx:%s\n",tx_buffer); No newline at end of file
157 157 // Respuesta del modulo de control No newline at end of file
158 158 txData(clntSocket, tx_buffer); No newline at end of file
159 159 No newline at end of file
160 160 } No newline at end of file
161 161 } No newline at end of file
162 162 No newline at end of file
163 163 No newline at end of file
164 164 int inicializa_ethernet(){ No newline at end of file
165 165 No newline at end of file
166 166 struct sockaddr_in inf_servidor; No newline at end of file
167 167 No newline at end of file
168 168 int servSocket; No newline at end of file
169 169 No newline at end of file
170 170 int resultado; No newline at end of file
171 171 No newline at end of file
172 172 /* Haciendo la estructura local*/ No newline at end of file
173 173 memset(&inf_servidor, 0, sizeof(inf_servidor)); No newline at end of file
174 174 inf_servidor.sin_family= AF_INET; No newline at end of file
175 175 inf_servidor.sin_port= htons(PUERTO_SERVIDOR); No newline at end of file
176 176 inf_servidor.sin_addr.s_addr= INADDR_ANY; No newline at end of file
177 177 No newline at end of file
178 178 /* Se establece el socket */ No newline at end of file
179 179 servSocket = socket(AF_INET,SOCK_STREAM, IPPROTO_TCP); No newline at end of file
180 180 if (servSocket == -1){ No newline at end of file
181 181 printf("No se establecio correctamente el socket: socket()\n"); No newline at end of file
182 182 //ERROR_FATAL("No se establecio correctamente el socket: socket()\n"); No newline at end of file
183 183 exit(-1); No newline at end of file
184 184 } No newline at end of file
185 185 No newline at end of file
186 186 /* Se asocia el socket a un puerto y una IP */ No newline at end of file
187 187 resultado = bind(servSocket,(struct sockaddr *)&inf_servidor,sizeof(inf_servidor)); No newline at end of file
188 188 if (resultado== -1){ No newline at end of file
189 189 printf("No se establecio correctamente el socket: bind()\n"); No newline at end of file
190 190 //ERROR_FATAL("No se establecio correctamente el socket: bind()\n"); No newline at end of file
191 191 exit(-1); No newline at end of file
192 192 } No newline at end of file
193 193 No newline at end of file
194 194 if (listen(servSocket, MAXPENDING) < 0){ No newline at end of file
195 195 printf("listen() failed\n"); No newline at end of file
196 196 exit(-1); No newline at end of file
197 197 } No newline at end of file
198 198 No newline at end of file
199 199 return servSocket; No newline at end of file
200 200 No newline at end of file
201 201 } No newline at end of file
202 202 No newline at end of file
203 203 int rxData(int servSocket, char* rx_buffer){ No newline at end of file
204 204 No newline at end of file
205 205 int clntSocket; No newline at end of file
206 206 struct sockaddr_in inf_cliente; No newline at end of file
207 207 int numbytes_recibidos; No newline at end of file
208 208 unsigned int inf_client_Len; No newline at end of file
209 209 No newline at end of file
210 210 printf("\nEsperando solicitud de cliente...\n"); No newline at end of file
211 211 No newline at end of file
212 212 /* Set the size of the in-out parameter */ No newline at end of file
213 213 inf_client_Len = sizeof(inf_cliente); No newline at end of file
214 214 /* Se espera hasta que un cliente se conecte */ No newline at end of file
215 215 if ((clntSocket = accept(servSocket, (struct sockaddr *) &inf_cliente, No newline at end of file
216 216 &inf_client_Len)) < 0) No newline at end of file
217 217 printf("accept() failed\n"); No newline at end of file
218 218 No newline at end of file
219 219 if ((numbytes_recibidos = recv(clntSocket, rx_buffer, TAM_BUFFER, 0)) < 0) No newline at end of file
220 220 printf("recv() failed\n"); No newline at end of file
221 221 No newline at end of file
222 222 /* Se procede a procesar los datos recibidos */ No newline at end of file
223 223 rx_buffer[numbytes_recibidos]= '\0'; No newline at end of file
224 224 No newline at end of file
225 225 return clntSocket; No newline at end of file
226 226 } No newline at end of file
227 227 No newline at end of file
228 228 void txData(int clntSocket, char* data){ No newline at end of file
229 229 No newline at end of file
230 230 /* Echo message back to client */ No newline at end of file
231 231 if (send(clntSocket, data, strlen(data), 0) != strlen(data)) No newline at end of file
232 232 printf("send() failed\n"); No newline at end of file
233 233 No newline at end of file
234 234 close(clntSocket); /* Close client socket */ No newline at end of file
235 235 } No newline at end of file
236 236 No newline at end of file
237 237 /* No newline at end of file
238 238 * Esta funcion incializa el puerto GPIO No newline at end of file
239 239 */ No newline at end of file
240 240 void inicializa_gpio(){ No newline at end of file
241 241 No newline at end of file
242 242 // Configuracion de los pines de APUNTE No newline at end of file
243 243 pioc = pio_map(PIOC_BASE); No newline at end of file
244 244 pio_enable(pioc, maskc_out); No newline at end of file
245 245 pio_disable_irq(pioc, maskc_out); No newline at end of file
246 246 pio_disable_multiple_driver(pioc, maskc_out); No newline at end of file
247 247 pio_disable_pull_ups(pioc, maskc_out); No newline at end of file
248 248 pio_synchronous_data_output(pioc, maskc_out); No newline at end of file
249 249 pio_output_enable(pioc, maskc_out); No newline at end of file
250 250 No newline at end of file
251 251 // Configuracion de los pines de VERIFICACION No newline at end of file
252 252 piob = pio_map(PIOB_BASE); No newline at end of file
253 253 pio_enable(piob, maskb_in); No newline at end of file
254 254 pio_disable_irq(piob, maskb_in); No newline at end of file
255 255 pio_disable_multiple_driver(piob, maskb_in); No newline at end of file
256 256 pio_disable_pull_ups(piob, maskb_in); No newline at end of file
257 257 pio_input_enable(piob, maskb_in); No newline at end of file
258 258 } No newline at end of file
259 259 No newline at end of file
260 260 No newline at end of file
261 261 /* No newline at end of file
262 262 * Divide rx frame into the frame components No newline at end of file
263 263 */ No newline at end of file
264 264 void SplitFrame(char *frame){ No newline at end of file
265 265 header = malloc(4); No newline at end of file
266 266 *header = *frame; No newline at end of file
267 267 *(header + 1) = *(frame + 1); No newline at end of file
268 268 *(header + 2) = *(frame + 2); No newline at end of file
269 269 *(header + 3) = '\0'; No newline at end of file
270 270 TypeOfInstrument = malloc(4); No newline at end of file
271 271 *TypeOfInstrument = *(frame + 3); No newline at end of file
272 272 *(TypeOfInstrument + 1) = *(frame + 4); No newline at end of file
273 273 *(TypeOfInstrument + 2) = *(frame + 5); No newline at end of file
274 274 *(TypeOfInstrument + 3) = '\0'; No newline at end of file
275 275 iDSource = malloc(8); No newline at end of file
276 276 *iDSource = *(frame + 6); No newline at end of file
277 277 *(iDSource + 1) = *(frame + 7); No newline at end of file
278 278 *(iDSource + 2) = *(frame + 8); No newline at end of file
279 279 *(iDSource + 3) = *(frame + 9); No newline at end of file
280 280 *(iDSource + 4) = *(frame + 10); No newline at end of file
281 281 *(iDSource + 5) = *(frame + 11); No newline at end of file
282 282 *(iDSource + 6) = *(frame + 12); No newline at end of file
283 283 *(iDSource + 7) = '\0'; No newline at end of file
284 284 iDDestino = malloc(8); No newline at end of file
285 285 *iDDestino = *(frame + 13); No newline at end of file
286 286 *(iDDestino + 1) = *(frame + 14); No newline at end of file
287 287 *(iDDestino + 2) = *(frame + 15); No newline at end of file
288 288 *(iDDestino + 3) = *(frame + 16); No newline at end of file
289 289 *(iDDestino + 4) = *(frame + 17); No newline at end of file
290 290 *(iDDestino + 5) = *(frame + 18); No newline at end of file
291 291 *(iDDestino + 6) = *(frame + 19); No newline at end of file
292 292 *(iDDestino + 7) = '\0'; No newline at end of file
293 293 rx_len = malloc(7); No newline at end of file
294 294 *rx_len = *(frame + 20); No newline at end of file
295 295 *(rx_len + 1) = *(frame + 21); No newline at end of file
296 296 *(rx_len + 2) = *(frame + 22); No newline at end of file
297 297 *(rx_len + 3) = *(frame + 23); No newline at end of file
298 298 *(rx_len + 4) = *(frame + 24); No newline at end of file
299 299 *(rx_len + 5) = *(frame + 25); No newline at end of file
300 300 *(rx_len + 6) = '\0'; No newline at end of file
301 301 cmd = malloc(5); No newline at end of file
302 302 *cmd = *(frame + 26); No newline at end of file
303 303 *(cmd + 1) = *(frame + 27); No newline at end of file
304 304 *(cmd + 2) = *(frame + 28); No newline at end of file
305 305 *(cmd + 3) = *(frame + 29); No newline at end of file
306 306 *(cmd + 4) = '\0'; No newline at end of file
307 307 No newline at end of file
308 308 int l = atoi(rx_len); No newline at end of file
309 309 rx_data = malloc(l + 1); No newline at end of file
310 310 int i; No newline at end of file
311 311 for (i = 30; i < 30 + l; i++) No newline at end of file
312 312 *(rx_data + (i-30)) = *(frame + i); No newline at end of file
313 313 *(rx_data + l) = '\0'; No newline at end of file
314 314 crc = malloc(2); No newline at end of file
315 315 *crc = *(frame + 30 + l); No newline at end of file
316 316 *(crc + 1) = '\0'; No newline at end of file
317 317 } No newline at end of file
318 318 No newline at end of file
319 319 No newline at end of file
320 320 /* No newline at end of file
321 321 * Esta funcion procesa el mensaje de peticion y genera respuesta No newline at end of file
322 322 */ No newline at end of file
323 323 void procesa_peticion(char *rx_buffer, char *tx_buffer){ No newline at end of file
324 324 // int n = 0; No newline at end of file
325 325 char filename1[50]; No newline at end of file
326 326 char filename2[] = "verificacion.txt"; No newline at end of file
327 327 char *tx_data = NULL; No newline at end of file
328 328 char *tx_len = NULL; No newline at end of file
329 329 SplitFrame(rx_buffer); No newline at end of file
330 330 No newline at end of file
331 331 if ((cmd == NULL) || (rx_data == NULL)){ No newline at end of file
332 332 printf("procesarPeticion: formato de mensaje incorrecto"); No newline at end of file
333 333 //ERROR("procesarPeticion: formato de mensaje incorrecto"); No newline at end of file
334 334 No newline at end of file
335 335 } No newline at end of file
336 336 else{ No newline at end of file
337 337 if(strcmp(cmd,"SNDF") == 0){ No newline at end of file
338 338 recibe_experimento(rx_data,filename1); No newline at end of file
339 339 carga_experimento(filename1); No newline at end of file
340 340 cambia_apuntamiento("0"); No newline at end of file
341 341 tx_data = (char*)malloc(3); No newline at end of file
342 342 tx_data = "OK"; No newline at end of file
343 343 } No newline at end of file
344 344 else if(strcmp(cmd,"CHGB") == 0){ No newline at end of file
345 345 cambia_apuntamiento(rx_data); No newline at end of file
346 346 tx_data = (char*)malloc(3); No newline at end of file
347 347 tx_data = "OK"; No newline at end of file
348 348 } No newline at end of file
349 349 else if(strcmp(cmd,"ANST") == 0){ No newline at end of file
350 350 tx_data = chequeo_sistema(filename2,rx_data); No newline at end of file
351 351 ABS_monitoreo(1, 1, 50, 10); No newline at end of file
352 352 printf("%s\n",tx_data); No newline at end of file
353 353 } No newline at end of file
354 354 else if(strcmp(cmd,"NTST") == 0){ No newline at end of file
355 355 tx_data = malloc(strlen(parameters.ID) + 1); No newline at end of file
356 356 strcpy(tx_data,parameters.ID); No newline at end of file
357 357 printf("%s\n",tx_data); No newline at end of file
358 358 } No newline at end of file
359 359 else{ No newline at end of file
360 360 tx_data = (char*)malloc(6); No newline at end of file
361 361 tx_data = "Error"; No newline at end of file
362 362 printf("procesa_peticion: comando no reconocido"); No newline at end of file
363 363 //ERROR("procesa_peticion: comando no reconocido"); No newline at end of file
364 364 } No newline at end of file
365 365 No newline at end of file
366 366 tx_len = malloc(7); No newline at end of file
367 367 int number = strlen(tx_data); No newline at end of file
368 368 intToStr(number, tx_len ); No newline at end of file
369 369 No newline at end of file
370 370 strcpy(tx_buffer,header); //3 No newline at end of file
371 371 strcat(tx_buffer,TypeOfInstrument); //3 No newline at end of file
372 372 strcat(tx_buffer,parameters.ID); //7 No newline at end of file
373 373 strcat(tx_buffer,iDSource); //7 No newline at end of file
374 374 strcat(tx_buffer,tx_len); //6 No newline at end of file
375 375 strcat(tx_buffer,cmd); //4 No newline at end of file
376 376 strcat(tx_buffer,tx_data); //? No newline at end of file
377 377 strcat(tx_buffer,crc); //1 No newline at end of file
378 378 No newline at end of file
379 379 } No newline at end of file
380 380 No newline at end of file
381 381 } No newline at end of file
382 382 No newline at end of file
383 383 /* No newline at end of file
384 384 * Esta función genera el archivo de experimento a partir de la trama TCP recibida No newline at end of file
385 385 */ No newline at end of file
386 386 void recibe_experimento(char *p_data, char filename[]){ No newline at end of file
387 387 FILE *fd; No newline at end of file
388 388 int i = 0; No newline at end of file
389 389 No newline at end of file
390 390 while (*p_data != '\n'){ No newline at end of file
391 391 filename[i] = *p_data; No newline at end of file
392 392 i++; No newline at end of file
393 393 p_data++; No newline at end of file
394 394 } No newline at end of file
395 395 filename[i] = '\0'; No newline at end of file
396 396 p_data = p_data - i; No newline at end of file
397 397 fd = fopen(filename,"w"); No newline at end of file
398 398 fprintf(fd, p_data); No newline at end of file
399 399 fclose(fd); No newline at end of file
400 400 } No newline at end of file
401 401 No newline at end of file
402 402 /* No newline at end of file
403 403 * Esta funcion carga un archivo en un buffer que esta ubicado en memoria, luego No newline at end of file
404 404 * este buffer es usado en la funcion "cambia_apuntamiento" para obtener el dato No newline at end of file
405 405 * que sera usado en el cambio de apuntamiento. No newline at end of file
406 406 */ No newline at end of file
407 407 int carga_experimento(char *nombre_archivo){ No newline at end of file
408 408 No newline at end of file
409 409 FILE *Archivo_Fd; No newline at end of file
410 410 No newline at end of file
411 411 char *cadena = (char *) malloc(25); No newline at end of file
412 412 No newline at end of file
413 413 int longitud_cadena; No newline at end of file
414 414 int num_bytes= 0; No newline at end of file
415 415 int num_filas= 0; No newline at end of file
416 416 No newline at end of file
417 417 Archivo_Fd = fopen(nombre_archivo,"r"); // Se procede a abrir el archivo, segun la ruta especificada No newline at end of file
418 418 if(!Archivo_Fd){ No newline at end of file
419 419 printf("carga_archivo: No se pudo abrir el archivo!!! --> fopen()\n"); No newline at end of file
420 420 //ERROR("carga_archivo: No se pudo abrir el archivo!!! --> fopen()\n"); No newline at end of file
421 421 return -1; No newline at end of file
422 422 }else{ No newline at end of file
423 423 No newline at end of file
424 424 while(!feof(Archivo_Fd)){ // Se procede a calcular la longitud del archivo para separar memoria No newline at end of file
425 425 fgets(cadena,20,Archivo_Fd); No newline at end of file
426 426 longitud_cadena= strlen(cadena); No newline at end of file
427 427 cadena[longitud_cadena-1] = '\0'; No newline at end of file
428 428 num_bytes = num_bytes + longitud_cadena; No newline at end of file
429 429 num_filas++; No newline at end of file
430 430 } No newline at end of file
431 431 No newline at end of file
432 432 rewind(Archivo_Fd); // Se reinicia el puntero del archivo No newline at end of file
433 433 No newline at end of file
434 434 char *buffer_temporal = (char *) malloc(num_bytes+1); // Se separa espacio de memoria segun No newline at end of file
435 435 // la longitud del archivo No newline at end of file
436 436 fread(buffer_temporal, sizeof(char), num_bytes, Archivo_Fd); No newline at end of file
437 437 No newline at end of file
438 438 char *puntero= strstr(buffer_temporal,".ab1"); // Se procede a eliminar la cabecera del archivo No newline at end of file
439 439 puntero= puntero + 12; No newline at end of file
440 440 No newline at end of file
441 441 buff_experimento = (char *) malloc(7*(num_filas-3)); // num_bytes_fila*(num_filas-3); No newline at end of file
442 442 strncpy(buff_experimento,puntero,7*(num_filas-3)); // Se carga en memoria la informacion del archivo No newline at end of file
443 443 No newline at end of file
444 444 fclose(Archivo_Fd); No newline at end of file
445 445 No newline at end of file
446 446 return 1; No newline at end of file
447 447 } No newline at end of file
448 448 } No newline at end of file
449 449 No newline at end of file
450 450 /* No newline at end of file
451 451 * Esta funcion recibe un numero en formato char, el dato se transforma a su equivalente en No newline at end of file
452 452 * un numero entero, que sera usado para sacar un dato del buffer "buff_experimento", esta No newline at end of file
453 453 * dato es el valor que se enviara al sistema de conmutacion RF para el cambio de apunte a No newline at end of file
454 454 * traves del puerto GPIO. No newline at end of file
455 455 */ No newline at end of file
456 456 int cambia_apuntamiento(char *puntero_char){ No newline at end of file
457 457 No newline at end of file
458 458 /*MSB-UP-LSB MSB-DOWN-LSB*/ No newline at end of file
459 459 int desplazamiento[6]={30,28,26,24,22,20}; // Defino los dezplazamientos que se aplicara No newline at end of file
460 460 // al dato que ingresa para formar el número No newline at end of file
461 461 // entero que se le pasara al puerto GPIO No newline at end of file
462 462 // Estos números son los pines del puerto GPIO No newline at end of file
463 463 // que se estan usando para el control No newline at end of file
464 464 No newline at end of file
465 465 int puntero= atoi(puntero_char); // Se convierte a entero la direccion del puntero No newline at end of file
466 466 No newline at end of file
467 467 int base= 7*puntero; // base= cantidad_bytes del dato x puntero No newline at end of file
468 468 // cantidad de bytes es el numero de bytes que No newline at end of file
469 469 printf("%s\n",puntero_char); // contiene cada dato, para este caso es 7 No newline at end of file
470 470 // porque es 6 bits de datos + 1 bit del cambio No newline at end of file
471 471 // de linea. No newline at end of file
472 472 char valor_char; No newline at end of file
473 473 unsigned long valor; No newline at end of file
474 474 unsigned long acumulado_ceros=0; No newline at end of file
475 475 unsigned long acumulado_unos=0; No newline at end of file
476 476 No newline at end of file
477 477 int offset; // Defino offset para el desplazamiento a traves No newline at end of file
478 478 for(offset=0;offset<6;offset++){ // de cada dato que se obtiene del "buff_experimento" No newline at end of file
479 479 No newline at end of file
480 480 valor_char= buff_experimento[base+offset]; // Obtengo el dato No newline at end of file
481 481 No newline at end of file
482 482 if (valor_char == '0'){ // Obtengo el número acumulado segun sea un cero o un uno No newline at end of file
483 483 valor= 0; No newline at end of file
484 484 acumulado_ceros= acumulado_ceros + (1 << desplazamiento[offset]); No newline at end of file
485 485 }else{ No newline at end of file
486 486 valor= 1; No newline at end of file
487 487 acumulado_unos= acumulado_unos + (1 << desplazamiento[offset]); No newline at end of file
488 488 } No newline at end of file
489 489 } No newline at end of file
490 490 pio_out(pioc, maskc_out, acumulado_unos, 1); No newline at end of file
491 491 pio_out(pioc, maskc_out, acumulado_ceros, 0); No newline at end of file
492 492 No newline at end of file
493 493 return 1; No newline at end of file
494 494 No newline at end of file
495 495 } No newline at end of file
496 496 No newline at end of file
497 497 /* No newline at end of file
498 498 * Esta funcion lee "n" veces el estado del APUNTE actual y reporta No newline at end of file
499 499 * una cadena de Verificacion. No newline at end of file
500 500 */ No newline at end of file
501 501 char* chequeo_sistema(char *filename, char *numero_muestras){ No newline at end of file
502 502 No newline at end of file
503 503 int i; No newline at end of file
504 504 int cnt = 0; No newline at end of file
505 505 unsigned int entradac= 0; No newline at end of file
506 506 No newline at end of file
507 507 char page0[250]; No newline at end of file
508 508 No newline at end of file
509 509 strcpy(page0,"Verificacion\n"); No newline at end of file
510 510 strcat(page0,parameters.ID); No newline at end of file
511 511 strcat(page0,"\n------------\n"); No newline at end of file
512 512 No newline at end of file
513 513 char page1[8]; No newline at end of file
514 514 No newline at end of file
515 515 do{ No newline at end of file
516 516 //Inicializando arreglo No newline at end of file
517 517 for(i=0;i<6;i++) No newline at end of file
518 518 page1[i]='0'; No newline at end of file
519 519 page1[6] = '\n'; No newline at end of file
520 520 page1[7] = '\0'; No newline at end of file
521 521 //Lectura de puerto No newline at end of file
522 522 entradac= pio_in(piob,maskb_in); No newline at end of file
523 523 //Dandole formato al dato No newline at end of file
524 524 if (!(entradac & bit_up_2)) No newline at end of file
525 525 page1[0] = '1'; No newline at end of file
526 526 if (!(entradac & bit_up_1)) No newline at end of file
527 527 page1[1] = '1'; No newline at end of file
528 528 if (!(entradac & bit_up_0)) No newline at end of file
529 529 page1[2] = '1'; No newline at end of file
530 530 if (!(entradac & bit_dow_2)) No newline at end of file
531 531 page1[3] = '1'; No newline at end of file
532 532 if (!(entradac & bit_dow_1)) No newline at end of file
533 533 page1[4] = '1'; No newline at end of file
534 534 if (!(entradac & bit_dow_0)) No newline at end of file
535 535 page1[5] = '1'; No newline at end of file
536 536 No newline at end of file
537 537 strcat(page0, page1); No newline at end of file
538 538 cnt=cnt+1; No newline at end of file
539 539 usleep(1*1000*1000); No newline at end of file
540 540 No newline at end of file
541 541 }while(cnt < atoi(numero_muestras)); No newline at end of file
542 542 No newline at end of file
543 543 page0[strlen(page0)] = '\0'; No newline at end of file
544 544 No newline at end of file
545 545 char *all_pages = malloc(strlen(page0)+1); No newline at end of file
546 546 strcpy(all_pages, page0); No newline at end of file
547 547 return all_pages; No newline at end of file
548 548 } No newline at end of file
549 549 No newline at end of file
550 550 /* No newline at end of file
551 551 * No newline at end of file
552 552 */ No newline at end of file
553 553 cmp inicializa_modulo(cmp p){ No newline at end of file
554 554 FILE *fd = fopen("configuration.txt","r"); No newline at end of file
555 555 fgets(p.ID,20,fd); No newline at end of file
556 556 p.ID[7]='\0'; No newline at end of file
557 557 fgets(p.param2,20,fd); No newline at end of file
558 558 p.param2[10]='\0'; No newline at end of file
559 559 fgets(p.param3,20,fd); No newline at end of file
560 560 p.param3[10]='\0'; No newline at end of file
561 561 fgets(p.param4,20,fd); No newline at end of file
562 562 p.param4[10]='\0'; No newline at end of file
563 563 fclose(fd); No newline at end of file
564 564 return p; No newline at end of file
565 565 } No newline at end of file
566 566 No newline at end of file
567 567 /* No newline at end of file
568 568 * No newline at end of file
569 569 */ No newline at end of file
570 570 void intToStr( int number, char* str ) No newline at end of file
571 571 No newline at end of file
572 572 { No newline at end of file
573 573 int index = 0; No newline at end of file
574 574 No newline at end of file
575 575 while( number > 0 ) No newline at end of file
576 576 { No newline at end of file
577 577 int digit = number%10; No newline at end of file
578 578 str[index++] = digit + '0'; No newline at end of file
579 579 number /= 10; No newline at end of file
580 580 } No newline at end of file
581 581 str[index] = '\0'; No newline at end of file
582 582 //Adding zero to the left No newline at end of file
583 583 int n= strlen(str); No newline at end of file
584 584 if (n == 1) { No newline at end of file
585 585 strcat(str,"00000"); No newline at end of file
586 586 index = index + 5; No newline at end of file
587 587 }else if(n == 2){ No newline at end of file
588 588 strcat(str,"0000"); No newline at end of file
589 589 index = index + 4; No newline at end of file
590 590 }else if(n == 3){ No newline at end of file
591 591 strcat(str,"000"); No newline at end of file
592 592 index = index + 3; No newline at end of file
593 593 }else if(n == 4){ No newline at end of file
594 594 strcat(str,"00"); No newline at end of file
595 595 index = index + 2; No newline at end of file
596 596 }else if(n == 5){ No newline at end of file
597 597 strcat(str,"0"); No newline at end of file
598 598 index = index + 1; No newline at end of file
599 599 } No newline at end of file
600 600 //Now reverse the numbers in the string. No newline at end of file
601 601 int position; No newline at end of file
602 602 for( position = 0; position <= (index-1)/2; ++position ) No newline at end of file
603 603 { No newline at end of file
604 604 char tmp = str[position]; No newline at end of file
605 605 str[position] = str[(index-1)-position]; No newline at end of file
606 606 str[(index-1)-position] = tmp; No newline at end of file
607 607 } No newline at end of file
608 608 } No newline at end of file
609 609 No newline at end of file
610 610 No newline at end of file
611 611 //***************************************************************** No newline at end of file
612 612 //ABS_monitoreo es la funci�n principal del proyecto ABS_Monitoreo. No newline at end of file
613 613 //Esta funci�n es la que se debe agregar en otros c�digos. No newline at end of file
614 614 //***************************************************************** No newline at end of file
615 615 int ABS_monitoreo(int sel_atenuador, int sel_calibracion, float umbral, int pulsewidth){ No newline at end of file
616 616 No newline at end of file
617 617 //local variables No newline at end of file
618 618 AT91S_PIO *pioc; No newline at end of file
619 619 pioc = pio_map(PIOC_BASE); No newline at end of file
620 620 unsigned int mask_sel_canal =PC4; //Aqu� se indican los pines que se desean usar como salidas. Las constantes PCx est�n defiidas en el header at91gpio.h No newline at end of file
621 621 unsigned int mask_sel_atenuacion =PC5; No newline at end of file
622 622 unsigned int mask_sel_calibracion =PC6; No newline at end of file
623 623 AT91S_ADC *padc; No newline at end of file
624 624 AT91S_ADC *padd; No newline at end of file
625 625 FILE *fp; No newline at end of file
626 626 long int results1[NSAMPLES], results2[NSAMPLES], results3[NSAMPLES], results4[NSAMPLES]; No newline at end of file
627 627 unsigned int i=0; No newline at end of file
628 628 char fname[FNAMELEN]; No newline at end of file
629 629 int j=0; No newline at end of file
630 630 time_t now; No newline at end of file
631 631 FILE *archivo; No newline at end of file
632 632 float phase1; No newline at end of file
633 633 float phase2; No newline at end of file
634 634 //system("./map_clock"); No newline at end of file
635 635 No newline at end of file
636 636 if (configCLK() == 1) No newline at end of file
637 637 printf("clock ADC enable.\n"); No newline at end of file
638 638 No newline at end of file
639 639 No newline at end of file
640 640 //configurar tres pines como salida usando als m�scaras mask_sel_canal, mask_sel_atenuacion y mask_sel_calibracion. En este caso corresponden a los pines pc4, pc5 y pc6. No newline at end of file
641 641 pio_enable(pioc, mask_sel_canal); No newline at end of file
642 642 pio_enable(pioc, mask_sel_atenuacion); No newline at end of file
643 643 pio_enable(pioc, mask_sel_calibracion); No newline at end of file
644 644 pio_output_enable(pioc, mask_sel_canal); //configurar pc4 como salida No newline at end of file
645 645 pio_output_enable(pioc, mask_sel_atenuacion); //configurar pc5 como salida No newline at end of file
646 646 pio_output_enable(pioc, mask_sel_calibracion); //configurar pc6 como salida No newline at end of file
647 647 No newline at end of file
648 648 No newline at end of file
649 649 //Se modifican las salidas correspondientes a la selecci�n del atenuador y calibraci�n, de acuerdo a los par�metros ingresados en la funci�n ABS_monitoreo. No newline at end of file
650 if ( sel_atenuador == 1) No newline at end of file
650 651 pio_out(pioc, mask_sel_atenuacion, sel_atenuador,1); No newline at end of file
652 else
No newline at end of file
653 pio_out(pioc, mask_sel_atenuacion, sel_atenuador,0);
No newline at end of file
654 if ( sel_calibracion == 1) No newline at end of file
651 655 pio_out(pioc, mask_sel_calibracion, sel_calibracion,1); No newline at end of file
656 else
No newline at end of file
657 pio_out(pioc, mask_sel_calibracion, sel_calibracion,0); No newline at end of file
652 658 No newline at end of file
653 659 No newline at end of file
654 660 strcpy (fname, "/mnt/sd/archivos/absmonitoreo.txt"); //Direcci�n y nombre del archivo donde se desea guardar los datos. No newline at end of file
655 661 No newline at end of file
656 662 if (fExists(fname)==0){ //si el archivo no existe, crea uno y le asigna el titulo No newline at end of file
657 663 archivo = fopen(fname,"a+"); No newline at end of file
658 664 fprintf(archivo,"%s"," Registro de datos del ABS Control \n"); No newline at end of file
659 665 fprintf(archivo,"%s"," Fecha y hora Fase UP Fase DOWN\n"); No newline at end of file
660 666 fclose(archivo); No newline at end of file
661 667 } No newline at end of file
662 668 No newline at end of file
663 669 No newline at end of file
664 670 //configure ADC Settings No newline at end of file
665 671 padc=configADC1(); No newline at end of file
666 672 padd=configADC2(); No newline at end of file
667 673 No newline at end of file
668 674 while (1){ No newline at end of file
669 675 No newline at end of file
670 676 ENABLE_CHANNEL(padc, ADC_CH0+ADC_CH1); No newline at end of file
671 677 printf("\nAdquiriendo datos...\n"); //Indica en el terminal que se est�n adquiriendo datos (muestreando la se�al). No newline at end of file
672 678 No newline at end of file
673 679 No newline at end of file
674 680 now = time(0); //Get current Time for File Name No newline at end of file
675 681 No newline at end of file
676 682 No newline at end of file
677 683 //Se pone la salida de selecci�n de canal para seleccionar el canal 1 del detector de fase No newline at end of file
684 // pio_out(pioc, mask_sel_canal, 0,1); No newline at end of file
678 685 pio_out(pioc, mask_sel_canal, 0,1); No newline at end of file
679 686 No newline at end of file
680 687 No newline at end of file
681 688 //Se toman muestras para el canal 1 del detector de fase No newline at end of file
682 689 while(1){ No newline at end of file
683 690 for(i=0; i < NSAMPLES; i++){ No newline at end of file
684 691 No newline at end of file
685 692 ADC_INIT(padc); No newline at end of file
686 693 results1[i] = GET_ADC0(padc); No newline at end of file
687 694 results2[i] = GET_ADC1(padd); No newline at end of file
688 695 } No newline at end of file
689 696 No newline at end of file
690 697 No newline at end of file
691 698 if (checkTx(results1, results2, umbral, pulsewidth)==1){ //Se verifica que las muestras tomadas del canal 1 del datector de fase //correspondan a un pulso. No newline at end of file
692 699 break; No newline at end of file
693 700 } No newline at end of file
694 701 } No newline at end of file
695 702 No newline at end of file
696 703 No newline at end of file
697 704 //Se pone la salida de selecci�n de canal para seleccionar el canal 2 del detector de fase No newline at end of file
698 705 pio_out(pioc, mask_sel_canal, 1,1); No newline at end of file
699 706 No newline at end of file
700 707 No newline at end of file
701 708 No newline at end of file
702 709 //Setoman muestras para el canal 2 del detector de fase No newline at end of file
703 710 while(1){ No newline at end of file
704 711 for(i=0; i < NSAMPLES; i++){ No newline at end of file
705 712 No newline at end of file
706 713 ADC_INIT(padc); No newline at end of file
707 714 results3[i] = GET_ADC0(padc); No newline at end of file
708 715 results4[i] = GET_ADC1(padd); No newline at end of file
709 716 } No newline at end of file
710 717 No newline at end of file
711 718 if (checkTx(results3, results4, umbral, pulsewidth)==1){ //Se verifica que las muestras tomadas del canal 2 del detector de fase //correspondan a un pulso. No newline at end of file
712 719 break; No newline at end of file
713 720 } No newline at end of file
714 721 } No newline at end of file
715 722 No newline at end of file
716 723 No newline at end of file
717 724 //Una vez que se ha encontrado un pulso en cada canal, se calcula la fase de ambos. No newline at end of file
718 725 No newline at end of file
719 726 phase1 = getPhase(results1, results2); //Calcular la fase del canal 1 del detector de fase. No newline at end of file
720 727 phase2 = getPhase(results3, results4); //Calcular la fase del canal 2 del detector de fase. No newline at end of file
721 728 //create Output File No newline at end of file
722 729 No newline at end of file
723 730 strcpy (fname, "/mnt/sd/archivos/absmonitoreo.txt"); No newline at end of file
724 731 printf("\nTerminada la prueba # %d \n", j++); No newline at end of file
725 732 fp=create_Output(fname, now); //Coloca la fecha y la hora en el archivo de texto No newline at end of file
726 733 printf("mediana ch1 = %1.2f\n", phase1); //muestra resultado en terminal No newline at end of file
727 734 printf("mediana ch2 = %1.2f\n", phase2); //muestra resultado en terminal No newline at end of file
728 735 writeOutput(phase1, fp); //graba el resultado en el archivo de texto No newline at end of file
729 736 writeOutput(phase2, fp); //graba el resultado en el archivo de texto No newline at end of file
730 737 fprintf(fp, "\n"); //Pasa a la siguiente l�nea del archivo de texto No newline at end of file
731 738 fclose(fp); No newline at end of file
732 739 printf("Resultado guardado en %s \n", fname); No newline at end of file
733 740 No newline at end of file
734 741 sleep(1); No newline at end of file
735 742 No newline at end of file
736 743 } No newline at end of file
737 744 return 0; No newline at end of file
738 745 } No newline at end of file
739 746 /*============================================================================= No newline at end of file
740 747 Function definitions No newline at end of file
741 748 =============================================================================*/ No newline at end of file
742 749 No newline at end of file
743 750 // Configures ADC registers in order to get a sample every 10us No newline at end of file
744 751 AT91S_ADC * configADC1(void){ No newline at end of file
745 752 //Variables a usar: No newline at end of file
746 753 unsigned int maskc_adc =PC0; //Usamos ADC0 y ADC1 No newline at end of file
747 754 No newline at end of file
748 755 //configuro pin: No newline at end of file
749 756 AT91S_PIO *pioc; No newline at end of file
750 757 pioc = pio_map(PIOC_BASE); No newline at end of file
751 758 pin_adc_enable(pioc,maskc_adc); //Habilitamos PC0 para usar con ADC0 y 1 No newline at end of file
752 759 pio_disable_irq(pioc, maskc_adc); No newline at end of file
753 760 pio_disable_multiple_driver(pioc, maskc_adc); No newline at end of file
754 761 pio_disable_pull_ups(pioc, maskc_adc); No newline at end of file
755 762 pio_input_enable(pioc, maskc_adc); No newline at end of file
756 763 No newline at end of file
757 764 No newline at end of file
758 765 //Configuro el ADC: No newline at end of file
759 766 AT91S_ADC *padc; No newline at end of file
760 767 No newline at end of file
761 768 padc = adc_map1(ADC_BASE); No newline at end of file
762 769 No newline at end of file
763 770 //clock ADC = 1MHz No newline at end of file
764 771 //time startup = 8us No newline at end of file
765 772 //time sample and hold = 2us No newline at end of file
766 773 // hold No newline at end of file
767 774 // ___________ No newline at end of file
768 775 // start ___________| |___________ No newline at end of file
769 776 // No newline at end of file
770 777 // | --1.2us-- | --0.15us-- | No newline at end of file
771 778 //ADC_RESET(padc); No newline at end of file
772 779 CONFIG_ADC(padc,ADC_TRGEN_DIS | ADC_RES_10BIT | ADC_SLEEP_NORMAL_MODE | ADC_PRESCAL | ADC_STARTUP | ADC_SHTIM); No newline at end of file
773 780 ENABLE_CHANNEL(padc,ADC_CH0); //habilito canal 0 No newline at end of file
774 781 No newline at end of file
775 782 No newline at end of file
776 783 return padc; No newline at end of file
777 784 } No newline at end of file
778 785 No newline at end of file
779 786 AT91S_ADC * configADC2(void){ No newline at end of file
780 787 //Variables a usar: No newline at end of file
781 788 unsigned int maskc_adc =PC1; //Usamos ADC0 y ADC1 No newline at end of file
782 789 No newline at end of file
783 790 //configuro pin: No newline at end of file
784 791 AT91S_PIO *piod; No newline at end of file
785 792 piod = pio_map(PIOC_BASE); No newline at end of file
786 793 pin_adc_enable(piod,maskc_adc); //Habilitamos PC0 para usar con ADC0 y 1 No newline at end of file
787 794 pio_disable_irq(piod, maskc_adc); No newline at end of file
788 795 pio_disable_multiple_driver(piod, maskc_adc); No newline at end of file
789 796 pio_disable_pull_ups(piod, maskc_adc); No newline at end of file
790 797 pio_input_enable(piod, maskc_adc); No newline at end of file
791 798 No newline at end of file
792 799 //Configuro el ADC: No newline at end of file
793 800 AT91S_ADC *padd; No newline at end of file
794 801 No newline at end of file
795 802 padd = adc_map1(ADC_BASE); No newline at end of file
796 803 No newline at end of file
797 804 //clock ADC = 1MHz No newline at end of file
798 805 //time startup = 8us No newline at end of file
799 806 //time sample and hold = 2us No newline at end of file
800 807 // hold No newline at end of file
801 808 // ___________ No newline at end of file
802 809 // start ___________| |___________ No newline at end of file
803 810 // No newline at end of file
804 811 // | --1.2us-- | --0.15us-- | No newline at end of file
805 812 //ADC_RESET(padc); No newline at end of file
806 813 CONFIG_ADC(padd,ADC_TRGEN_DIS | ADC_RES_10BIT | ADC_SLEEP_NORMAL_MODE | ADC_PRESCAL | ADC_STARTUP | ADC_SHTIM); No newline at end of file
807 814 ENABLE_CHANNEL(padd,ADC_CH1); //habilito canal 1 No newline at end of file
808 815 return padd; No newline at end of file
809 816 } No newline at end of file
810 817 No newline at end of file
811 818 No newline at end of file
812 819 //++++++++++++++++++++ No newline at end of file
813 820 No newline at end of file
814 821 //creats the output file with a timestamp in the name No newline at end of file
815 822 FILE * create_Output(char *fname, time_t rawtime){ No newline at end of file
816 823 FILE *file; No newline at end of file
817 824 char timestamp[80];//, counter[5]="dcv"; No newline at end of file
818 825 //char str[4]; No newline at end of file
819 826 struct tm * timeinfo; No newline at end of file
820 827 No newline at end of file
821 828 //format time No newline at end of file
822 829 timeinfo = localtime ( &rawtime ); No newline at end of file
823 830 strftime (timestamp,sizeof(timestamp),"%a %y-%m-%d %H:%M:%S %Z",timeinfo); No newline at end of file
824 831 No newline at end of file
825 832 No newline at end of file
826 833 //Creates the file name out of the #define parameters No newline at end of file
827 834 No newline at end of file
828 835 strcpy (fname, "/mnt/sd/archivos/absmonitoreo.txt"); No newline at end of file
829 836 file = fopen(fname,"a+"); No newline at end of file
830 837 fprintf(file,"%s", timestamp); No newline at end of file
831 838 //printf("\nTerminada la prueba # %d. Guardando resultado en %s\n",r, fname); No newline at end of file
832 839 //printf("\nTerminada la prueba # %d/%d. Writing data to the file %s\n",r+1 , REP, fname); No newline at end of file
833 840 //printf("\nAAAAAAAAAA %d...%s\n", counter[1], fname); No newline at end of file
834 841 // return file pointer No newline at end of file
835 842 return file; No newline at end of file
836 843 } No newline at end of file
837 844 No newline at end of file
838 845 //++++++++++++++++++++ No newline at end of file
839 846 No newline at end of file
840 847 //tests if a file already exists. returns 1 if it exists and 0 if it doesn't No newline at end of file
841 848 No newline at end of file
842 849 No newline at end of file
843 850 No newline at end of file
844 851 //Funci�n checkTx verifica que la se�al muestreada corresponda a un pulso. No newline at end of file
845 852 //results1 y results2 son los arreglos que contienen los datos muestreados por ambos canales del ADC del embebido. No newline at end of file
846 853 //umbral indica qu� valor debe superar una muestra para considerarla un posible pulso o pico. No newline at end of file
847 854 //pulsewidth indica cu�ntas muestras consecutivas deben superar el umbral para que se considere que se ha detectado un pulso. No newline at end of file
848 855 int checkTx(long int results1[],long int results2[], float umbral, int pulsewidth){ No newline at end of file
849 856 No newline at end of file
850 857 int i, cont; No newline at end of file
851 858 float z[NSAMPLES], sum, avg; No newline at end of file
852 859 int isSignal, pulse; No newline at end of file
853 860 No newline at end of file
854 861 for(i=0;i<NSAMPLES;i++){ No newline at end of file
855 862 No newline at end of file
856 863 z[i] =sqrt(1.0*results1[i]*results1[i]+1.0*results2[i]*results2[i]); No newline at end of file
857 864 } No newline at end of file
858 865 No newline at end of file
859 866 pulse = 0; No newline at end of file
860 867 isSignal = 0; No newline at end of file
861 868 cont =0; No newline at end of file
862 869 No newline at end of file
863 870 sum = 0; No newline at end of file
864 871 for(i=0;i<NSAMPLES;i++){ No newline at end of file
865 872 No newline at end of file
866 873 sum += z[i]; No newline at end of file
867 874 avg = sum/(i+1); No newline at end of file
868 875 if ((z[i] - avg) > umbral){ No newline at end of file
869 876 if (isSignal == 1){ No newline at end of file
870 877 cont += 1; No newline at end of file
871 878 } No newline at end of file
872 879 if (cont == pulsewidth){ No newline at end of file
873 880 pulse = 1; No newline at end of file
874 881 break; No newline at end of file
875 882 } No newline at end of file
876 883 isSignal = 1; No newline at end of file
877 884 continue; No newline at end of file
878 885 isSignal = 0; No newline at end of file
879 886 cont = 0; No newline at end of file
880 887 } No newline at end of file
881 888 } No newline at end of file
882 889 No newline at end of file
883 890 return pulse; //devuelve un entero: 1 si se ha detectado pulso, de lo contrario, 0. No newline at end of file
884 891 } No newline at end of file
885 892 No newline at end of file
886 893 No newline at end of file
887 894 int fExists(char * fname){ No newline at end of file
888 895 FILE * file; No newline at end of file
889 896 No newline at end of file
890 897 file = fopen (fname, "r"); No newline at end of file
891 898 if (file == NULL) No newline at end of file
892 899 { No newline at end of file
893 900 return 0; No newline at end of file
894 901 } No newline at end of file
895 902 fclose(file); No newline at end of file
896 903 return 1; No newline at end of file
897 904 } No newline at end of file
898 905 No newline at end of file
899 906 No newline at end of file
900 907 //Funci�n que calcula la mediana de un conjunto de muestras No newline at end of file
901 908 double mediana(long int *results,unsigned int cuenta){ No newline at end of file
902 909 unsigned int i=0,j=0,aux=0; No newline at end of file
903 910 No newline at end of file
904 911 double median=0; No newline at end of file
905 912 /*Calculo mediana */ No newline at end of file
906 913 No newline at end of file
907 914 for(i=0;i<cuenta-1;i++){ No newline at end of file
908 915 for (j=i+1;j<cuenta;j++){ No newline at end of file
909 916 if(results[i]>results[j] ){ No newline at end of file
910 917 No newline at end of file
911 918 aux=results[i]; No newline at end of file
912 919 results[i]=results[j]; No newline at end of file
913 920 results[j]=aux; No newline at end of file
914 921 No newline at end of file
915 922 } No newline at end of file
916 923 } No newline at end of file
917 924 No newline at end of file
918 925 } No newline at end of file
919 926 median=results[cuenta/2]; No newline at end of file
920 927 return median; No newline at end of file
921 928 } No newline at end of file
922 929 No newline at end of file
923 930 No newline at end of file
924 931 No newline at end of file
925 932 //Funci�n que halla la fase de la se�al. No newline at end of file
926 933 //Tiene como entradas las muestras correspondientes a la parte real e imaginaria de la se�al. No newline at end of file
927 934 float getPhase(long int results1[],long int results2[]){ No newline at end of file
928 935 No newline at end of file
929 936 unsigned int count=0, i=0,umbral=1000; No newline at end of file
930 937 //long int results1[]; No newline at end of file
931 938 //long int results2[]; No newline at end of file
932 939 long int power[NSAMPLES]; No newline at end of file
933 940 long int sumI=0,sumQ=0,I[NSAMPLES], Q[NSAMPLES],II[NSAMPLES], QQ[NSAMPLES]; No newline at end of file
934 941 double median1=0,median2=0; No newline at end of file
935 942 long int promedioI=0,promedioQ=0;/*Calculo mediana 1*/ No newline at end of file
936 943 float resultado=0; No newline at end of file
937 944 No newline at end of file
938 945 for(i=0;i<NSAMPLES;i++){ No newline at end of file
939 946 No newline at end of file
940 947 I[i] =results1[i]; No newline at end of file
941 948 Q[i] =results2[i]; No newline at end of file
942 949 } No newline at end of file
943 950 No newline at end of file
944 951 /*Calculo mediana 1*/ No newline at end of file
945 952 median1=mediana(I,NSAMPLES); No newline at end of file
946 953 No newline at end of file
947 954 /*Calculo mediana 2*/ No newline at end of file
948 955 median2=mediana(Q,NSAMPLES); No newline at end of file
949 956 No newline at end of file
950 957 No newline at end of file
951 958 No newline at end of file
952 959 No newline at end of file
953 960 No newline at end of file
954 961 No newline at end of file
955 962 for(i=0;i<NSAMPLES;i++){ No newline at end of file
956 963 No newline at end of file
957 964 I[i] =results1[i]; No newline at end of file
958 965 Q[i] =results2[i]; No newline at end of file
959 966 No newline at end of file
960 967 } No newline at end of file
961 968 No newline at end of file
962 969 No newline at end of file
963 970 No newline at end of file
964 971 for(i = 0; i < NSAMPLES ; i++){ No newline at end of file
965 972 No newline at end of file
966 973 I[i]=(I[i]-median1); No newline at end of file
967 974 Q[i]=(Q[i]-median2); No newline at end of file
968 975 No newline at end of file
969 976 } No newline at end of file
970 977 No newline at end of file
971 978 for(i = 0; i < NSAMPLES ; i++){ No newline at end of file
972 979 No newline at end of file
973 980 power[i]=I[i]*I[i]+Q[i]*Q[i]; No newline at end of file
974 981 No newline at end of file
975 982 if(power[i] > umbral) No newline at end of file
976 983 { No newline at end of file
977 984 No newline at end of file
978 985 II[count]=I[i]; No newline at end of file
979 986 QQ[count]=Q[i]; No newline at end of file
980 987 count=count+1; No newline at end of file
981 988 No newline at end of file
982 989 } No newline at end of file
983 990 No newline at end of file
984 991 } No newline at end of file
985 992 No newline at end of file
986 993 for(i = 0; i < count ; i++){ No newline at end of file
987 994 No newline at end of file
988 995 sumI=sumI+II[i]; No newline at end of file
989 996 sumQ=sumQ+QQ[i]; No newline at end of file
990 997 No newline at end of file
991 998 } No newline at end of file
992 999 No newline at end of file
993 1000 promedioI=sumI; No newline at end of file
994 1001 promedioQ=sumQ; No newline at end of file
995 1002 No newline at end of file
996 1003 resultado = atan2(1.0*promedioI,1.0*promedioQ)*180/3.1416+62-44; No newline at end of file
997 1004 No newline at end of file
998 1005 No newline at end of file
999 1006 return resultado; No newline at end of file
1000 1007 No newline at end of file
1001 1008 } No newline at end of file
1002 1009 No newline at end of file
1003 1010 No newline at end of file
1004 1011 No newline at end of file
1005 1012 //Funci�n que muestra la fase detectada en el terminal y tambi�n la graba en el archivo de texto. No newline at end of file
1006 1013 void writeOutput(float resultado, FILE * output){ No newline at end of file
1007 1014 No newline at end of file
1008 1015 No newline at end of file
1009 1016 // No newline at end of file
1010 1017 No newline at end of file
1011 1018 fprintf(output," %1.2f ",resultado); //graba resultado en archivo .txt No newline at end of file
1012 1019 // No newline at end of file
1013 1020 No newline at end of file
1014 1021 } No newline at end of file
1015 1022 No newline at end of file
1016 1023 int configCLK(){ No newline at end of file
1017 1024 //configuro pin: No newline at end of file
1018 1025 AT91S_PMC *sys_clock; No newline at end of file
1019 1026 sys_clock = clock_map(CLOCK_BASE); No newline at end of file
1020 1027 enable_clock_adc(sys_clock); No newline at end of file
1021 1028 //printf("clock ADC enable.\n"); No newline at end of file
1022 1029 return 1; No newline at end of file
1023 1030 } No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now