commit eac1fa7808d95696c8600f9cd01a8def50b220b7 Author: leo Date: Mon Nov 21 20:55:57 2022 +0100 interface diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..31a8d65 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "projet-tuteure-3a"] + path = projet-tuteure-3a + url = https://gitlab.univ-nantes.fr/E208835U/projet-tuteure-3a diff --git a/Arduino.h b/Arduino.h new file mode 100644 index 0000000..e69de29 diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..406c318 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.24) + +project(smogogus) + +add_definitions("-x c++") +include_directories(${PROJECT_SOURCE_DIR}) +set_source_files_properties(projet-tuteure-3a/photores.ino PROPERTIES LANGUAGE CXX) +add_executable(app projet-tuteure-3a/motorController.cpp projet-tuteure-3a/photores.ino main.cpp) +add_definitions(-include ../adapter_ard.h) diff --git a/adapter_ard.h b/adapter_ard.h new file mode 100644 index 0000000..b93396f --- /dev/null +++ b/adapter_ard.h @@ -0,0 +1,32 @@ +#ifndef ADAPT_ARD_H +#define ADAPT_ARD_H +#include + +void loop(); +void setup(); +long millis(); +int abs(int in); +void pinMode(int pin, int mode); +int analogRead(int pin); +void digitalWrite(int pin, int level); +void analogWrite(int pin, int dc); + +class serial_c{ + public: + void begin(int br); + void println(std::string txt); + void print(std::string txt); + void println(int nb); + void print(int nb); +}; + +extern serial_c Serial; + + +#define A0 0 +#define A1 1 +#define INPUT 1 +#define OUTPUT 2 +#define LOW 0 +#define HIGH 1 +#endif \ No newline at end of file diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..b1adde9 --- /dev/null +++ b/main.cpp @@ -0,0 +1,69 @@ +#include "adapter_ard.h" + +#include +#include +#include +#include +#include + +serial_c Serial; + +int main(int argc, char** argv){ + setup(); + while(1){ + loop(); + printf("millis %ld\n", millis()); + } +} + +long millis(){ + clock_t clk_t; + clk_t = clock(); + long milli=clk_t * 1000 / CLOCKS_PER_SEC; + return milli; +} + +int abs(int in){ + return abs(in); +} + +void pinMode(int pin, int mode){ + printf("set pin %d in mode %d\n", pin, mode); + printf("$pm,%d,%d",pin, mode); +} + +int analogRead(int pin){ + return 69; +} + +void digitalWrite(int pin, int level){ + printf("set pin %d at level %d\n", pin, level); + printf("$dw,%d,%d", pin, level); +} + +void analogWrite(int pin, int dc){ + printf("set pin %d at duty cycle %d\n", pin, dc); + printf("$aw,%d,%d", pin, dc); +} + +void serial_c::begin(int br){ + printf("started serial at %d bps\n", br); +} + +void serial_c::print(std::string txt){ + std::cout << "serial : " << txt; +} + +void serial_c::println(std::string txt){ + this->print(txt); + std::cout << std::endl; +} + +void serial_c::print(int nb){ + printf("serial : %d", nb); +} + +void serial_c::println(int nb){ + this->print(nb); + printf("\n"); +} \ No newline at end of file diff --git a/projet-tuteure-3a b/projet-tuteure-3a new file mode 160000 index 0000000..89795a1 --- /dev/null +++ b/projet-tuteure-3a @@ -0,0 +1 @@ +Subproject commit 89795a10e037c8b55f6e85b2b3e068e8b86a026f