diff --git a/BigRoomMyS/.gitignore b/BigRoomMyS/.gitignore deleted file mode 100644 index 89cc49c..0000000 --- a/BigRoomMyS/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -.pio -.vscode/.browse.c_cpp.db* -.vscode/c_cpp_properties.json -.vscode/launch.json -.vscode/ipch diff --git a/BigRoomMyS/.vscode/extensions.json b/BigRoomMyS/.vscode/extensions.json deleted file mode 100644 index 080e70d..0000000 --- a/BigRoomMyS/.vscode/extensions.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - // See http://go.microsoft.com/fwlink/?LinkId=827846 - // for the documentation about the extensions.json format - "recommendations": [ - "platformio.platformio-ide" - ], - "unwantedRecommendations": [ - "ms-vscode.cpptools-extension-pack" - ] -} diff --git a/BigRoomMyS/include/README b/BigRoomMyS/include/README deleted file mode 100644 index 194dcd4..0000000 --- a/BigRoomMyS/include/README +++ /dev/null @@ -1,39 +0,0 @@ - -This directory is intended for project header files. - -A header file is a file containing C declarations and macro definitions -to be shared between several project source files. You request the use of a -header file in your project source file (C, C++, etc) located in `src` folder -by including it, with the C preprocessing directive `#include'. - -```src/main.c - -#include "header.h" - -int main (void) -{ - ... -} -``` - -Including a header file produces the same results as copying the header file -into each source file that needs it. Such copying would be time-consuming -and error-prone. With a header file, the related declarations appear -in only one place. If they need to be changed, they can be changed in one -place, and programs that include the header file will automatically use the -new version when next recompiled. The header file eliminates the labor of -finding and changing all the copies as well as the risk that a failure to -find one copy will result in inconsistencies within a program. - -In C, the usual convention is to give header files names that end with `.h'. -It is most portable to use only letters, digits, dashes, and underscores in -header file names, and at most one dot. - -Read more about using header files in official GCC documentation: - -* Include Syntax -* Include Operation -* Once-Only Headers -* Computed Includes - -https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html diff --git a/BigRoomMyS/include/main.h b/BigRoomMyS/include/main.h deleted file mode 100644 index d3df219..0000000 --- a/BigRoomMyS/include/main.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef __MAIN__ -#define __MAIN__ -#include -#include -#include "MHZ19.h" - -#define DEBUG -#define MY_DEBUG -#define MY_RADIO_RF24 -#define MY_RF24_CHANNEL (105) -#define MY_RF24_PA_LEVEL RF24_PA_MAX -#define MY_TRANSPORT_WAIT_READY_MS 5000 -//#define MY_REPEATER_FEATURE - -#define MY_DEFAULT_ERR_LED_PIN (A3) // Error led pin -#define MY_DEFAULT_RX_LED_PIN (A2) // Receive led pin -#define MY_DEFAULT_TX_LED_PIN (A1) // the PCB, on board LED - -#include -#include // Remove if using HardwareSerial or non-uno compatabile device -#include -#include - -void printDeb(String msg); - -#define RX_PIN 8 -#define TX_PIN 7 -#define BAUDRATE 9600 - -#define MOTION (3) -#define PS (4) -#define LED_WHITE (5) -#define LED_BLUE (6) -MHZ19 myMHZ19; -SoftwareSerial mySerial(RX_PIN, TX_PIN); -HTU21D myHTU21D(HTU21D_RES_RH10_TEMP13); -RunningMedian samples = RunningMedian(5 * sizeof(int)); - -//uint8_t periodMinCO2; -byte periodMotion; -int8_t curDelay; -uint16_t spLight, dbLight; -uint8_t timeLight; -byte levelBlue, levelWhite; -bool move, lightWhite; -float temp, hum; -bool bLamp, wLamp; -uint8_t statLamp; - -#endif \ No newline at end of file diff --git a/BigRoomMyS/lib/README b/BigRoomMyS/lib/README deleted file mode 100644 index 6debab1..0000000 --- a/BigRoomMyS/lib/README +++ /dev/null @@ -1,46 +0,0 @@ - -This directory is intended for project specific (private) libraries. -PlatformIO will compile them to static libraries and link into executable file. - -The source code of each library should be placed in a an own separate directory -("lib/your_library_name/[here are source files]"). - -For example, see a structure of the following two libraries `Foo` and `Bar`: - -|--lib -| | -| |--Bar -| | |--docs -| | |--examples -| | |--src -| | |- Bar.c -| | |- Bar.h -| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html -| | -| |--Foo -| | |- Foo.c -| | |- Foo.h -| | -| |- README --> THIS FILE -| -|- platformio.ini -|--src - |- main.c - -and a contents of `src/main.c`: -``` -#include -#include - -int main (void) -{ - ... -} - -``` - -PlatformIO Library Dependency Finder will find automatically dependent -libraries scanning project source files. - -More information about PlatformIO Library Dependency Finder -- https://docs.platformio.org/page/librarymanager/ldf.html diff --git a/BigRoomMyS/platformio.ini b/BigRoomMyS/platformio.ini deleted file mode 100644 index 2ece4d9..0000000 --- a/BigRoomMyS/platformio.ini +++ /dev/null @@ -1,21 +0,0 @@ -; PlatformIO Project Configuration File -; -; Build options: build flags, source filter -; Upload options: custom upload port, speed and extra flags -; Library options: dependencies, extra library storages -; Advanced options: extra scripting -; -; Please visit documentation for the other options and examples -; https://docs.platformio.org/page/projectconf.html - -[env:pro8MHzatmega328] -platform = atmelavr -board = pro8MHzatmega328 -framework = arduino -monitor_speed = 115200 -lib_deps = - MySensors @ ^2.3.2 - wifwaf/MH-Z19 @ ^1.5.3 - enjoyneering/HTU21D @ ^1.2.1 - featherfly/SoftwareSerial @ ^1.0 - robtillaart/RunningMedian @ ^0.3.3 \ No newline at end of file diff --git a/BigRoomMyS/src/main.cpp b/BigRoomMyS/src/main.cpp deleted file mode 100644 index 464e317..0000000 --- a/BigRoomMyS/src/main.cpp +++ /dev/null @@ -1,285 +0,0 @@ -#include "main.h" - -void presentation(); -void sendDataI(MyMessage msg, uint32_t status); -void sendDataF(MyMessage msg, float status); -void sendDataB(MyMessage msg, bool status); - -MyMessage msgTemp(0, V_TEMP); -MyMessage msgHum(1, V_HUM); -MyMessage msgMove(2, V_TRIPPED); -MyMessage msgCO2(3, V_VAR1); -MyMessage msgLight(3, V_VAR2); -MyMessage msgTimeWork(3, V_VAR3); -MyMessage msgTimeMotion(3, V_VAR4); -//MyMessage msgPeriodCO2(3, V_VAR5); -MyMessage msgWLamp(4, V_DIMMER); -MyMessage msgSPLight(5, V_VAR1); -MyMessage msgDBLight(5, V_VAR2); -MyMessage msgWLight(5, V_VAR3); -MyMessage msgTimeLight(5, V_VAR4); - -void before(){ - pinMode(PS, OUTPUT); - digitalWrite(PS, LOW); - pinMode(LED_BLUE, OUTPUT); - pinMode(LED_WHITE, OUTPUT); - digitalWrite(LED_BLUE, HIGH); - digitalWrite(LED_WHITE, HIGH); -} - -void setup() { - pinMode(MOTION, INPUT_PULLUP); - mySerial.begin(BAUDRATE); // Uno example: Begin Stream with MHZ19 baudrate - myMHZ19.begin(mySerial); // *Important, Pass your Stream reference here - myMHZ19.autoCalibration(false); - - /*char myVersion[4]; - myMHZ19.getVersion(myVersion); - Serial.print("\nFirmware Version: "); - for(byte i = 0; i < 4; i++) - { - Serial.print(myVersion[i]); - if(i == 1) - Serial.print("."); - } - - Serial.println(""); - Serial.print("Range: "); - Serial.println(myMHZ19.getRange()); - Serial.print("Background CO2: "); - Serial.println(myMHZ19.getBackgroundCO2()); - Serial.print("Temperature Cal: "); - Serial.println(myMHZ19.getTempAdjustment()); - Serial.print("ABC Status: "); myMHZ19.getABC() ? Serial.println("ON") : Serial.println("OFF");*/ - // periodMinCO2 = loadState(0); - // sendDataI(msgPeriodCO2, periodMinCO2); - // if(periodMinCO2 == 0) periodMinCO2 = 1; - periodMotion = loadState(11); - sendDataI(msgTimeMotion, periodMotion); -// if(periodMotion == 0) periodMotion = 60; - spLight = (loadState(12) << 8) + loadState(13); - sendDataI(msgSPLight, spLight); - dbLight = (loadState(14) << 8) + loadState(15); - sendDataI(msgDBLight, dbLight); - levelBlue = loadState(6); - levelWhite = loadState(7); - // timeLight = loadState(8); - // sendDataI(msgTimeWork, timeLight); - // Serial.print(F("PeriodCO2:"));Serial.println(periodMinCO2); - Serial.print(F("PeriodMove:"));Serial.println(periodMotion); - Serial.print(F("SPLight:"));Serial.println(spLight); - Serial.print(F("DBLight:"));Serial.println(dbLight); - Serial.print(F("BLevel:"));Serial.println(levelBlue); - Serial.print(F("WLevel:"));Serial.println(levelWhite); - //Serial.print(F("TimeLight:"));Serial.println(timeLight); - myHTU21D.begin(); - curDelay = -1; - wLamp = bLamp = false; - statLamp = 0; -} - -void loop() { - static uint32_t cRun = millis(); - static uint8_t sec = 0; - //static uint8_t minuts = 0; - - if(digitalRead(MOTION) > 0){ - if(curDelay == -1) sendDataB(msgMove, true); - move = true; - curDelay = periodMotion; - } - - uint16_t LightLev = analogRead(A0); - samples.add(LightLev); - LightLev = samples.getMedian(); - if ((LightLev < spLight) && move && !bLamp){ - analogWrite(LED_BLUE, (levelBlue) * 2.55); - statLamp |= 0x01; - bLamp = true; - Serial.println(F("BLamp On")); - } - else if((LightLev > (spLight + dbLight)) || (move == 0)){ - //analogWrite(LED_BLUE, 0); - digitalWrite(LED_BLUE, LOW); - statLamp &= 0xFE; - bLamp = false; - } - - if(lightWhite && !wLamp){ - analogWrite(LED_WHITE, (levelWhite) * 2.55); - statLamp |= 0x02; - wLamp = true; - Serial.println(F("WLamp On")); - } - else if (!lightWhite){ - //analogWrite(LED_WHITE, 0); - digitalWrite(LED_WHITE, LOW); - statLamp &= 0xFD; - wLamp = false; - } - if(statLamp > 0) digitalWrite(PS, HIGH); - else digitalWrite(PS, LOW); - - - if((cRun + 1000) <= millis()){ //Once per second - cRun = millis(); - if(curDelay > -1){ - Serial.println("ADC: " + String(LightLev) + " MV:" + String(move) + " TMv:" + curDelay + " SL:" + String(statLamp) + " PS:" + digitalRead(PS)); - Serial.println("SPL: " + String(spLight) + " DBL:" + String(dbLight)+ " BL:" + String(bLamp)); - } - sec++; - if(curDelay > 0) curDelay--; - if(curDelay == 0){ - sendDataB(msgMove, false); - move = false; - curDelay = -1; - } - if((sec + 2) % 30 == 0){ - temp = myHTU21D.readTemperature(); - hum = myHTU21D.readCompensatedHumidity(); - // Serial.println("Temp: " + String(temp)); - // Serial.println("Hum: " + String(hum)); - } - if(sec == 59){ - //minuts++; - sec = 0; - // } - // if(minuts == periodMinCO2){ - int CO2; // Buffer for CO2 - CO2 = myMHZ19.getCO2(); // Request CO2 (as ppm) - - if(myMHZ19.errorCode == RESULT_OK) // RESULT_OK is an alis for 1. Either can be used to confirm the response was OK. - { - Serial.println(CO2); - sendDataI(msgCO2, CO2); - wait(50); - } - // else{ - // Serial.println("CO2err:" + String(myMHZ19.errorCode)); - // } - if(temp != HTU21D_ERROR){ - // Serial.println("Send"); - - // Serial.println("Temp: " + String(temp)); - // Serial.println("Hum: " + String(hum)); - sendDataF(msgTemp, temp); - wait(50); - sendDataF(msgHum, hum); - wait(50); - } - sendDataF(msgTimeWork, cRun / 60000.0); - wait(50); - sendDataI(msgLight, LightLev); - //minuts = 0; - } - } -} - -void presentation() -{ - sendSketchInfo(F("MidRoom"), F("1.0")); - present(0, S_TEMP, F("Temp")); - present(1, S_HUM, F("Humid")); - present(2, S_MOTION, F("Motion")); - present(3, S_CUSTOM, F("CO2_Light_Time")); - present(4, S_DIMMER, F("White Light")); - present(5, S_CUSTOM, F("Blue Light SP_DB")); -} - -void receive(const MyMessage &message) -{ - // if((message.sensor == 3) && (message.type == V_VAR5)){ - // periodMinCO2 = message.getByte(); - // saveState(0, periodMinCO2); - // } - if((message.sensor == 3) && (message.type == V_VAR4)){ - periodMotion = message.getULong(); - printDeb("PerMot:" + String(periodMotion)); - saveState(11, periodMotion); - } - if((message.sensor == 4) && (message.type == V_DIMMER)){ - levelWhite = message.getULong(); - printDeb("LevelW:" + String(dbLight)); - saveState(7, levelWhite); - if(wLamp) analogWrite(LED_WHITE, (levelWhite) * 2.55); - } - if((message.sensor == 5) && (message.type == V_VAR3)){ - levelBlue = message.getULong(); - printDeb("LevelB:" + String(levelBlue)); - saveState(6, levelBlue); - if(bLamp) analogWrite(LED_BLUE, (levelBlue) * 2.55); - } - if((message.sensor == 4) && (message.type == V_STATUS)){ - lightWhite = message.getBool(); - //saveState(6, lightWhite); - } - if((message.sensor == 5) && (message.type == V_VAR1)){ - spLight = message.getULong(); - printDeb("SPL:" + String(spLight)); - saveState(12, (spLight >> 8) & 0xFF); - saveState(13, spLight & 0xFF); - - } - if((message.sensor == 5) && (message.type == V_VAR2)){ - dbLight = message.getULong(); - printDeb("DBL:" + String(dbLight)); - saveState(14, (dbLight >> 8) & 0xFF); - saveState(15, dbLight & 0xFF); - } -} - -void sendDataI(MyMessage msg, uint32_t val) -{ - bool send_data = false; - uint8_t count = 0; - while(send_data == false){ - count++; - send_data = send(msg.set(val), true); - if(!send_data) - wait(500, C_SET, msg.type); - if ((count == 3) && (send_data == 0)){ // Если сделано 3 попытки и нет подтверждения отправки - count = 0; // Обнуляем счётчик - send_data = 1; // Выходим из цикла - } - } -} - -void sendDataF(MyMessage msg, float val) -{ - bool send_data = false; - uint8_t count = 0; - while(send_data == false){ - count++; - send_data = send(msg.set(val, 2), true); - if(!send_data) - wait(500, C_SET, msg.type); - if ((count == 3) && (send_data == 0)){ // Если сделано 3 попытки и нет подтверждения отправки - count = 0; // Обнуляем счётчик - send_data = 1; // Выходим из цикла - } - } -} - -void sendDataB(MyMessage msg, bool val) -{ - bool send_data = false; - uint8_t count = 0; - while(send_data == false){ - count++; - send_data = send(msg.set(val), true); - if(!send_data) - wait(500, C_SET, msg.type); - if ((count == 3) && (send_data == 0)){ // Если сделано 3 попытки и нет подтверждения отправки - count = 0; // Обнуляем счётчик - send_data = 1; // Выходим из цикла - } - } -} - -void printDeb(String msg) -{ -#ifdef DEBUG - Serial.println(msg); -#endif -} \ No newline at end of file diff --git a/BigRoomMyS/test/README b/BigRoomMyS/test/README deleted file mode 100644 index b94d089..0000000 --- a/BigRoomMyS/test/README +++ /dev/null @@ -1,11 +0,0 @@ - -This directory is intended for PlatformIO Unit Testing and project tests. - -Unit Testing is a software testing method by which individual units of -source code, sets of one or more MCU program modules together with associated -control data, usage procedures, and operating procedures, are tested to -determine whether they are fit for use. Unit testing finds problems early -in the development cycle. - -More information about PlatformIO Unit Testing: -- https://docs.platformio.org/page/plus/unit-testing.html diff --git a/KorMYS/.gitignore b/KorMYS/.gitignore deleted file mode 100644 index 89cc49c..0000000 --- a/KorMYS/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -.pio -.vscode/.browse.c_cpp.db* -.vscode/c_cpp_properties.json -.vscode/launch.json -.vscode/ipch diff --git a/KorMYS/.vscode/extensions.json b/KorMYS/.vscode/extensions.json deleted file mode 100644 index 080e70d..0000000 --- a/KorMYS/.vscode/extensions.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - // See http://go.microsoft.com/fwlink/?LinkId=827846 - // for the documentation about the extensions.json format - "recommendations": [ - "platformio.platformio-ide" - ], - "unwantedRecommendations": [ - "ms-vscode.cpptools-extension-pack" - ] -} diff --git a/KorMYS/include/README b/KorMYS/include/README deleted file mode 100644 index 45496b1..0000000 --- a/KorMYS/include/README +++ /dev/null @@ -1,39 +0,0 @@ - -This directory is intended for project header files. - -A header file is a file containing C declarations and macro definitions -to be shared between several project source files. You request the use of a -header file in your project source file (C, C++, etc) located in `src` folder -by including it, with the C preprocessing directive `#include'. - -```src/main.c - -#include "header.h" - -int main (void) -{ - ... -} -``` - -Including a header file produces the same results as copying the header file -into each source file that needs it. Such copying would be time-consuming -and error-prone. With a header file, the related declarations appear -in only one place. If they need to be changed, they can be changed in one -place, and programs that include the header file will automatically use the -new version when next recompiled. The header file eliminates the labor of -finding and changing all the copies as well as the risk that a failure to -find one copy will result in inconsistencies within a program. - -In C, the usual convention is to give header files names that end with `.h'. -It is most portable to use only letters, digits, dashes, and underscores in -header file names, and at most one dot. - -Read more about using header files in official GCC documentation: - -* Include Syntax -* Include Operation -* Once-Only Headers -* Computed Includes - -https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html diff --git a/KorMYS/lib/README b/KorMYS/lib/README deleted file mode 100644 index 8c9c29c..0000000 --- a/KorMYS/lib/README +++ /dev/null @@ -1,46 +0,0 @@ - -This directory is intended for project specific (private) libraries. -PlatformIO will compile them to static libraries and link into executable file. - -The source code of each library should be placed in a an own separate directory -("lib/your_library_name/[here are source files]"). - -For example, see a structure of the following two libraries `Foo` and `Bar`: - -|--lib -| | -| |--Bar -| | |--docs -| | |--examples -| | |--src -| | |- Bar.c -| | |- Bar.h -| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html -| | -| |--Foo -| | |- Foo.c -| | |- Foo.h -| | -| |- README --> THIS FILE -| -|- platformio.ini -|--src - |- main.c - -and a contents of `src/main.c`: -``` -#include -#include - -int main (void) -{ - ... -} - -``` - -PlatformIO Library Dependency Finder will find automatically dependent -libraries scanning project source files. - -More information about PlatformIO Library Dependency Finder -- https://docs.platformio.org/page/librarymanager/ldf.html diff --git a/KorMYS/platformio.ini b/KorMYS/platformio.ini deleted file mode 100644 index 28837b6..0000000 --- a/KorMYS/platformio.ini +++ /dev/null @@ -1,18 +0,0 @@ -; PlatformIO Project Configuration File -; -; Build options: build flags, source filter -; Upload options: custom upload port, speed and extra flags -; Library options: dependencies, extra library storages -; Advanced options: extra scripting -; -; Please visit documentation for the other options and examples -; https://docs.platformio.org/page/projectconf.html - -[env:uno] -platform = atmelavr -board = uno -framework = arduino -lib_deps = - featherfly/SoftwareSerial @ ^1.0 - robtillaart/RunningMedian @ ^0.3.3 -monitor_speed = 115200 diff --git a/KorMYS/src/main.cpp b/KorMYS/src/main.cpp deleted file mode 100644 index 13c0c37..0000000 --- a/KorMYS/src/main.cpp +++ /dev/null @@ -1,289 +0,0 @@ -#include -#define MY_DEBUG -#define MY_RADIO_RF24 -#define MY_RF24_CHANNEL (105) -#define MY_RF24_PA_LEVEL RF24_PA_MAX -#define MY_REPEATER_FEATURE -#if F_CPU == 8000000L -#define MY_BAUD_RATE 38400 -#endif - -#define MY_TRANSPORT_WAIT_READY_MS 10000 -// Set blinking period -#define MY_DEFAULT_LED_BLINK_PERIOD 300 -// Inverses the behavior of leds -//#define MY_WITH_LEDS_BLINKING_INVERSE -// Flash leds on rx/tx/err -#define MY_DEFAULT_ERR_LED_PIN A3 // Error led pin -#define MY_DEFAULT_TX_LED_PIN A4 // the PCB, on board LED -#define MY_DEFAULT_RX_LED_PIN A5 // Receive led pin - -#include -#include -#include -#include - -unsigned long cRun; -int cSec, adc, move, oldmov, minLight, minLightDB, LightInt, timeDelay, curDelay, fadeTime; -uint8_t sdsPeriod; -bool lamp; -RunningMedian samples = RunningMedian(5 * sizeof(int)); - -//float avgL; -#define RX_PIN 2 -#define TX_PIN 3 -#define LAMP_OUT 5 -#define PIN_MOVE 7 -SoftwareSerial sSerial(RX_PIN, TX_PIN); -SDS011 sds; - -MyMessage msgHum25(0, V_LEVEL); -MyMessage msgHum10(1, V_LEVEL); -MyMessage msgLightLev(2, V_LEVEL); -MyMessage msgLightLevSet(3, V_VAR1); -MyMessage msgMillis(3, V_VAR4); -MyMessage msgMove(4, V_TRIPPED); -MyMessage msgLamp(5, V_VAR1); -void sendData(MyMessage msg, int status); -void sendData(MyMessage msg, float status); -void sendData(MyMessage msg, bool status); -void SDS011workmode(byte mode, SoftwareSerial *ser); - -void setup() -{ - Serial.begin(115200); - sSerial.begin(9600); - //set_per(2, &sSerial); - //SDS011workmode(2, &sSerial); - sds.begin(&sSerial); - Serial.println("Begin"); - //Serial.println(sds.queryFirmwareVersion().toString()); // prints firmware version - //Serial.println(sds.setActiveReportingMode().toString()); // ensures sensor is in 'active' reporting mode - //Serial.println(sds.setCustomWorkingPeriod(3).toString()); // sensor sends data every 3 minutes - //sds.setActiveReportingMode(); - //sds.setCustomWorkingPeriod(1); - pinMode(PIN_MOVE, INPUT_PULLUP); - pinMode(LAMP_OUT, OUTPUT); - //digitalWrite(7, HIGH); - //saveState(6, 2); - minLight = (loadState(0) << 8) + loadState(1); - minLightDB = (loadState(2) << 8) + loadState(3); - LightInt = (loadState(4) << 8) + loadState(5); - sdsPeriod = loadState(6); - timeDelay = (loadState(8) << 8) + loadState(9); - fadeTime = (loadState(10) << 8) + loadState(11); - curDelay = -1; - Serial.print(F("Min Light "));Serial.println(minLight); - Serial.print(F("Min LightDB "));Serial.println(minLightDB); - Serial.print(F("LightInt "));Serial.println(LightInt); - Serial.print(F("SDS Period "));Serial.println(sdsPeriod); - Serial.print(F("Time Delay "));Serial.println(timeDelay); - SDS011workmode(sdsPeriod, &sSerial); -// if(minLight == 0) minLight = 5; - //adc = analogRead(A0); - oldmov = 0; - lamp = false; - cRun = millis(); - cSec = 0; -} - -void presentation() -{ - sendSketchInfo("Koridor", "1.0"); - present(0, S_DUST, "pm2.5"); - present(1, S_DUST, "pm10"); - present(2, S_LIGHT_LEVEL, "minLight"); - present(3, S_CUSTOM, "minLightSet"); - present(4, S_MOTION, "Move"); - present(5, S_CUSTOM, "LampOut"); -} - -void loop() -{ - float p25, p10; - //uint32_t curTime; - - if(digitalRead(PIN_MOVE) > 0){ - if(curDelay == -1) sendData(msgMove, true); - move = true; - curDelay = timeDelay; - } - - // if(move != oldmov){ - // oldmov = move; - // sendData(msgMove, move); - // //send(msgMove.set(move)); - // } - adc = analogRead(A0); - samples.add(adc); - adc = samples.getMedian(); - if ((adc <= minLight) && (move == 1)){ - analogWrite(LAMP_OUT, LightInt); - if(lamp == false){ - Serial.println("Lamp ON"); - Serial.print("ADC: ");Serial.print(adc); - Serial.print(", Move: ");Serial.println(move); - sendData(msgLightLev, adc); - //send(msgLightLev.set(adc, 2)); - wait(50); - sendData(msgLamp, true); - //send(msgLamp.set(true)); - lamp = true; - } - } - else if((adc > (minLight + minLightDB)) || (move == 0)){ - analogWrite(LAMP_OUT, 0); - //curDelay = 2; - if(lamp == true){ - Serial.println("Lamp OFF"); - Serial.print("ADC: ");Serial.print(adc); - Serial.print(", Move: ");Serial.println(move); - sendData(msgLightLev, adc); - //send(msgLightLev.set(adc, 2)); - wait(50); - sendData(msgLamp, false); - //send(msgLamp.set(false)); - lamp = false; - //curTime = millis() + fadeTime * 1000 ; - } - } - if(cRun + 999 < millis()){ - cRun = millis(); - if(curDelay == 0) { - sendData(msgMove, false); - move = false; - curDelay = -1; - } - if(curDelay > 0) curDelay--; - //if(curDelay == 1) curTime = cRun + fadeTime * 1000; - int error = sds.read(&p25, &p10); - if (!error) { - // Serial.println(millis()/1000); - // Serial.println("P2.5: " + String(p25)); - // Serial.println("P10: " + String(p10)); - sendData(msgHum25, p25); - wait(100); - sendData(msgHum10, p10); - } - if (++cSec > 19){ - cSec = 0; - wait(100); - sendData(msgLightLev, adc); - wait(100); - uint32_t ms = millis() /1000; - send(msgMillis.set(ms)); - } - } - /*if(lamp && curTime > millis()){ - uint8_t ll = int(LightInt - LightInt * (1 - curTime - millis() / float(fadeTime * 1000))); - analogWrite(LAMP_OUT, ll); - if(curTime - millis() < 10){ - lamp = false; - analogWrite(LAMP_OUT, 0); - } - }*/ -} - -void receive(const MyMessage &message) -{ - if((message.sensor == 3) && (message.type == V_VAR1)){ - minLight = message.getInt(); - saveState(0, (minLight>>8) & 0xFF); - saveState(1, minLight & 0xFF); - Serial.print("minLight:"); - Serial.println(minLight); - } - if((message.sensor == 3) && (message.type == V_VAR2)){ - minLightDB = message.getInt(); - saveState(2, (minLightDB>>8) & 0xFF); - saveState(3, minLightDB & 0xFF); - Serial.print("LightDB:"); - Serial.println(minLightDB); - } - if((message.sensor == 3) && (message.type == V_VAR3)){ - LightInt = message.getInt(); - saveState(4, (LightInt>>8) & 0xFF); - saveState(5, LightInt & 0xFF); - Serial.print("Light Int:"); - if (lamp == true) analogWrite(6, LightInt); - Serial.println(LightInt); - } - if((message.sensor == 3) && (message.type == V_VAR5)){ - sdsPeriod = message.getInt(); - saveState(6, sdsPeriod); - SDS011workmode(sdsPeriod, &sSerial); - Serial.print("Sds period:"); - Serial.println(sdsPeriod); - } - if((message.sensor == 5) && (message.type == V_VAR2)){ - timeDelay = message.getInt(); - saveState(8, (timeDelay>>8) & 0xFF); - saveState(9, timeDelay & 0xFF); - Serial.print("time period:"); - Serial.println(timeDelay); - } - if((message.sensor == 5) && (message.type == V_VAR3)){ - fadeTime = message.getInt(); - saveState(10, (fadeTime>>8) & 0xFF); - saveState(11, fadeTime & 0xFF); - Serial.print("fade period:"); - Serial.println(fadeTime); - } -} - -////////////////// sends work mode command to SDS011 ////////////////////// -void SDS011workmode(byte mode, SoftwareSerial *ser) -{ - byte cs = 7 + mode; - uint8_t sleep_command[] = {0xAA, 0xB4, 0x08, 0x01, mode, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, cs, 0xAB}; -// ^^ 0 for continuous, 1-30 for 1-30 min delay between turns on. ^^ checksum: 07 for 0x00, 08 for 0x01 and so on - for (uint8_t i = 0; i < 19; i++) { - ser->write(sleep_command[i]); - } -} - -void sendData(MyMessage msg, bool status) -{ - bool send_data = false; - uint8_t count = 0; - while(send_data == false){ - count++; - send_data = send(msg.set(status)); - if(!send_data) - wait(1000, C_SET, msg.type); - if ((count == 3)&&(send_data == 0)){ // Если сделано 3 попытки и нет подтверждения отправки - count = 0; // Обнуляем счётчик - send_data = true; // Выходим из цикла - } - } -} -void sendData(MyMessage msg, float status) -{ - bool send_data = false; - uint8_t count = 0; - while(send_data == false){ - count++; - send_data = send(msg.set(status, 1)); - if(!send_data) - wait(1000, C_SET, msg.type); - if ((count == 3 )&&(send_data == 0)){ // Если сделано 3 попытки и нет подтверждения отправки - count = 0; // Обнуляем счётчик - send_data = 1; // Выходим из цикла - } - } -} -void sendData(MyMessage msg, int status) -{ - bool send_data = false; - uint8_t count = 0; - while(send_data == false){ - count++; - send_data = send(msg.set(status)); - if(!send_data) - wait(1000, C_SET, msg.type); - if ((count == 3 )&&(send_data == 0)){ // Если сделано 3 попытки и нет подтверждения отправки - count = 0; // Обнуляем счётчик - send_data = 1; // Выходим из цикла - } - } -} diff --git a/KorMYS/test/README b/KorMYS/test/README deleted file mode 100644 index e7d1588..0000000 --- a/KorMYS/test/README +++ /dev/null @@ -1,11 +0,0 @@ - -This directory is intended for PlatformIO Unit Testing and project tests. - -Unit Testing is a software testing method by which individual units of -source code, sets of one or more MCU program modules together with associated -control data, usage procedures, and operating procedures, are tested to -determine whether they are fit for use. Unit testing finds problems early -in the development cycle. - -More information about PlatformIO Unit Testing: -- https://docs.platformio.org/page/plus/unit-testing.html diff --git a/LightCtrlMyS/.gitignore b/LightCtrlMyS/.gitignore deleted file mode 100644 index 89cc49c..0000000 --- a/LightCtrlMyS/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -.pio -.vscode/.browse.c_cpp.db* -.vscode/c_cpp_properties.json -.vscode/launch.json -.vscode/ipch diff --git a/LightCtrlMyS/.vscode/extensions.json b/LightCtrlMyS/.vscode/extensions.json deleted file mode 100644 index e80666b..0000000 --- a/LightCtrlMyS/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - // See http://go.microsoft.com/fwlink/?LinkId=827846 - // for the documentation about the extensions.json format - "recommendations": [ - "platformio.platformio-ide" - ] -} diff --git a/LightCtrlMyS/include/README b/LightCtrlMyS/include/README deleted file mode 100644 index 194dcd4..0000000 --- a/LightCtrlMyS/include/README +++ /dev/null @@ -1,39 +0,0 @@ - -This directory is intended for project header files. - -A header file is a file containing C declarations and macro definitions -to be shared between several project source files. You request the use of a -header file in your project source file (C, C++, etc) located in `src` folder -by including it, with the C preprocessing directive `#include'. - -```src/main.c - -#include "header.h" - -int main (void) -{ - ... -} -``` - -Including a header file produces the same results as copying the header file -into each source file that needs it. Such copying would be time-consuming -and error-prone. With a header file, the related declarations appear -in only one place. If they need to be changed, they can be changed in one -place, and programs that include the header file will automatically use the -new version when next recompiled. The header file eliminates the labor of -finding and changing all the copies as well as the risk that a failure to -find one copy will result in inconsistencies within a program. - -In C, the usual convention is to give header files names that end with `.h'. -It is most portable to use only letters, digits, dashes, and underscores in -header file names, and at most one dot. - -Read more about using header files in official GCC documentation: - -* Include Syntax -* Include Operation -* Once-Only Headers -* Computed Includes - -https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html diff --git a/LightCtrlMyS/lib/README b/LightCtrlMyS/lib/README deleted file mode 100644 index 6debab1..0000000 --- a/LightCtrlMyS/lib/README +++ /dev/null @@ -1,46 +0,0 @@ - -This directory is intended for project specific (private) libraries. -PlatformIO will compile them to static libraries and link into executable file. - -The source code of each library should be placed in a an own separate directory -("lib/your_library_name/[here are source files]"). - -For example, see a structure of the following two libraries `Foo` and `Bar`: - -|--lib -| | -| |--Bar -| | |--docs -| | |--examples -| | |--src -| | |- Bar.c -| | |- Bar.h -| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html -| | -| |--Foo -| | |- Foo.c -| | |- Foo.h -| | -| |- README --> THIS FILE -| -|- platformio.ini -|--src - |- main.c - -and a contents of `src/main.c`: -``` -#include -#include - -int main (void) -{ - ... -} - -``` - -PlatformIO Library Dependency Finder will find automatically dependent -libraries scanning project source files. - -More information about PlatformIO Library Dependency Finder -- https://docs.platformio.org/page/librarymanager/ldf.html diff --git a/LightCtrlMyS/platformio.ini b/LightCtrlMyS/platformio.ini deleted file mode 100644 index 469cdfb..0000000 --- a/LightCtrlMyS/platformio.ini +++ /dev/null @@ -1,18 +0,0 @@ -; PlatformIO Project Configuration File -; -; Build options: build flags, source filter -; Upload options: custom upload port, speed and extra flags -; Library options: dependencies, extra library storages -; Advanced options: extra scripting -; -; Please visit documentation for the other options and examples -; https://docs.platformio.org/page/projectconf.html - -[env:pro8MHzatmega328] -platform = atmelavr -board = pro8MHzatmega328 -framework = arduino -monitor_speed = 115200 -lib_deps = - mysensors/MySensors@^2.3.2 - thomasfredericks/Bounce2 @ ^2.55 diff --git a/LightCtrlMyS/src/main.cpp b/LightCtrlMyS/src/main.cpp deleted file mode 100644 index 768bff3..0000000 --- a/LightCtrlMyS/src/main.cpp +++ /dev/null @@ -1,99 +0,0 @@ -#include -#define MY_DEBUG -#define MY_RADIO_RF24 -#define MY_RF24_CHANNEL (105) -#define MY_RF24_PA_LEVEL RF24_PA_MAX - -#define MY_DEFAULT_ERR_LED_PIN (4) // Error led pin -#define MY_DEFAULT_RX_LED_PIN (5) // Receive led pin -#define MY_DEFAULT_TX_LED_PIN (6) // the PCB, on board LED -#define MY_DEFAULT_LED_BLINK_PERIOD 100 -#define BUTT1 2 -#define BUTT2 3 -#define TIME_SLEEP 5 //Minutes - -#include - -int8_t buttWU = MY_WAKE_UP_BY_TIMER; -uint16_t workMins = 0; -uint32_t minRun; - -void presentation(); -void sendDataI(MyMessage msg, uint32_t status); -void sendDataF(MyMessage msg, float status); - -MyMessage msgLamp1(0, V_STATUS); -MyMessage msgLamp2(1, V_STATUS); -MyMessage msgMillis(2, V_VAR1); -MyMessage msgVoltage(2, V_VAR2); - -int BATTERY_SENSE_PIN = A0; - -void setup() { - analogReference(INTERNAL); - pinMode(BUTT1, INPUT_PULLUP); - pinMode(BUTT2, INPUT_PULLUP); - minRun = 0; -} - -void loop() { - int sensorValue = analogRead(BATTERY_SENSE_PIN); - float v = sensorValue * 0.0039561775471698; - if(buttWU == digitalPinToInterrupt(BUTT1)){ - sendDataI(msgLamp1, (uint8_t)1); - sleep(1000); - //wait(100); - //Serial.println(F("Pressed: 1")); - } - if(buttWU == digitalPinToInterrupt(BUTT2)){ - sendDataI(msgLamp2, (uint8_t)1); - sleep(1000); - //wait(100); - //Serial.println(F("Pressed: 2")); - } - if(buttWU == MY_WAKE_UP_BY_TIMER){ - sendDataF(msgVoltage, v); - sendDataI(msgMillis, minRun++ * TIME_SLEEP); - } - buttWU = sleep(digitalPinToInterrupt(BUTT1), FALLING, digitalPinToInterrupt(BUTT2), FALLING, TIME_SLEEP * 60000 - 1000); -} - -void presentation() -{ - sendSketchInfo("LampCtrl", "1.0"); - present(0, S_BINARY, "Lamp1"); - present(1, S_BINARY, "Lamp2"); - present(2, S_CUSTOM, "MillisVoltage"); -} - -void sendDataI(MyMessage msg, uint32_t val) -{ - bool send_data = false; - uint8_t count = 0; - while(send_data == false){ - count++; - send_data = send(msg.set(val), true); - if(!send_data) - wait(500, C_SET, msg.type); - if ((count == 3) && (send_data == 0)){ // Если сделано 3 попытки и нет подтверждения отправки - count = 0; // Обнуляем счётчик - send_data = 1; // Выходим из цикла - } - } -} - -void sendDataF(MyMessage msg, float val) -{ - bool send_data = false; - uint8_t count = 0; - while(send_data == false){ - count++; - send_data = send(msg.set(val, 2), true); - if(!send_data) - wait(500, C_SET, msg.type); - if ((count == 3) && (send_data == 0)){ // Если сделано 3 попытки и нет подтверждения отправки - count = 0; // Обнуляем счётчик - send_data = 1; // Выходим из цикла - } - } -} diff --git a/LightCtrlMyS/test/README b/LightCtrlMyS/test/README deleted file mode 100644 index b94d089..0000000 --- a/LightCtrlMyS/test/README +++ /dev/null @@ -1,11 +0,0 @@ - -This directory is intended for PlatformIO Unit Testing and project tests. - -Unit Testing is a software testing method by which individual units of -source code, sets of one or more MCU program modules together with associated -control data, usage procedures, and operating procedures, are tested to -determine whether they are fit for use. Unit testing finds problems early -in the development cycle. - -More information about PlatformIO Unit Testing: -- https://docs.platformio.org/page/plus/unit-testing.html diff --git a/SerialGateWayMyS/.gitignore b/SerialGateWayMyS/.gitignore deleted file mode 100644 index 89cc49c..0000000 --- a/SerialGateWayMyS/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -.pio -.vscode/.browse.c_cpp.db* -.vscode/c_cpp_properties.json -.vscode/launch.json -.vscode/ipch diff --git a/SerialGateWayMyS/.vscode/extensions.json b/SerialGateWayMyS/.vscode/extensions.json deleted file mode 100644 index 0f0d740..0000000 --- a/SerialGateWayMyS/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - // See http://go.microsoft.com/fwlink/?LinkId=827846 - // for the documentation about the extensions.json format - "recommendations": [ - "platformio.platformio-ide" - ] -} diff --git a/SerialGateWayMyS/.vscode/tasks.json b/SerialGateWayMyS/.vscode/tasks.json deleted file mode 100644 index 0a16bc1..0000000 --- a/SerialGateWayMyS/.vscode/tasks.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "tasks": [ - { - "type": "cppbuild", - "label": "C/C++: avr-gcc.exe build active file", - "command": "C:/Users/lexa-/.platformio/packages/toolchain-atmelavr@1.50400.190710/bin/avr-gcc.exe", - "args": [ - "-g", - "${file}", - "-o", - "${fileDirname}\\${fileBasenameNoExtension}.exe", - "-mmcu=atmega328p" - ], - "options": { - "cwd": "C:/Users/lexa-/.platformio/packages/toolchain-atmelavr@1.50400.190710/bin" - }, - "problemMatcher": [ - "$gcc" - ], - "group": { - "kind": "build", - "isDefault": true - }, - "detail": "Generated task by Debugger" - } - ], - "version": "2.0.0" -} \ No newline at end of file diff --git a/SerialGateWayMyS/include/README b/SerialGateWayMyS/include/README deleted file mode 100644 index 45496b1..0000000 --- a/SerialGateWayMyS/include/README +++ /dev/null @@ -1,39 +0,0 @@ - -This directory is intended for project header files. - -A header file is a file containing C declarations and macro definitions -to be shared between several project source files. You request the use of a -header file in your project source file (C, C++, etc) located in `src` folder -by including it, with the C preprocessing directive `#include'. - -```src/main.c - -#include "header.h" - -int main (void) -{ - ... -} -``` - -Including a header file produces the same results as copying the header file -into each source file that needs it. Such copying would be time-consuming -and error-prone. With a header file, the related declarations appear -in only one place. If they need to be changed, they can be changed in one -place, and programs that include the header file will automatically use the -new version when next recompiled. The header file eliminates the labor of -finding and changing all the copies as well as the risk that a failure to -find one copy will result in inconsistencies within a program. - -In C, the usual convention is to give header files names that end with `.h'. -It is most portable to use only letters, digits, dashes, and underscores in -header file names, and at most one dot. - -Read more about using header files in official GCC documentation: - -* Include Syntax -* Include Operation -* Once-Only Headers -* Computed Includes - -https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html diff --git a/SerialGateWayMyS/lib/README b/SerialGateWayMyS/lib/README deleted file mode 100644 index 8c9c29c..0000000 --- a/SerialGateWayMyS/lib/README +++ /dev/null @@ -1,46 +0,0 @@ - -This directory is intended for project specific (private) libraries. -PlatformIO will compile them to static libraries and link into executable file. - -The source code of each library should be placed in a an own separate directory -("lib/your_library_name/[here are source files]"). - -For example, see a structure of the following two libraries `Foo` and `Bar`: - -|--lib -| | -| |--Bar -| | |--docs -| | |--examples -| | |--src -| | |- Bar.c -| | |- Bar.h -| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html -| | -| |--Foo -| | |- Foo.c -| | |- Foo.h -| | -| |- README --> THIS FILE -| -|- platformio.ini -|--src - |- main.c - -and a contents of `src/main.c`: -``` -#include -#include - -int main (void) -{ - ... -} - -``` - -PlatformIO Library Dependency Finder will find automatically dependent -libraries scanning project source files. - -More information about PlatformIO Library Dependency Finder -- https://docs.platformio.org/page/librarymanager/ldf.html diff --git a/SerialGateWayMyS/platformio.ini b/SerialGateWayMyS/platformio.ini deleted file mode 100644 index e2becce..0000000 --- a/SerialGateWayMyS/platformio.ini +++ /dev/null @@ -1,17 +0,0 @@ -; PlatformIO Project Configuration File -; -; Build options: build flags, source filter -; Upload options: custom upload port, speed and extra flags -; Library options: dependencies, extra library storages -; Advanced options: extra scripting -; -; Please visit documentation for the other options and examples -; https://docs.platformio.org/page/projectconf.html - -[env:nanoatmega328] -platform = atmelavr -board = nanoatmega328 -;board = uno -framework = arduino -monitor_speed = 115200 -lib_deps = featherfly/SoftwareSerial @ ^1.0 diff --git a/SerialGateWayMyS/src/main.cpp b/SerialGateWayMyS/src/main.cpp deleted file mode 100644 index 1a78f74..0000000 --- a/SerialGateWayMyS/src/main.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include - -#define MY_DEBUG -//#define MY_DEBUG_VERBOSE_RF24 -#define MY_RADIO_RF24 -#define MY_RF24_PA_LEVEL RF24_PA_MAX -#define MY_GATEWAY_SERIAL -#define MY_RF24_CHANNEL (105) -#define MY_RX_MESSAGE_BUFFER_FEATURE -#define MY_RF24_IRQ_PIN (3) -// Define a lower baud rate for Arduinos running on 8 MHz (Arduino Pro Mini 3.3V & SenseBender) -#if F_CPU == 8000000L -#define MY_BAUD_RATE 38400 -#endif -// Set blinking period -#define MY_DEFAULT_LED_BLINK_PERIOD 300 -// Inverses the behavior of leds -//#define MY_WITH_LEDS_BLINKING_INVERSE -// Flash leds on rx/tx/err -#define MY_DEFAULT_ERR_LED_PIN 6 // Error led pin -#define MY_DEFAULT_RX_LED_PIN 4 // Receive led pin -#define MY_DEFAULT_TX_LED_PIN 5 // the PCB, on board LED - -#include - -unsigned long cRun; -int cSec; - -void setup() -{ - Serial.println("Begin"); -} - -void loop() -{ -} diff --git a/SerialGateWayMyS/test/README b/SerialGateWayMyS/test/README deleted file mode 100644 index e7d1588..0000000 --- a/SerialGateWayMyS/test/README +++ /dev/null @@ -1,11 +0,0 @@ - -This directory is intended for PlatformIO Unit Testing and project tests. - -Unit Testing is a software testing method by which individual units of -source code, sets of one or more MCU program modules together with associated -control data, usage procedures, and operating procedures, are tested to -determine whether they are fit for use. Unit testing finds problems early -in the development cycle. - -More information about PlatformIO Unit Testing: -- https://docs.platformio.org/page/plus/unit-testing.html