From 333e9ae3a0e5b9a03ca5acc092c908443fc5638a Mon Sep 17 00:00:00 2001 From: DressOrc Date: Tue, 1 Apr 2025 09:07:03 +0000 Subject: [PATCH] Upload files to "/" --- CMakeLists.txt | 18 ++++++++++++++++++ Pump.cpp | 20 ++++++++++++++++++++ Pump.h | 16 ++++++++++++++++ Sensor.cpp | 6 ++++++ main.cpp | 17 +++++++++++++++++ 5 files changed, 77 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 Pump.cpp create mode 100644 Pump.h create mode 100644 Sensor.cpp create mode 100644 main.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..66cea5c --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,18 @@ +cmake_minimum_required(VERSION 3.13) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + +set(ENV{PICO_SDK_PATH} /home/rosia/Programming/Pico/pico-sdk) +include_directories($ENV{PICO_SDK_PATH}) +include($ENV{PICO_SDK_PATH}/external/pico_sdk_import.cmake) + +project(plantSystem) +set(CMAKE_C_STANDARD 11) +set(CMAKE_CXX_STANDARD 11) + +pico_sdk_init() + +add_executable(plantSystem main.cpp Pump.cpp) + +target_link_libraries(plantSystem pico_stdlib) + +pico_add_extra_outputs(plantSystem) diff --git a/Pump.cpp b/Pump.cpp new file mode 100644 index 0000000..893867d --- /dev/null +++ b/Pump.cpp @@ -0,0 +1,20 @@ +#include "Pump.h" + +Pump::Pump() +{ + // set up pins + gpio_init(pin); + gpio_set_dir(pin, GPIO_OUT); +} + +void Pump::pumpMilliliters(int milliliters) +{ + gpio_put(pin, true); + sleep_ms(calculateTimeToPushMilliliters(milliliters)*1000); + gpio_put(pin, false); +} + +int Pump::calculateTimeToPushMilliliters(int milliliters) +{ + return milliliters/millilitersPerSecond; +} diff --git a/Pump.h b/Pump.h new file mode 100644 index 0000000..50760ba --- /dev/null +++ b/Pump.h @@ -0,0 +1,16 @@ +#include "pico/stdlib.h" + +class Pump +{ +private: + uint pin = 0; + + int millilitersPerSecond = 30; + + int calculateTimeToPushMilliliters(int milliliters); + +public: + Pump(); + + void pumpMilliliters(int milliliters); +}; diff --git a/Sensor.cpp b/Sensor.cpp new file mode 100644 index 0000000..5aae335 --- /dev/null +++ b/Sensor.cpp @@ -0,0 +1,6 @@ +#include "Sensor.h" + +float Sensor::readSensor() +{ + return 0; // TODO implement this +} diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..a700406 --- /dev/null +++ b/main.cpp @@ -0,0 +1,17 @@ +#include "pico/stdlib.h" + +#include "Pump.h" + +int main() +{ + Pump* pump = new Pump(); + + while(true) + { + sleep_ms(20000); + pump->pumpMilliliters(100); + } + + return 0; +} +float readSensor();