From 33ee1282e50d039465c84a1cf74a814bae92b999 Mon Sep 17 00:00:00 2001 From: Karol Hennessy <revkarol@gmail.com> Date: Tue, 31 Mar 2020 01:06:29 +0200 Subject: [PATCH] adding platformio --- .gitignore | 1 + ansible/playbooks/lists.yml | 1 + ansible/playbooks/platform-io.sh | 6 ++ arduino/Multiloop_skeleton_pio/platformio.ini | 25 ++++++ .../src/Multiloop_skeleton.ino | 78 +++++++++++++++++++ arduino/breathing_loop_only/.gitignore | 5 ++ arduino/breathing_loop_only/platformio.ini | 14 ++++ arduino/breathing_loop_only/src/main.cpp | 36 +++++++++ 8 files changed, 166 insertions(+) create mode 100644 .gitignore create mode 100644 ansible/playbooks/platform-io.sh create mode 100644 arduino/Multiloop_skeleton_pio/platformio.ini create mode 100644 arduino/Multiloop_skeleton_pio/src/Multiloop_skeleton.ino create mode 100644 arduino/breathing_loop_only/.gitignore create mode 100644 arduino/breathing_loop_only/platformio.ini create mode 100644 arduino/breathing_loop_only/src/main.cpp diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..b25c15b8 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/ansible/playbooks/lists.yml b/ansible/playbooks/lists.yml index fa4618e0..67311538 100644 --- a/ansible/playbooks/lists.yml +++ b/ansible/playbooks/lists.yml @@ -3,5 +3,6 @@ rpi-swlist: - cowsay - openssh-server - minicom + - python3-serial diff --git a/ansible/playbooks/platform-io.sh b/ansible/playbooks/platform-io.sh new file mode 100644 index 00000000..d319f533 --- /dev/null +++ b/ansible/playbooks/platform-io.sh @@ -0,0 +1,6 @@ +python3 -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/develop/scripts/get-platformio.py)" + +# add to path /home/karol/.platformio/penv/bin + +pio lib install VariableTimedAction +pio run -e uno -t upload diff --git a/arduino/Multiloop_skeleton_pio/platformio.ini b/arduino/Multiloop_skeleton_pio/platformio.ini new file mode 100644 index 00000000..7568b6b5 --- /dev/null +++ b/arduino/Multiloop_skeleton_pio/platformio.ini @@ -0,0 +1,25 @@ + +[env:uno] +platform = atmelavr +framework = arduino +board = uno + +[env:mkrwifi1010] +platform = atmelsam +framework = arduino +board = mkrwifi1010 + +[env:mkrvidor4000] +platform = atmelsam +framework = arduino +board = mkrvidor4000 + +[env:featheresp32] +platform = espressif32 +framework = arduino +board = featheresp32 + +[env:nodemcu-32s] +platform = espressif32 +framework = arduino +board = nodemcu-32s diff --git a/arduino/Multiloop_skeleton_pio/src/Multiloop_skeleton.ino b/arduino/Multiloop_skeleton_pio/src/Multiloop_skeleton.ino new file mode 100644 index 00000000..a35505a9 --- /dev/null +++ b/arduino/Multiloop_skeleton_pio/src/Multiloop_skeleton.ino @@ -0,0 +1,78 @@ +// Multi-loops skeleton +// Description: Shows 3 loops operating in "parallel" reading/writing a global variable +// Karol Hennessy +// 2020-03-29 + +#include <VariableTimedAction.h> + +// global variables +static int globalcnt = 0; + + + +class SafetyAlarmLoop : public VariableTimedAction +{ + private: + int cnt = 0; + unsigned long run() + { + cnt++; + Serial.println("SA "+ String(globalcnt)); + return 0; + } + public: + int getCnt() + { + return cnt; + } +} safetyalarmloop ; + +class BreathingLoop : public VariableTimedAction +{ + private: + int cnt = 0; + unsigned long run() + { + cnt++; + Serial.println("BR "+ String(cnt)); + return 0; + } + public: + int getCnt() + { + return cnt; + } + +} breathingloop; + +class UILoop : public VariableTimedAction +{ + private: + //int cnt = 0; + unsigned long run() + { + globalcnt++; + Serial.println("UI "+ String(globalcnt)); + return 0; + } + public: + /* int getCnt() + { + return cnt; + }*/ + +} uiloop; + + +void setup() { + Serial.begin(9600); + // note - order is not guaranteed if they all run on the same "cycle" + safetyalarmloop.start(1000); + //breathingloop.start(500); + uiloop.start(1000); +} + +void loop() { + // put your main code here, to run repeatedly: + VariableTimedAction::updateActions(); +} diff --git a/arduino/breathing_loop_only/.gitignore b/arduino/breathing_loop_only/.gitignore new file mode 100644 index 00000000..89cc49cb --- /dev/null +++ b/arduino/breathing_loop_only/.gitignore @@ -0,0 +1,5 @@ +.pio +.vscode/.browse.c_cpp.db* +.vscode/c_cpp_properties.json +.vscode/launch.json +.vscode/ipch diff --git a/arduino/breathing_loop_only/platformio.ini b/arduino/breathing_loop_only/platformio.ini new file mode 100644 index 00000000..ea23b772 --- /dev/null +++ b/arduino/breathing_loop_only/platformio.ini @@ -0,0 +1,14 @@ +; 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 diff --git a/arduino/breathing_loop_only/src/main.cpp b/arduino/breathing_loop_only/src/main.cpp new file mode 100644 index 00000000..2cbcf393 --- /dev/null +++ b/arduino/breathing_loop_only/src/main.cpp @@ -0,0 +1,36 @@ +#include <Arduino.h> + +// arduino uno + // pwm pins +const int pin_valve_in = 11; +const int pin_valve_out = 6; +const int pin_valve_scavenge = 5; + + // adcs +const int pin_p_supply = A0; +const int pin_p_regulated = A1; +const int pin_p_buffer = A2; +const int pin_p_inhale = A3; +const int pin_p_exhale = A4; + + // leds +const int pin_led_0 = 0; +const int pin_led_1 = 0; +const int pin_led_2 = 0; + + // buzzer +const int pin_buzzer = 9; + + +void setup() { + Serial.begin(9600); +} + +void loop() { + // put your main code here, to run repeatedly: + Serial.println("Breathing Only"); + delay(5000); + + // buzzer + // tone(pin, freq (Hz), duration); +} \ No newline at end of file -- GitLab