Compare commits

...

5 Commits

Author SHA1 Message Date
239665559f add doxygen control file 2025-01-19 10:45:31 -06:00
98888215e9 Add datasheet 2024-10-13 10:51:51 -05:00
98078e7517 Merge branch 'main' of http://192.168.1.200:8418/Smartware/GrowController 2023-11-10 12:21:15 -06:00
7c53fd81b4 Documentation updates 2023-11-10 12:19:06 -06:00
2ece05505f Updates to the user experience. 2023-08-16 18:40:09 -05:00
13 changed files with 803 additions and 95 deletions

View File

@@ -0,0 +1,2 @@
[InternetShortcut]
URL=https://github.com/sparkfun/Zio-Qwiic-Soil-Moisture-Sensor/blob/master/Firmware/Qwiic_Soil_Moisture_Sensor_Gateway_Firmware/Qwiic_Soil_Moisture_Firmware/Qwiic_Soil_Moisture_Firmware.ino

View File

@@ -179,6 +179,7 @@ void HandleAPConfigPage() {
String url = wifiConfig.getURL(); String url = wifiConfig.getURL();
String ntp = wifiConfig.getNTPServerName(); String ntp = wifiConfig.getNTPServerName();
// Handle submissions from the client
if (server.hasArg("ssid") && server.hasArg("pass")) { if (server.hasArg("ssid") && server.hasArg("pass")) {
String _ssid = server.hasArg("_ssid") ? server.arg("_ssid") : ""; String _ssid = server.hasArg("_ssid") ? server.arg("_ssid") : "";
String _pass = server.hasArg("_pass") ? server.arg("_pass") : ""; String _pass = server.hasArg("_pass") ? server.arg("_pass") : "";
@@ -207,11 +208,17 @@ void HandleAPConfigPage() {
} }
} }
// Send [updated] Configuration page to client
//
String modeText = (WiFiStateGet() == WFC_JoinedAP) ? "Station mode<br/>" : "Access Point mode<br/>"; String modeText = (WiFiStateGet() == WFC_JoinedAP) ? "Station mode<br/>" : "Access Point mode<br/>";
if (server.hasArg("ssid") && !server.hasArg("pass")) { if (server.hasArg("ssid") && !server.hasArg("pass")) {
ssid = server.arg("ssid"); ssid = server.arg("ssid");
pass = ""; pass = "";
Serial.println("ssid: " + ssid + ", pass: " + pass); Serial.println("ssid: " + ssid + ", pass: " + pass);
} else {
Serial.printf("name : %s\n", name.c_str());
Serial.printf(" ssid: %s\n", ssid.c_str());
Serial.printf(" pass: %s\n", pass.c_str());
} }
if (server.hasArg("url")) if (server.hasArg("url"))
url = server.arg("url"); url = server.arg("url");
@@ -220,39 +227,42 @@ void HandleAPConfigPage() {
server.send(200, "text/html", server.send(200, "text/html",
"<!DOCTYPE html>\n" "<!DOCTYPE html>\n"
"<html>\n" "<html>\n"
"<head><title>Grow Controller - Config</title></head>\n" "<head><title>Grow Controller - Config</title>\n"
"<body>\n" "<meta http-equiv='Content-Type' content='text/html;charset=UTF-8'>\n"
"<meta name='viewport' content='initial-scale=1.0, width=device-width'>\n"
"</head>\n"
"<body onload='NavInit();'>\n"
"<h1>Grow Controller - Configuration</h1>" "<h1>Grow Controller - Configuration</h1>"
" <form action=\"\">\n" " <form action=\"\">\n"
" <blockquote>\n" " <blockquote>\n"
" <table border='0'>\n" " <table border='0'>\n"
" <tr>\n" " <tr>\n"
" <td>Node Name</td>\n" " <td>Node Name</td>\n"
" <td><input type=\"text\" size=\"32\" name=\"name\" value=\"" + name + "\" /></td>\n" " <td><input type='text' size='32' maxlength='32' name='name' value='" + name + "' /></td>\n"
" </tr>\n" " </tr>\n"
" <tr>\n" " <tr>\n"
" <td>SSID</td>\n" " <td>SSID</td>\n"
" <td><input type=\"text\" size=\"32\" name=\"ssid\" value=\"" + ssid + "\" />&nbsp;**\n" " <td><input type='text' size='32' maxlength='32' name='ssid' value='" + ssid + "' />&nbsp;**\n"
" <input type=\"hidden\" name=\"_ssid\" value=\"" + ssid + "\" /></td>\n" " <input type='hidden' name='_ssid' value='" + ssid + "' /></td>\n"
" </tr>\n" " </tr>\n"
" <tr nowrap='nowrap'>\n" " <tr nowrap='nowrap'>\n"
" <td>Password</td>\n" " <td>Password</td>\n"
" <td nowrap='nowrap'><input type=\"password\" size=\"64\" name=\"pass\" value=\"" + pass + "\" />&nbsp;**\n" " <td nowrap='nowrap'><input type='password' size='32' maxlength='64' name='pass' value='" + pass + "' />&nbsp;**\n"
" <input type=\"hidden\" name=\"_pass\" value=\"" + pass + "\" /></td>\n" " <input type='hidden' name='_pass' value='" + pass + "' /></td>\n"
" </tr>\n" " </tr>\n"
" <tr>\n" " <tr>\n"
" <td>Update URL</td>\n" " <td>Update URL</td>\n"
" <td><input type=\"text\" size=\"64\" name=\"url\" value=\"" + url + "\" /></td>\n" " <td><input type='text' size='32' maxlength='64' name='url' value='" + url + "' /></td>\n"
" </tr>\n"
" <tr>\n"
" <td>NTP Server</td>\n"
" <td><input type=\"text\" size=\"64\" name=\"ntp\" value=\"" + ntp + "\" /></td>\n"
" </tr>\n" " </tr>\n"
// " <tr>\n"
// " <td>NTP Server</td>\n"
// " <td><input type=\"text\" size=\"64\" name=\"ntp\" value=\"" + ntp + "\" /></td>\n"
// " </tr>\n"
" <tr>\n" " <tr>\n"
" <td>&nbsp;</td>\n" " <td>&nbsp;</td>\n"
" <td>\n" " <td>\n"
" <input type=\"submit\" value=\"Save\" />\n" " <input type='submit' value='Save' />\n"
" <input type=\"reset\"/> ** Changes to these will trigger a module restart.\n" " <input type='reset'/> ** Changes to these will trigger a module restart.\n"
" </td>\n" " </td>\n"
" </tr>\n" " </tr>\n"
" <tr>\n" " <tr>\n"
@@ -265,15 +275,7 @@ void HandleAPConfigPage() {
" </table>\n" " </table>\n"
" </blockquote>\n" " </blockquote>\n"
" </form>\n" " </form>\n"
"NAV:&nbsp;&nbsp;" "<span id='nav'></span>\n"
" <a href='/'>Home</a> | "
" <a href='/config'>Config</a> | "
" <a href='/scan'>Scan</a> | "
" <a href='/rssi'>RSSI</a> | "
" <a href='/curr'>Current</a> | "
" <a href='/config?ssid=reset&pass=reset' onclick=\"return confirm('Are you sure?')\">Factory Reset</a> | "
" <a href='/about'>About</a>\n"
" <br/>\n"
"</body>\n" "</body>\n"
"</html>\n" "</html>\n"
); );

View File

@@ -1,9 +1,12 @@
// //
// //
// //
#ifndef PLANTMODEL_H
#define PLANTMODEL_H
#include "ProjGlobals.h" #include "ProjGlobals.h"
void HandleGetState(); void HandleGetState();
void simulation(); void simulation();
#endif // PLANTMODEL_H

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -39,7 +39,7 @@
<div class='SoilTemp_C' id='SoilTemp_C' >--.- &deg;F</div> <div class='SoilTemp_C' id='SoilTemp_C' >--.- &deg;F</div>
<div class='SoilMoisture_X' id='SoilMoisture_X' >-- %</div> <div class='SoilMoisture_X' id='SoilMoisture_X' >-- %</div>
<div class='DrumDoorIcon' id='DrumDoorIcon' ><img src='open.png' title='Open' /></div> <div class='DrumState' id='DrumState' ><img src='open.png' title='Open' /></div>
<div class='DrumOpenSensor' id='DrumOpenSensor' >O</div> <div class='DrumOpenSensor' id='DrumOpenSensor' >O</div>
<div class='DrumClosedSensor' id='DrumClosedSensor' >C</div> <div class='DrumClosedSensor' id='DrumClosedSensor' >C</div>
<div class='DrumMotorLabel' id='DrumMotorLabel' >Motor</div> <div class='DrumMotorLabel' id='DrumMotorLabel' >Motor</div>
@@ -57,7 +57,7 @@
<div class='WaterCycleOn_sec' id='WaterCycleOn_sec' >8 s</div> <div class='WaterCycleOn_sec' id='WaterCycleOn_sec' >8 s</div>
<div class='WaterCycle_sec' id='WaterCycle_sec' >10 s</div> <div class='WaterCycle_sec' id='WaterCycle_sec' >10 s</div>
<div class='WaterCycleOnBox' id='WaterCycleOnBox' ></div> <div class='WaterCycleOnBox' id='WaterCycleOnBox' ></div>
<div class='WaterCycleStatusIcon' id='WaterCycleStatusIcon' ><img src='pointer.png' title='Pump On Time' /></div> <div class='WaterCyclePointer_sec' id='WaterCyclePointer_sec' ><img src='pointer.png' title='Pump On Time' /></div>
</div> </div>
</td> </td>
<td width='10%' align='center'> <td width='10%' align='center'>

View File

@@ -1,9 +1,13 @@
// //
// Main Page period status update // Main Page period status update
// //
// @todo Draw the 'drum' as an arc instead of trying to rotate a picture of an arc.
// which will work better to reflect the opening.
//
//
// var mySite = 'http://192.168.1.23'; // from myip.js // var mySite = 'http://192.168.1.23'; // from myip.js
var url = mySite + '/state'; var url = mySite + '/state';
setInterval(RefreshStatus, 2500); setInterval(RefreshStatus, 1000); // @todo speed this up to 500 msec or even 250
getIt = function (aUrl, callback) { getIt = function (aUrl, callback) {
var xhr = new XMLHttpRequest(); var xhr = new XMLHttpRequest();
@@ -19,28 +23,24 @@ getIt = function (aUrl, callback) {
function ConvertTempToString(tempC, showF) { function ConvertTempToString(tempC, showF) {
var tempF = tempC * 9 / 5 + 32; var tempF = tempC * 9 / 5 + 32;
if (showF) if (showF == 0)
return tempF.toFixed(1) + "&deg;F"; return tempF.toFixed(0) + "&deg;F";
else else
return tempC.toFixed(1) + "&deg;C"; return tempC.toFixed(0) + "&deg;C";
}
function ConvertSecToMMSS(sec) {
mm = parseInt(sec/60).toString().padStart(4,'0');
ss = (sec%60).toString().padStart(2,'0');
return mm + ":" + ss;
} }
function RefreshStatus() { function RefreshStatus() {
getIt(url, getIt(url,
function(data) { function(data) {
obj = JSON.parse(data); obj = JSON.parse(data);
if (obj.state === 1)
state = "On";
else
state = "Off";
document.getElementById('version').innerHTML = obj.version; document.getElementById('version').innerHTML = obj.version;
document.getElementById('name').innerHTML = obj.name; document.getElementById('name').innerHTML = obj.name;
//document.getElementById('state').innerHTML = 'Output: ' + state;
//document.getElementById('raw').innerHTML = 'raw: ' + obj.raw;
//document.getElementById('sense').innerHTML = 'Sense: ' + obj.sense;
//document.getElementById('toggle').innerHTML = 'Toggle: ' + obj.toggle;
//document.getElementById('reset').innerHTML = 'Reset: ' + obj.reset;
//document.getElementById('countdown').innerHTML = 'Countdown: ' + obj.countdown;
document.getElementById('uptime').innerHTML = 'Uptime: ' + obj.uptime; document.getElementById('uptime').innerHTML = 'Uptime: ' + obj.uptime;
document.getElementById('wifimode').innerHTML = 'WiFi Mode: ' + obj.wifimode; document.getElementById('wifimode').innerHTML = 'WiFi Mode: ' + obj.wifimode;
// IP Address // IP Address
@@ -67,7 +67,7 @@ function RefreshStatus() {
} }
if (typeof obj.SoilHeater != "undefined") { if (typeof obj.SoilHeater != "undefined") {
document.getElementById('SoilHeater').innerHTML = obj.SoilHeater; document.getElementById('SoilHeater').innerHTML = (obj.SoilHeater) ? "Heat On" : "Heat Off";
} else { } else {
document.getElementById('SoilHeater').innerHTML = "--"; document.getElementById('SoilHeater').innerHTML = "--";
} }
@@ -83,24 +83,34 @@ function RefreshStatus() {
document.getElementById('SoilMoisture_X').innerHTML = "--"; document.getElementById('SoilMoisture_X').innerHTML = "--";
} }
if (obj.DrumDoorIcon == 1) { if (obj.DrumState == 1) { // closed, hide the "open" image
document.getElementById('DrumDoorIcon').style.display === "none"; document.getElementById('DrumState').style.display === "none";
} else { } else {
document.getElementById('DrumDoorIcon').style.display === "block"; document.getElementById('DrumState').style.display === "block";
} }
document.getElementById('DrumOpenSensor').innerHTML = obj.DrumOpenSensor; document.getElementById('DrumOpenSensor').innerHTML = (obj.DrumOpenSensor) ? "O" : "!O";
document.getElementById('DrumClosedSensor').innerHTML = obj.DrumClosedSensor; document.getElementById('DrumClosedSensor').innerHTML = (obj.DrumClosedSensor) ? "C" : "!C";
document.getElementById('DrumMotorStatus').innerHTML = obj.DrumMotorStatus; document.getElementById('DrumMotorStatus').innerHTML = (obj.DrumMotorStatus == 0) ? "stopped" : (obj.DrumMotorStatus == 1) ? "CW" : "CCW";
document.getElementById('DrumMotorOn_sec').innerHTML = obj.DrumMotorOn_sec + "s"; document.getElementById('DrumMotorOn_sec').innerHTML = obj.DrumMotorOn_sec + "s";
document.getElementById('DrumMotor_V').innerHTML = parseFloat(obj.DrumMotor_V).toFixed(1) + " V"; document.getElementById('DrumMotor_V').innerHTML = parseFloat(obj.DrumMotor_V).toFixed(1) + " V";
document.getElementById('DrumMotor_I').innerHTML = parseFloat(obj.DrumMotor_I).toFixed(1) + " A"; document.getElementById('DrumMotor_I').innerHTML = parseFloat(obj.DrumMotor_I).toFixed(1) + " A";
document.getElementById('WaterInTank').innerHTML = obj.WaterInTank; document.getElementById('WaterInTank').innerHTML = obj.WaterInTank;
document.getElementById('WaterPumpStatus').innerHTML = obj.WaterPumpStatus; document.getElementById('WaterPumpStatus').innerHTML = (obj.WaterPumpStatus) ? "On" : "Off";
document.getElementById('WaterMotor_V').innerHTML = parseFloat(obj.WaterMotor_V).toFixed(1) + " V"; document.getElementById('WaterMotor_V').innerHTML = parseFloat(obj.WaterMotor_V).toFixed(1) + " V";
document.getElementById('WaterCyclePeriod_sec').innerHTML = obj.WaterCyclePeriod_sec + "s"; document.getElementById('WaterCyclePeriod_sec').innerHTML = ConvertSecToMMSS(obj.WaterCyclePeriod_sec);
document.getElementById('WaterCycleOn_sec').innerHTML = obj.WaterCycleOn_sec + "s"; document.getElementById('WaterCycleOn_sec').innerHTML = ConvertSecToMMSS(obj.WaterCycleOn_sec);
document.getElementById('WaterCycle_sec').innerHTML = obj.WaterCycle_sec + "s"; document.getElementById('WaterCycle_sec').innerHTML = ConvertSecToMMSS(obj.WaterCycle_sec);
// The full-scale pump timer box ranges from 22 to 234px
// The WaterCycleOnBox.width is proportional to the WaterCyclePeriod_sec and the (234 - 22)px width
var boxW = (234 - 22);
// The WaterCyclePointer_sec.width (24) is positioned from 22 to 234 - 1/2 width.
var onW = (obj.WaterCycleOn_sec/obj.WaterCyclePeriod_sec) * boxW;
var ptrX = 22 + (obj.WaterCycle_sec/obj.WaterCyclePeriod_sec) * boxW - 12;
console.log("onW: " + onW + ", ptrX: " + ptrX);
document.getElementById('WaterCycleOnBox').width = onW;
document.getElementById('WaterCyclePointer_sec').left = ptrX;
} }
); );
} }

View File

@@ -53,7 +53,7 @@ div.ChamberHumi {
} }
div.SoilMoisture_X { div.SoilMoisture_X {
position: absolute; position: absolute;
left: 130px; left: 135px;
top: 135px; top: 135px;
color: white; color: white;
} }
@@ -64,12 +64,12 @@ div.SoilHumiIcon {
} }
div.SoilThermoIcon { div.SoilThermoIcon {
position: absolute; position: absolute;
left: 170px; left: 175px;
top: 100px; top: 100px;
} }
div.SoilTemp_C { div.SoilTemp_C {
position: absolute; position: absolute;
left: 165px; left: 170px;
top: 135px; top: 135px;
color: white; color: white;
} }
@@ -90,7 +90,7 @@ div.SoilHeaterOffIcon {
top: 181px; top: 181px;
} }
div.DrumDoorIcon { div.DrumState {
position: absolute; position: absolute;
transform: rotate(180deg); transform: rotate(180deg);
left: 14px; left: 14px;
@@ -109,7 +109,7 @@ div.DrumClosedSensor {
div.DrumMotorLabel { div.DrumMotorLabel {
position: absolute; position: absolute;
left: 95px; left: 95px;
top: 270px; top: 260px;
width: 50px; width: 50px;
text-align: center; text-align: center;
color: white; color: white;
@@ -117,7 +117,7 @@ div.DrumMotorLabel {
div.DrumMotorStatus { div.DrumMotorStatus {
position: absolute; position: absolute;
left: 95px; left: 95px;
top: 290px; top: 280px;
width: 50px; width: 50px;
text-align: center; text-align: center;
color: white; color: white;
@@ -231,19 +231,19 @@ div.WaterCycleOnBox {
height: 20px; height: 20px;
background-color: #BDD7EE; background-color: #BDD7EE;
z-index: -35; z-index: -35;
//border-color: red; border-color: red;
border-style: solid; border-style: solid;
border-width: 1px; border-width: 1px;
} }
div.WaterCycleStatusIcon { div.WaterCyclePointer_sec {
position: absolute; position: absolute;
left: 80px; left: 80px;
top: 469px; top: 469px;
width: 25px; width: 24px;
text-align: center; text-align: center;
z-index: -25; z-index: -25;
border-color: green; border-color: green;
//border-style: solid; border-style: solid;
border-width: 1px; border-width: 1px;
} }
</style> </style>

View File

@@ -1,8 +1,8 @@
// //
// Command: MakeByteArray -ESP -DIR -ROOT *.* -o=..\Web_Resources.h // Command: MakeByteArray -ESP -DIR -ROOT *.* -o=..\Web_Resources.h
// version: 1.0 // version: 1.0
// From cwd: D:/Projects/GrowController/gcfw/Resources // From cwd: C:/Projects/GrowController/Firmware/Resources
// Generated: Mon Oct 25 17:32:22 2021 // Generated: Tue Oct 26 13:26:40 2021
// NOTE: Run script in command shell, not PowerShell // NOTE: Run script in command shell, not PowerShell
// //
// PROGMEM is not recognized by Win32 tools... // PROGMEM is not recognized by Win32 tools...
@@ -1208,7 +1208,7 @@ const char index_htm[] PROGMEM = {
" <div class='SoilTemp_C' id='SoilTemp_C' >--.- &deg;F</div>\n" " <div class='SoilTemp_C' id='SoilTemp_C' >--.- &deg;F</div>\n"
" <div class='SoilMoisture_X' id='SoilMoisture_X' >-- %</div>\n" " <div class='SoilMoisture_X' id='SoilMoisture_X' >-- %</div>\n"
" \n" " \n"
" <div class='DrumDoorIcon' id='DrumDoorIcon' ><img src='open.png' title='Open' /></div>\n" " <div class='DrumState' id='DrumState' ><img src='open.png' title='Open' /></div>\n"
" <div class='DrumOpenSensor' id='DrumOpenSensor' >O</div>\n" " <div class='DrumOpenSensor' id='DrumOpenSensor' >O</div>\n"
" <div class='DrumClosedSensor' id='DrumClosedSensor' >C</div>\n" " <div class='DrumClosedSensor' id='DrumClosedSensor' >C</div>\n"
" <div class='DrumMotorLabel' id='DrumMotorLabel' >Motor</div>\n" " <div class='DrumMotorLabel' id='DrumMotorLabel' >Motor</div>\n"
@@ -1226,7 +1226,7 @@ const char index_htm[] PROGMEM = {
" <div class='WaterCycleOn_sec' id='WaterCycleOn_sec' >8 s</div>\n" " <div class='WaterCycleOn_sec' id='WaterCycleOn_sec' >8 s</div>\n"
" <div class='WaterCycle_sec' id='WaterCycle_sec' >10 s</div>\n" " <div class='WaterCycle_sec' id='WaterCycle_sec' >10 s</div>\n"
" <div class='WaterCycleOnBox' id='WaterCycleOnBox' ></div>\n" " <div class='WaterCycleOnBox' id='WaterCycleOnBox' ></div>\n"
" <div class='WaterCycleStatusIcon' id='WaterCycleStatusIcon' ><img src='pointer.png' title='Pump On Time' /></div>\n" " <div class='WaterCyclePointer_sec' id='WaterCyclePointer_sec' ><img src='pointer.png' title='Pump On Time' /></div>\n"
" </div>\n" " </div>\n"
" </td>\n" " </td>\n"
" <td width='10%' align='center'>\n" " <td width='10%' align='center'>\n"
@@ -1343,7 +1343,7 @@ const char index_js[] PROGMEM = {
" } \n" " } \n"
"\n" "\n"
" if (typeof obj.SoilHeater != \"undefined\") {\n" " if (typeof obj.SoilHeater != \"undefined\") {\n"
" document.getElementById('SoilHeater').innerHTML = obj.SoilHeater;\n" " document.getElementById('SoilHeater').innerHTML = (obj.SoilHeater) ? \"Heat On\" : \"Heat Off\";\n"
" } else {\n" " } else {\n"
" document.getElementById('SoilHeater').innerHTML = \"--\";\n" " document.getElementById('SoilHeater').innerHTML = \"--\";\n"
" }\n" " }\n"
@@ -1359,14 +1359,14 @@ const char index_js[] PROGMEM = {
" document.getElementById('SoilMoisture_X').innerHTML = \"--\";\n" " document.getElementById('SoilMoisture_X').innerHTML = \"--\";\n"
" }\n" " }\n"
" \n" " \n"
" if (obj.DrumDoorIcon == 1) {\n" " if (obj.DrumState == 1) { // closed, hide the \"open\" image\n"
" document.getElementById('DrumDoorIcon').style.display === \"none\";\n" " document.getElementById('DrumState').style.display === \"none\";\n"
" } else {\n" " } else {\n"
" document.getElementById('DrumDoorIcon').style.display === \"block\";\n" " document.getElementById('DrumState').style.display === \"block\";\n"
" }\n" " }\n"
" document.getElementById('DrumOpenSensor').innerHTML = obj.DrumOpenSensor;\n" " document.getElementById('DrumOpenSensor').innerHTML = (obj.DrumOpenSensor) ? \"O\" : \"!O\";\n"
" document.getElementById('DrumClosedSensor').innerHTML = obj.DrumClosedSensor;\n" " document.getElementById('DrumClosedSensor').innerHTML = (obj.DrumClosedSensor) ? \"C\" : \"!C\";\n"
" document.getElementById('DrumMotorStatus').innerHTML = obj.DrumMotorStatus;\n" " document.getElementById('DrumMotorStatus').innerHTML = (obj.DrumMotorStatus == 0) ? \"stopped\" : (obj.DrumMotorStatus == 1) ? \"CW\" : \"CCW\";\n"
" document.getElementById('DrumMotorOn_sec').innerHTML = obj.DrumMotorOn_sec + \"s\";\n" " document.getElementById('DrumMotorOn_sec').innerHTML = obj.DrumMotorOn_sec + \"s\";\n"
" document.getElementById('DrumMotor_V').innerHTML = parseFloat(obj.DrumMotor_V).toFixed(1) + \"V\";\n" " document.getElementById('DrumMotor_V').innerHTML = parseFloat(obj.DrumMotor_V).toFixed(1) + \"V\";\n"
" document.getElementById('DrumMotor_I').innerHTML = parseFloat(obj.DrumMotor_I).toFixed(1) + \"A\";\n" " document.getElementById('DrumMotor_I').innerHTML = parseFloat(obj.DrumMotor_I).toFixed(1) + \"A\";\n"
@@ -1380,7 +1380,7 @@ const char index_js[] PROGMEM = {
" }\n" " }\n"
" );\n" " );\n"
"}\n" "}\n"
}; // index_js, 4528 bytes }; // index_js, 4702 bytes
// File: myip.js // File: myip.js
// //
@@ -2475,7 +2475,7 @@ const char plantmodel_css[] PROGMEM = {
" top: 181px;\n" " top: 181px;\n"
"}\n" "}\n"
"\n" "\n"
"div.DrumDoorIcon {\n" "div.DrumState {\n"
" position: absolute;\n" " position: absolute;\n"
" transform: rotate(180deg);\n" " transform: rotate(180deg);\n"
" left: 14px;\n" " left: 14px;\n"
@@ -2494,7 +2494,7 @@ const char plantmodel_css[] PROGMEM = {
"div.DrumMotorLabel {\n" "div.DrumMotorLabel {\n"
" position: absolute;\n" " position: absolute;\n"
" left: 95px;\n" " left: 95px;\n"
" top: 270px;\n" " top: 260px;\n"
" width: 50px;\n" " width: 50px;\n"
" text-align: center;\n" " text-align: center;\n"
" color: white;\n" " color: white;\n"
@@ -2502,7 +2502,7 @@ const char plantmodel_css[] PROGMEM = {
"div.DrumMotorStatus {\n" "div.DrumMotorStatus {\n"
" position: absolute;\n" " position: absolute;\n"
" left: 95px;\n" " left: 95px;\n"
" top: 290px;\n" " top: 280px;\n"
" width: 50px;\n" " width: 50px;\n"
" text-align: center;\n" " text-align: center;\n"
" color: white;\n" " color: white;\n"
@@ -2620,7 +2620,7 @@ const char plantmodel_css[] PROGMEM = {
" border-style: solid;\n" " border-style: solid;\n"
" border-width: 1px;\n" " border-width: 1px;\n"
"}\n" "}\n"
"div.WaterCycleStatusIcon {\n" "div.WaterCyclePointer_sec {\n"
" position: absolute;\n" " position: absolute;\n"
" left: 80px;\n" " left: 80px;\n"
" top: 469px;\n" " top: 469px;\n"
@@ -4634,7 +4634,7 @@ const DirEntry Directory[] PROGMEM = {
{ "/green1x1.png" , green1x1_png , "image/png", 119 }, { "/green1x1.png" , green1x1_png , "image/png", 119 },
{ "/icon.png" , icon_png , "image/png", 8721 }, { "/icon.png" , icon_png , "image/png", 8721 },
{ "/index.htm" , index_htm , "text/html", 5346 }, { "/index.htm" , index_htm , "text/html", 5346 },
{ "/index.js" , index_js , "text/javascript", 4528 }, { "/index.js" , index_js , "text/javascript", 4702 },
{ "/myip.js" , myip_js , "text/javascript", 167 }, { "/myip.js" , myip_js , "text/javascript", 167 },
{ "/nav.js" , nav_js , "text/javascript", 684 }, { "/nav.js" , nav_js , "text/javascript", 684 },
{ "/navigation.htm" , navigation_htm , "text/html", 557 }, { "/navigation.htm" , navigation_htm , "text/html", 557 },

View File

@@ -5,6 +5,10 @@
#include "ProjGlobals.h" #include "ProjGlobals.h"
#include "WiFiStateHandler.h" #include "WiFiStateHandler.h"
#include <DNSServer.h> ///< Required for Captive Portal behavior.
const byte DNS_PORT = 53; ///< Capture DNS requests on port 53
//DNSServer dnsServer; ///< Used for the captive portal AP mode
WiFiConnectState wifiConState; ///< Track the current WiFi state WiFiConnectState wifiConState; ///< Track the current WiFi state
@@ -73,7 +77,7 @@ WiFiConnectState WiFiStateHandler() {
WiFi.softAP(AP_NAME.c_str()); WiFi.softAP(AP_NAME.c_str());
myIP = WiFi.softAPIP(); myIP = WiFi.softAPIP();
Serial.printf("IP Address: %s\n", myIP.toString().c_str()); Serial.printf("IP Address: %s\n", myIP.toString().c_str());
// @todo dnsServer.start(DNS_PORT, "*", apIP); //dnsServer.start(DNS_PORT, "growcontroller.info", myIP);
timeStateChange = millis(); timeStateChange = millis();
//StartWebServer(); //StartWebServer();
wifiConState = WFC_HostingAP; wifiConState = WFC_HostingAP;
@@ -93,7 +97,7 @@ WiFiConnectState WiFiStateHandler() {
// @todo SetLED(LED_WIFI, 0); // @todo SetLED(LED_WIFI, 0);
// @todo } // @todo }
// @todo server.handleClient(); // @todo server.handleClient();
// @todo dnsServer.processNextRequest(); // dnsServer.processNextRequest();
break; break;
default: default:
case WFC_Idle: case WFC_Idle:

325
Firmware/doxyfile.dxy Normal file
View File

@@ -0,0 +1,325 @@
# Doxyfile 1.8.14
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "Code Review"
PROJECT_NUMBER =
PROJECT_BRIEF =
PROJECT_LOGO =
OUTPUT_DIRECTORY =
CREATE_SUBDIRS = NO
ALLOW_UNICODE_NAMES = NO
OUTPUT_LANGUAGE = English
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = "The $name class" \
"The $name widget" \
"The $name file" \
is \
provides \
specifies \
contains \
represents \
a \
an \
the
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH =
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
QT_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 4
ALIASES =
TCL_SUBST =
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO
EXTENSION_MAPPING = ino=c
MARKDOWN_SUPPORT = YES
TOC_INCLUDE_HEADINGS = 0
AUTOLINK_SUPPORT = YES
BUILTIN_STL_SUPPORT = NO
CPP_CLI_SUPPORT = NO
SIP_SUPPORT = NO
IDL_PROPERTY_SUPPORT = YES
DISTRIBUTE_GROUP_DOC = NO
GROUP_NESTED_COMPOUNDS = NO
SUBGROUPING = YES
INLINE_GROUPED_CLASSES = NO
INLINE_SIMPLE_STRUCTS = NO
TYPEDEF_HIDES_STRUCT = NO
LOOKUP_CACHE_SIZE = 0
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_PACKAGE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
EXTRACT_ANON_NSPACES = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = NO
HIDE_SCOPE_NAMES = NO
HIDE_COMPOUND_REFERENCE= NO
SHOW_INCLUDE_FILES = YES
SHOW_GROUPED_MEMB_INC = NO
FORCE_LOCAL_INCLUDES = NO
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = YES
SORT_MEMBERS_CTORS_1ST = YES
SORT_GROUP_NAMES = YES
SORT_BY_SCOPE_NAME = YES
STRICT_PROTO_MATCHING = NO
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_FILES = YES
SHOW_NAMESPACES = YES
FILE_VERSION_FILTER =
LAYOUT_FILE =
CITE_BIB_FILES =
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = YES
WARN_AS_ERROR = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
INPUT =
INPUT_ENCODING = UTF-8
FILE_PATTERNS = *.c \
*.cc \
*.cxx \
*.cpp \
*.c++ \
*.ino \
*.java \
*.ii \
*.ixx \
*.ipp \
*.i++ \
*.inl \
*.idl \
*.ddl \
*.odl \
*.h \
*.hh \
*.hxx \
*.hpp \
*.h++ \
*.cs \
*.d \
*.php \
*.php4 \
*.php5 \
*.phtml \
*.inc \
*.m \
*.markdown \
*.md \
*.mm \
*.dox \
*.py \
*.pyw \
*.f90 \
*.f95 \
*.f03 \
*.f08 \
*.f \
*.for \
*.tcl \
*.vhd \
*.vhdl \
*.ucf \
*.qsf
RECURSIVE = YES
EXCLUDE = "Debug" \
"Release"
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
FILTER_SOURCE_PATTERNS =
USE_MDFILE_AS_MAINPAGE =
SOURCE_BROWSER = YES
INLINE_SOURCES = YES
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
REFERENCES_LINK_SOURCE = YES
SOURCE_TOOLTIPS = YES
USE_HTAGS = NO
VERBATIM_HEADERS = YES
CLANG_ASSISTED_PARSING = NO
CLANG_OPTIONS =
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
GENERATE_HTML = YES
HTML_OUTPUT = CodeReview_files/html
HTML_FILE_EXTENSION = .htm
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_EXTRA_STYLESHEET =
HTML_EXTRA_FILES =
HTML_COLORSTYLE_HUE = 220
HTML_COLORSTYLE_SAT = 100
HTML_COLORSTYLE_GAMMA = 80
HTML_TIMESTAMP = NO
HTML_DYNAMIC_MENUS = YES
HTML_DYNAMIC_SECTIONS = NO
HTML_INDEX_NUM_ENTRIES = 100
GENERATE_DOCSET = NO
DOCSET_FEEDNAME = "Doxygen generated docs"
DOCSET_BUNDLE_ID = org.doxygen.Project
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
DOCSET_PUBLISHER_NAME = Publisher
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
CHM_INDEX_ENCODING =
BINARY_TOC = NO
TOC_EXPAND = YES
GENERATE_QHP = NO
QCH_FILE =
QHP_NAMESPACE = org.doxygen.Project
QHP_VIRTUAL_FOLDER = doc
QHP_CUST_FILTER_NAME =
QHP_CUST_FILTER_ATTRS =
QHP_SECT_FILTER_ATTRS =
QHG_LOCATION =
GENERATE_ECLIPSEHELP = NO
ECLIPSE_DOC_ID = org.doxygen.Project
DISABLE_INDEX = NO
GENERATE_TREEVIEW = NO
ENUM_VALUES_PER_LINE = 4
TREEVIEW_WIDTH = 250
EXT_LINKS_IN_WINDOW = NO
FORMULA_FONTSIZE = 10
FORMULA_TRANSPARENT = YES
USE_MATHJAX = NO
MATHJAX_FORMAT = HTML-CSS
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
MATHJAX_EXTENSIONS =
MATHJAX_CODEFILE =
SEARCHENGINE = NO
SERVER_BASED_SEARCH = NO
EXTERNAL_SEARCH = NO
SEARCHENGINE_URL =
SEARCHDATA_FILE = searchdata.xml
EXTERNAL_SEARCH_ID =
EXTRA_SEARCH_MAPPINGS =
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4
EXTRA_PACKAGES =
LATEX_HEADER =
LATEX_FOOTER =
LATEX_EXTRA_STYLESHEET =
LATEX_EXTRA_FILES =
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
LATEX_SOURCE_CODE = NO
LATEX_BIB_STYLE = plain
LATEX_TIMESTAMP = NO
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
RTF_SOURCE_CODE = NO
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_SUBDIR =
MAN_LINKS = NO
GENERATE_XML = NO
XML_OUTPUT = xml
XML_PROGRAMLISTING = YES
GENERATE_DOCBOOK = NO
DOCBOOK_OUTPUT = docbook
DOCBOOK_PROGRAMLISTING = NO
GENERATE_AUTOGEN_DEF = NO
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
EXTERNAL_PAGES = YES
CLASS_DIAGRAMS = YES
DIA_PATH =
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
DOT_NUM_THREADS = 0
DOT_FONTNAME = Helvetica
DOT_FONTSIZE = 10
DOT_FONTPATH =
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = YES
UML_LIMIT_NUM_FIELDS = 10
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = YES
CALLER_GRAPH = YES
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
INTERACTIVE_SVG = NO
DOT_PATH = "C:/Program Files (x86)/Graphviz2.38/bin"
DOTFILE_DIRS =
MSCFILE_DIRS =
DIAFILE_DIRS =
PLANTUML_JAR_PATH =
PLANTUML_CFG_FILE =
PLANTUML_INCLUDE_PATH =
DOT_GRAPH_MAX_NODES = 1000
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = YES

362
Hardware/eagle.epf Normal file
View File

@@ -0,0 +1,362 @@
[Eagle]
Version="07 07 00"
Platform="Windows"
Serial="6C0781BDA8-LSR-WLM-1CP"
Globals="Globals"
Desktop="Desktop"
[Globals]
AutoSaveProject=1
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/19inch.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/40xx.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/41xx.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/45xx.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/74ac-logic.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/74ttl-din.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/74xx-eu.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/74xx-little-de.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/74xx-little-us.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/74xx-us.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/751xx.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/IQD-Frequency-Products.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/advanced-test-technologies.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/agilent-technologies.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/allegro.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/altera-cyclone-II.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/altera-cyclone-III.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/altera-stratix-iv.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/altera.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/am29-memory.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/amd-mach.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/amd.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/amis.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/analog-devices.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/aplus.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/ase.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/atmel.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/austriamicrosystems.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/avago.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/axis.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/battery.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/belton-engineering.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/burr-brown.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/busbar.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/buzzer.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/c-trimm.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/california-micro-devices.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/capacitor-wima.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/chipcard-siemens.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/cirrus-logic.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-3m.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-4ucon.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-amp-champ.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-amp-micromatch.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-amp-mt.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-amp-mt6.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-amp-quick.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-amp-te.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-amp.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-amphenol.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-avx.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-berg.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-bosch.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-chipcard-iso7816.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-coax.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-commcon.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-conrad.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-cpci.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-cui.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-cypressindustries.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-deutsch.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-dil.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-ebyelectro.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-elco.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-erni.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-faston.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-fci.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-friwo.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-garry.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-harting-h.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-harting-ml.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-harting-v.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-harting.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-hirose.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-hirschmann.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-jack.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-jae.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-jst.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-kycon.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-kyocera-elco.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-lemo.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-leotronics.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-lsta.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-lstb.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-lumberg.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-ml.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-molex.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-neutrik_ag.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-omron.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-panasonic.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-panduit.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-pc.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-pc104.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-phoenix-254.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-phoenix-3.81.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-phoenix-350.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-phoenix-500.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-phoenix-508.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-phoenix-762.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-phoenix-me_max.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-phoenix-mkds_5.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-phoenix-smkdsp.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-ptr500.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-pulse.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-rib.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-samtec.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-shallin.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-shiua-chyuan.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-stewart.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-stocko.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-subd.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-sullinselectronics.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-thomas-betts.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-tyco.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-tycoelectronics.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-vg.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-wago-500.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-wago-508.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-wago.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-wago255.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-weidmueller-sl35.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-wenzhou-yihua.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-xmultiple.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/con-yamaichi.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/crystal.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/csr.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/cypress.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/davicom.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/dc-dc-converter.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/dimensions.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/diode.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/discrete.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/display-hp.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/display-kingbright.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/display-lcd.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/docu-dummy.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/dom-key.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/eagle-ltspice.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/ecl.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/em-microelectronic.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/etx-board.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/exar.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/fairchild-semic.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/farnell.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/fiber-optic-hp.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/fiber-optic-siemens.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/fifo.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/flexipanel.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/fox-electronics.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/frames.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/freescale.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/ftdichip.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/fujitsu.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/fuse.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/gennum.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/halo-electronics.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/heatsink.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/holes.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/holtek.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/ic-package.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/inductor-coilcraft.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/inductor-neosid.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/inductor-nkl.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/inductors.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/infineon-tricore.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/infineon.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/intersil-techwell.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/intersil.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/ir.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/isd.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/johanson-technology.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/jump-0r-smd.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/jumper.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/lantronix.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/lattice.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/lc-filter.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/led-7-segment.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/led-citizen-electronics.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/led-lumiled.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/led.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/lem.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/linear-technology.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/linear.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/linx.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/logo.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/lprs.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/lsi-computer-systems.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/lumiled.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/marks.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/maxim.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/maxstream.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/melexis.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/memory-hitachi.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/memory-idt.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/memory-micron.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/memory-motorola-dram.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/memory-nec.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/memory-samsung.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/memory-sram.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/memory.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/mems.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/micrel.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/micro-cyrod.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/micro-fujitsu.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/micro-harris.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/micro-hitachi.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/micro-infineon.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/micro-intel.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/micro-mc68000.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/micro-motorola.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/micro-philips.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/micro-renesas.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/micro-samsung.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/micro-siemens.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/microchip.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/micron.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/micronas.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/microphon.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/microwave.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/midori-sensor.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/minicircuits.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/mitsubishi-semiconductor.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/motorola-sensor-driver.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/murata-filter.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/murata-sensor.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/nanotec.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/national-instruments.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/national-semiconductor.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/nec-lqfp100-pack.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/nec.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/nrj-semiconductor.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/omnivision.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/on-semiconductor.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/opto-honeywell-3000.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/opto-honeywell-4000.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/opto-honeywell.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/opto-micro-linear.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/opto-trans-siemens.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/opto-transmittter-hp.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/opto-vishay.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/optocoupler.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/pal.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/philips-semiconductors.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/photo-elements.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/piher.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/pinhead.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/plcc-socket.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/pld-intel.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/plxtech.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/pot-vitrohm.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/pot-xicor.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/pot.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/ptc-ntc.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/quantum-research-group.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/rcl.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/recom-international.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/rectifier.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/ref-packages-longpad.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/ref-packages.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/relay.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/renesas.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/resistor-bourns.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/resistor-dil.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/resistor-net.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/resistor-power.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/resistor-ruf.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/resistor-shunt.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/resistor-sil.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/resistor.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/rf-micro-devices.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/rf-solutions.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/rohm.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/roundsolutions.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/semicon-smd-ipc.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/sensor-comus-group.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/sensor-heraeus.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/sensor-infratec.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/sharp.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/silabs.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/sim-technology.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/sipex.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/smd-ipc.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/smd-special.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/solomon-systech.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/solpad.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/speaker.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/special-drill.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/special.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/st-microelectronics.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/stm32xx.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/supertex.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/supply1.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/supply2.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/switch-alps.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/switch-coto.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/switch-dil.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/switch-misc.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/switch-omron.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/switch-raychem.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/switch-reed.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/switch.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/telcom.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/telecontrolli.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/telefunken.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/test-mate.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/testpad.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/texas-sn55-sn75.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/texas.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/toshiba.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/traco-electronic.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/trafo-bei.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/trafo-hammondmfg.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/trafo-siemens.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/trafo-xicon.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/trafo.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/transformer-pulse.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/transistor-fet.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/transistor-neu-to92.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/transistor-npn.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/transistor-pnp.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/transistor-power.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/transistor-small-signal.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/transistor.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/triac.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/trimble.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/tripas.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/u-blox.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/uln-udn.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/v-reg-micrel.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/v-reg.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/varistor.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/wafer-scale-psd.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/wirepad.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/xicor.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/xilinx-virtex-v5.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/xilinx-xc18v.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/xilinx-xc9.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/xilinx-xcv.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/zetex.lbr"
UsedLibrary="C:/Program Files/EAGLE-7.7.0/lbr/zilog.lbr"
UsedLibrary="d:/Projects/Eagle/lbr/ESP8266Modules.lbr"
UsedLibrary="d:/Projects/Eagle/lbr/Enclosures-PCBs.lbr"
UsedLibrary="d:/Projects/Eagle/lbr/Smartware.lbr"
[Win_1]
Type="Control Panel"
Loc="380 195 1389 808"
State=2
Number=0
[Desktop]
Screen="3840 1080"
Window="Win_1"