diff --git a/.travis.yml b/.travis.yml index db3814d..cc6a584 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,17 +1,40 @@ -notification: +notifications: email: false -before_install: -- sudo apt-get update -- sudo apt-get install texlive-latex-extra -script: -- mkdir _build -- travis_wait 3 pdflatex -output-directory _build ./Documentation/src/Documentation.tex +install: + # Silent install from conda docs + # https://conda.io/docs/user-guide/install/macos.html#install-macos-silent + # adapted using + # https://conda.io/docs/user-guide/tasks/use-conda-with-travis-ci.html + + # Needed to check if conda already installed + - export PATH="$HOME/miniconda/bin:$PATH" + + # If not yet installed, obtain Miniconda + # and tectonic + # From tectonic docs + # https://tectonic-typesetting.github.io/en-US/install.html#the-anaconda-method + - if ! command -v conda > /dev/null; then + wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh; + bash miniconda.sh -b -p $HOME/miniconda -u; + conda config --add channels conda-forge; + conda config --set always_yes yes; + conda update --all; + conda install tectonic; + fi + - conda info -a +cache: + directories: + - $HOME/miniconda +script: # Change working directory each time so including files will work. Change back so the pdfs can be found for deployment. This way, building multiple files goes well. + - cd ./documentation/src/ + - tectonic ./documentation.tex --print + - cd ../ deploy: provider: releases api_key: secure: rQIugDrSWmIXr7oIIxhcpvPIAql6YYc0+4+yIyHi2iJ3jYuOT7EI/a1q81tKMvPOXs/U+vyLIhyyzstK4KXkRj0wTS+e518PE9VZyysVRkmzX8fQkScjne4ITTXOeAsxpTU9gm7QnS+evtalt5izIbsBl/6lJY0HnrVwtd7PmMB2v9IQhF+FuoZRVJF+MWBUrENNPPP6p4PLXbbZgFUaYDvQuIyZvn5EGSlSnVlUmgggkUJJtjs+H+j0M7Ju+wk1jVhO3e4VQa8lO9NN3m8U2aYz99zgT2yLZQ/gBa1OeKsVfJuhajOfnigUuGhsZD2PXPHZdLlxPI2SuxsSUmFnJesxVaTHTROz+e8d+xL90iyCq/l1p8BUiap1ZNalkbYK637TiPnxLKVKhzDDH0Sf+OjY92HK0cpBSKBCvlH+JYX4EY/DqIBubFCctc5Qd/PqcYZqyKCepadnKB+nXWpmp4n9Sr2/wA4EDdrMsRIlNHOi0cfiGleo9abJ/ZiDVUekW0Bgic3rCIZlN8S05huXuWxWJTBJvMtA1w2XyRCejapVo4EH1w8uxTClwiT4V++bMOpQK9QYd2L9vIMXy7J4h+iFhGO9vkP09ACEo40SS77+zFq79aEYTOIcqjP5uB3RhV8tKAfv4MTuL9x50yPzobr0hzTVxengQPYAmEldQj4= file: - - ./_build/Documentation.pdf + - ./documentation/src/documentation.pdf skip_cleanup: true on: tags: true diff --git a/Documentation/Documentation.pdf b/Documentation/Documentation.pdf deleted file mode 100644 index 3788239..0000000 Binary files a/Documentation/Documentation.pdf and /dev/null differ diff --git a/SolArduino_atom/SolArduino/SolArduino.ino b/SolArduino_atom/SolArduino/SolArduino.ino index ab365fd..b5eb7b9 100644 --- a/SolArduino_atom/SolArduino/SolArduino.ino +++ b/SolArduino_atom/SolArduino/SolArduino.ino @@ -21,8 +21,8 @@ const int SAMPLE_RATE = 500; //amount of readings to take the average of when re //experimentally determined values of potmeter and angle ends const int SOFT_BOUND = 5; // about 5 /( (970-611)/(570-50) ) = 0.7 degrees safety //NOTE especially in solarPanelUp/Down we assumed the low end has the lowest number!! -const int POTMETER_LOWEND = 611 + SOFT_BOUND; // was 652 -const int POTMETER_HIGHEND = 970 - SOFT_BOUND; //was 977, 1007 +const int POTMETER_LOWEND = 0; // was 611, was 652 +const int POTMETER_HIGHEND = 1000; //was 970, was 977, 1007 const int DEGREES_HIGHEND = 570 - 7; //angle * 10 for more precision, including soft bound const int DEGREES_LOWEND = 50 + 7; @@ -98,6 +98,18 @@ void loop () { if (!(EmergencyState == "")) { solarPanelStop(); } + + // Useful for calibrating potmeter +// printPotmeterValue(); +} + +unsigned long potMeterCount = millis(); +void printPotmeterValue() { + if (millis() > potMeterCount + 1000) { + Serial.println(readPotMeter()); + potMeterCount = millis(); + } + } //get next auto angle, if -1 then ran out of angles diff --git a/SolArduino_atom/SolArduino/solarPanelControl.ino b/SolArduino_atom/SolArduino/solarPanelControl.ino index a5edd81..f9350e4 100644 --- a/SolArduino_atom/SolArduino/solarPanelControl.ino +++ b/SolArduino_atom/SolArduino/solarPanelControl.ino @@ -69,18 +69,18 @@ void solarPanelAuto() { // timeout is set to a value in the future on user up/down requests void checkMovingTimeout() { if (millis() > moveTimeout and !panelsStopped) { - Serial.print(F("timed out at")); - Serial.println(millis()); +// Serial.print(F("timed out at")); +// Serial.println(millis()); solarPanelStop(); } } void resetMoveTimeout() { moveTimeout = millis() + MOVE_TIMEOUT_DELTA; - Serial.print(F("set moveTimeout at ")); - Serial.print(millis()); - Serial.print(F(" for ")); - Serial.println(moveTimeout); +// Serial.print(F("set moveTimeout at ")); +// Serial.print(millis()); +// Serial.print(F(" for ")); +// Serial.println(moveTimeout); } int getCurrentAngle() { @@ -114,16 +114,16 @@ void solarPanelDown() { if (analogRead(POTMETERPIN) < POTMETER_HIGHEND) { aboveUpperBound = false; } - if (analogRead(POTMETERPIN) > POTMETER_LOWEND) { // if panels not below lower bound, move down +// if (analogRead(POTMETERPIN) > POTMETER_LOWEND) { // if panels not below lower bound, move down panelsStopped = false; - Serial.println(F("Panels going down")); +// Serial.println(F("Panels going down")); digitalWrite(POWER_LOW, HIGH); //Put current via the low end stop to 28 digitalWrite(POWER_HIGH, LOW); //Make sure the high end circuit is not on digitalWrite(DIRECTION_PIN, HIGH); //To go down, also let the current flow to E4 - } else { // panels below lower bound - belowLowerBound = true; - solarPanelStop(); - } +// } else { // panels below lower bound +// belowLowerBound = true; +// solarPanelStop(); +// } } else { solarPanelStop(); } @@ -135,16 +135,16 @@ void solarPanelUp() { if (analogRead(POTMETERPIN) > POTMETER_LOWEND) { // if we move above low bound, reset flag belowLowerBound = false; } - if (analogRead(POTMETERPIN) < POTMETER_HIGHEND) { +// if (analogRead(POTMETERPIN) < POTMETER_HIGHEND) { panelsStopped = false; - Serial.println(F("Panels going up")); +// Serial.println(F("Panels going up")); digitalWrite(POWER_LOW, LOW); digitalWrite(POWER_HIGH, HIGH); digitalWrite(DIRECTION_PIN, LOW); - } else { // we are above upper bound, do not go up - aboveUpperBound = true; - solarPanelStop(); - } +// } else { // we are above upper bound, do not go up +// aboveUpperBound = true; +// solarPanelStop(); +// } } else { solarPanelStop(); } diff --git a/Documentation/.gitattributes b/documentation/.gitattributes similarity index 100% rename from Documentation/.gitattributes rename to documentation/.gitattributes diff --git a/Documentation/.gitignore b/documentation/.gitignore similarity index 100% rename from Documentation/.gitignore rename to documentation/.gitignore diff --git a/Documentation/Mathematica/SolArduino.m b/documentation/Mathematica/SolArduino.m similarity index 100% rename from Documentation/Mathematica/SolArduino.m rename to documentation/Mathematica/SolArduino.m diff --git a/Documentation/Mathematica/angles.csv b/documentation/Mathematica/angles.csv similarity index 100% rename from Documentation/Mathematica/angles.csv rename to documentation/Mathematica/angles.csv diff --git a/Documentation/Mathematica/data.csv b/documentation/Mathematica/data.csv similarity index 100% rename from Documentation/Mathematica/data.csv rename to documentation/Mathematica/data.csv diff --git a/Documentation/Mathematica/data17_23.csv b/documentation/Mathematica/data17_23.csv similarity index 100% rename from Documentation/Mathematica/data17_23.csv rename to documentation/Mathematica/data17_23.csv diff --git a/Documentation/Mathematica/data19_25.csv b/documentation/Mathematica/data19_25.csv similarity index 100% rename from Documentation/Mathematica/data19_25.csv rename to documentation/Mathematica/data19_25.csv diff --git a/Documentation/Mathematica/data2016.csv b/documentation/Mathematica/data2016.csv similarity index 100% rename from Documentation/Mathematica/data2016.csv rename to documentation/Mathematica/data2016.csv diff --git a/Documentation/Mathematica/data24_30.csv b/documentation/Mathematica/data24_30.csv similarity index 100% rename from Documentation/Mathematica/data24_30.csv rename to documentation/Mathematica/data24_30.csv diff --git a/Documentation/Mathematica/data2_8.csv b/documentation/Mathematica/data2_8.csv similarity index 100% rename from Documentation/Mathematica/data2_8.csv rename to documentation/Mathematica/data2_8.csv diff --git a/Documentation/Mathematica/dataMay.csv b/documentation/Mathematica/dataMay.csv similarity index 100% rename from Documentation/Mathematica/dataMay.csv rename to documentation/Mathematica/dataMay.csv diff --git a/Documentation/Mathematica/demonstration.nb b/documentation/Mathematica/demonstration.nb similarity index 100% rename from Documentation/Mathematica/demonstration.nb rename to documentation/Mathematica/demonstration.nb diff --git a/Documentation/Mathematica/export.csv b/documentation/Mathematica/export.csv similarity index 100% rename from Documentation/Mathematica/export.csv rename to documentation/Mathematica/export.csv diff --git a/Documentation/Mathematica/realdata.nb b/documentation/Mathematica/realdata.nb similarity index 100% rename from Documentation/Mathematica/realdata.nb rename to documentation/Mathematica/realdata.nb diff --git a/Documentation/Mathematica/times.csv b/documentation/Mathematica/times.csv similarity index 100% rename from Documentation/Mathematica/times.csv rename to documentation/Mathematica/times.csv diff --git a/Documentation/src/ArduinoCircuit.png b/documentation/src/ArduinoCircuit.png similarity index 100% rename from Documentation/src/ArduinoCircuit.png rename to documentation/src/ArduinoCircuit.png diff --git a/Documentation/src/arduinocode.tex b/documentation/src/arduinocode.tex similarity index 100% rename from Documentation/src/arduinocode.tex rename to documentation/src/arduinocode.tex diff --git a/Documentation/src/Documentation.tex b/documentation/src/documentation.tex similarity index 100% rename from Documentation/src/Documentation.tex rename to documentation/src/documentation.tex diff --git a/Documentation/src/graphs.JPG b/documentation/src/graphs.JPG similarity index 100% rename from Documentation/src/graphs.JPG rename to documentation/src/graphs.JPG diff --git a/Documentation/src/setup.tex b/documentation/src/setup.tex similarity index 100% rename from Documentation/src/setup.tex rename to documentation/src/setup.tex