diff --git a/.gitignore b/.gitignore index 97bc618..73da14a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .pio -.vscode/ \ No newline at end of file + +.vscode \ No newline at end of file diff --git a/Firmware 1.0/.gitignore b/Firmware 1.0/.gitignore deleted file mode 100644 index 89cc49c..0000000 --- a/Firmware 1.0/.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/Firmware 1.0/.vscode/extensions.json b/Firmware 1.0/.vscode/extensions.json deleted file mode 100644 index e80666b..0000000 --- a/Firmware 1.0/.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/Firmware 1.0/.vscode/settings.json b/Firmware 1.0/.vscode/settings.json deleted file mode 100644 index 0db5873..0000000 --- a/Firmware 1.0/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "cmake.configureOnOpen": true -} \ No newline at end of file diff --git a/Firmware 1.0/platformio.ini b/Firmware 1.0/platformio.ini deleted file mode 100644 index d32cd90..0000000 --- a/Firmware 1.0/platformio.ini +++ /dev/null @@ -1,15 +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:leonardo] -platform = atmelavr -board = leonardo -framework = arduino -lib_deps = arduino-libraries/Servo @ ^1.1.8 diff --git a/Firmware 1.0/src/main.cpp b/Firmware 1.0/src/main.cpp deleted file mode 100644 index e679a82..0000000 --- a/Firmware 1.0/src/main.cpp +++ /dev/null @@ -1,118 +0,0 @@ -#include -#include - -#define Debug true /*----------------------------------Ausschalten Wichtig! (Nur für testzwecke)---------------------------------------*/ - -#define servoDrehungPin 9 -#define servoArmPin 10 -#define servoOberarmPin 11 -#define servoHandPin 12 - -#define poti1Pin 2 -#define poti2Pin 1 -#define poti3Pin 0 -#define poti4Pin 3 - -#define DrehungMax 145 -#define DrehungMin 0 - -#define ArmMax 180 -#define ArmMin 0 - -#define OberarmMax 180 -#define OberarmMin 0 - -#define HandMax 140 -#define HandMin 45 - -#define loopTime 25 -#define PotiFehlerBereich 2 -#define AusschaltDelay 40 -#define timeToAutoplay 500 - -Servo servoDrehung, servoArm, servoOberarm, servoHand; - -int Poti1, Poti2, Poti3, Poti4; -int servoDrehungPos, servoArmPos, servoOberarmPos, servoHandPos; -int servoDrehungPosOLD = 0, servoArmPosOLD = 0, servoOberarmPosOLD = 0, servoHandPosOLD = 0; -int offtime = 0; - -bool disabled = false; - -void autoplay(){ - //code für forstellung hier... -} - -void setup() -{ - servoDrehung.attach(servoDrehungPin); - servoArm.attach(servoArmPin); - servoOberarm.attach(servoOberarmPin); - servoHand.attach(servoHandPin); - - if(Debug)Serial.begin(9600); -} - -void loop() -{ - Poti1 = analogRead(poti1Pin); - Poti2 = analogRead(poti2Pin); - Poti3 = analogRead(poti3Pin); - Poti4 = analogRead(poti4Pin); - - servoDrehungPos = map(Poti1, 0, 1023, DrehungMin, DrehungMax); - servoArmPos = map(Poti2, 1023, 0, ArmMin, ArmMax); - servoOberarmPos = map(Poti3, 0, 1023, OberarmMin, OberarmMax); - servoHandPos = map(Poti4, 0, 1023, HandMin, HandMax); - - if (servoDrehungPos <= servoDrehungPosOLD + PotiFehlerBereich && servoDrehungPos >= servoDrehungPosOLD - PotiFehlerBereich && servoArmPos <= servoArmPosOLD + PotiFehlerBereich && servoArmPos >= servoArmPosOLD - PotiFehlerBereich && servoOberarmPos <= servoOberarmPosOLD + PotiFehlerBereich && servoOberarmPos >= servoOberarmPosOLD - PotiFehlerBereich && servoHandPos <= servoHandPosOLD + PotiFehlerBereich && servoHandPos >= servoHandPosOLD - PotiFehlerBereich) - { - if (timeToAutoplay > offtime) - offtime++; - - } - else - { - offtime = 0; - - servoDrehungPosOLD = servoDrehungPos; - servoArmPosOLD = servoArmPos; - servoOberarmPosOLD = servoOberarmPos; - servoHandPosOLD = servoHandPos; - } - - if (offtime >= AusschaltDelay) - { - if(offtime >= timeToAutoplay) - autoplay(); - else{ - servoDrehung.detach(); - servoArm.detach(); - servoOberarm.detach(); - servoHand.detach(); - - disabled = true; - } - } - else - { - if (disabled) - { - servoDrehung.attach(servoDrehungPin); - servoArm.attach(servoArmPin); - servoOberarm.attach(servoOberarmPin); - servoHand.attach(servoHandPin); - - disabled = false; - } - - servoDrehung.write(servoDrehungPos); - servoArm.write(servoArmPos); - servoOberarm.write(servoOberarmPos); - servoHand.write(servoHandPos); - } - - if(Debug)Serial.println(String(offtime) + "," + String(servoDrehungPos) + "," + String(servoArmPos) + "," + String(servoOberarmPos) + "," + String(servoHandPos)); - - delay(loopTime); -} \ No newline at end of file diff --git a/Firmware 2.0/.gitignore b/Firmware 2.0/.gitignore deleted file mode 100644 index 73da14a..0000000 --- a/Firmware 2.0/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.pio - -.vscode \ No newline at end of file diff --git a/Firmware 2.0/SerialPort.ini b/Firmware 2.0/SerialPort.ini deleted file mode 100644 index 2d98a62..0000000 --- a/Firmware 2.0/SerialPort.ini +++ /dev/null @@ -1,117 +0,0 @@ -[MainWindow] -size=@Size(1920 1009) -pos=@Point(-1 -8) -activePanel=Plot -hidePanels=false -maximized=true -state=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\0\0\0\a\x80\0\0\x3\xa6\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\x2\0\0\0\x3\0\0\0\f\0t\0\x62\0P\0l\0o\0t\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1a\0t\0\x62\0P\0o\0r\0t\0\x43\0o\0n\0t\0r\0o\0l\x1\0\0\0i\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x10\0t\0\x62\0R\0\x65\0\x63\0o\0r\0\x64\x1\0\0\x1\x8f\xff\xff\xff\xff\0\0\0\0\0\0\0\0) - -[Port] -selectedPort=COM7 -baudRate=9600 -parity=none -dataBits=8 -stopBits=1 -flowControl=none - -[DataFormat] -format=ascii - -[DataFormat_Binary] -numOfChannels=4 -numberFormat=uint8 -endianness=little - -[DataFormat_ASCII] -numOfChannels=auto -delimiter="," -customDelimiter=| -filterMode=disabled -filterPrefix= - -[DataFormat_CustomFrame] -numOfChannels=1 -numberFormat=uint8 -endianness=little -frameStart=AA BB -fixedSize=false -frameSize=1 -checksum=false -debugMode=false - -[Channels] -channel\1\name=Time -channel\1\color=@Variant(\0\0\0\x43\x1\xff\xffUU\0\0\xff\xff\0\0) -channel\1\visible=true -channel\1\gain=1 -channel\1\gainEnabled=false -channel\1\offset=0 -channel\1\offsetEnabled=false -channel\2\name=Drehung -channel\2\color=@Variant(\0\0\0\x43\x1\xff\xff\0\0\xff\xff\0\0\0\0) -channel\2\visible=true -channel\2\gain=1 -channel\2\gainEnabled=false -channel\2\offset=0 -channel\2\offsetEnabled=false -channel\3\name=Arm -channel\3\color=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xff\xff\0\0\0\0) -channel\3\visible=true -channel\3\gain=1 -channel\3\gainEnabled=false -channel\3\offset=0 -channel\3\offsetEnabled=false -channel\4\name=Oberarm -channel\4\color=@Variant(\0\0\0\x43\x1\xff\xff\xfe\xfe\x89\x89\0\0\0\0) -channel\4\visible=true -channel\4\gain=1 -channel\4\gainEnabled=false -channel\4\offset=0 -channel\4\offsetEnabled=false -channel\5\name=Hand -channel\5\color=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\0\0\0\0\0\0) -channel\5\visible=true -channel\5\gain=1 -channel\5\gainEnabled=false -channel\5\offset=0 -channel\5\offsetEnabled=false -channel\size=5 - -[Plot] -numOfSamples=1000 -plotWidth=1000 -indexAsX=true -xMax=1000 -xMin=0 -autoScale=true -yMax=1000 -yMin=0 -darkBackground=false -grid=false -minorGrid=false -legend=true -multiPlot=false -symbols=auto -numLines=1000 -decimals=6 - -[Commands] -command\1\name=Command 1 -command\1\type=ascii -command\1\data= -command\size=1 - -[Record] -autoIncrement=true -recordPaused=true -stopOnClose=true -header=true -disableBuffering=false -separator="," -decimals=6 -timestamp=false -timestampFormat=seconds - -[UpdateCheck] -periodicCheck=true -lastCheck=2022-01-07 diff --git a/Firmware 2.0/include/README b/Firmware 2.0/include/README deleted file mode 100644 index 194dcd4..0000000 --- a/Firmware 2.0/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/Firmware 2.0/include/sensorapi/sensorapi.pde b/Firmware 2.0/include/sensorapi/sensorapi.pde deleted file mode 100644 index 46b7b51..0000000 --- a/Firmware 2.0/include/sensorapi/sensorapi.pde +++ /dev/null @@ -1,132 +0,0 @@ -#include -#include -#include - -/* This driver uses the Adafruit unified sensor library (Adafruit_Sensor), - which provides a common 'type' for sensor data and some helper functions. - - To use this driver you will also need to download the Adafruit_Sensor - library and include it in your libraries folder. - - You should also assign a unique ID to this sensor for use with - the Adafruit Sensor API so that you can identify this particular - sensor in any data logs, etc. To assign a unique ID, simply - provide an appropriate value in the constructor below (12345 - is used by default in this example). - - Connections - =========== - Connect SCL to analog 5 - Connect SDA to analog 4 - Connect VDD to 3.3V DC - Connect GROUND to common ground - - History - ======= - 2013/JUN/17 - Updated altitude calculations (KTOWN) - 2013/FEB/13 - First version (KTOWN) -*/ - -Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085); - -/**************************************************************************/ -/* - Displays some basic information on this sensor from the unified - sensor API sensor_t type (see Adafruit_Sensor for more information) -*/ -/**************************************************************************/ -void displaySensorDetails(void) -{ - sensor_t sensor; - bmp.getSensor(&sensor); - Serial.println("------------------------------------"); - Serial.print ("Sensor: "); Serial.println(sensor.name); - Serial.print ("Driver Ver: "); Serial.println(sensor.version); - Serial.print ("Unique ID: "); Serial.println(sensor.sensor_id); - Serial.print ("Max Value: "); Serial.print(sensor.max_value); Serial.println(" hPa"); - Serial.print ("Min Value: "); Serial.print(sensor.min_value); Serial.println(" hPa"); - Serial.print ("Resolution: "); Serial.print(sensor.resolution); Serial.println(" hPa"); - Serial.println("------------------------------------"); - Serial.println(""); - delay(500); -} - -/**************************************************************************/ -/* - Arduino setup function (automatically called at startup) -*/ -/**************************************************************************/ -void setup(void) -{ - Serial.begin(9600); - Serial.println("Pressure Sensor Test"); Serial.println(""); - - /* Initialise the sensor */ - if(!bmp.begin()) - { - /* There was a problem detecting the BMP085 ... check your connections */ - Serial.print("Ooops, no BMP085 detected ... Check your wiring or I2C ADDR!"); - while(1); - } - - /* Display some basic information on this sensor */ - displaySensorDetails(); -} - -/**************************************************************************/ -/* - Arduino loop function, called once 'setup' is complete (your own code - should go here) -*/ -/**************************************************************************/ -void loop(void) -{ - /* Get a new sensor event */ - sensors_event_t event; - bmp.getEvent(&event); - - /* Display the results (barometric pressure is measure in hPa) */ - if (event.pressure) - { - /* Display atmospheric pressue in hPa */ - Serial.print("Pressure: "); - Serial.print(event.pressure); - Serial.println(" hPa"); - - /* Calculating altitude with reasonable accuracy requires pressure * - * sea level pressure for your position at the moment the data is * - * converted, as well as the ambient temperature in degress * - * celcius. If you don't have these values, a 'generic' value of * - * 1013.25 hPa can be used (defined as SENSORS_PRESSURE_SEALEVELHPA * - * in sensors.h), but this isn't ideal and will give variable * - * results from one day to the next. * - * * - * You can usually find the current SLP value by looking at weather * - * websites or from environmental information centers near any major * - * airport. * - * * - * For example, for Paris, France you can check the current mean * - * pressure and sea level at: http://bit.ly/16Au8ol */ - - /* First we get the current temperature from the BMP085 */ - float temperature; - bmp.getTemperature(&temperature); - Serial.print("Temperature: "); - Serial.print(temperature); - Serial.println(" C"); - - /* Then convert the atmospheric pressure, and SLP to altitude */ - /* Update this next line with the current SLP for better results */ - float seaLevelPressure = SENSORS_PRESSURE_SEALEVELHPA; - Serial.print("Altitude: "); - Serial.print(bmp.pressureToAltitude(seaLevelPressure, - event.pressure)); - Serial.println(" m"); - Serial.println(""); - } - else - { - Serial.println("Sensor error"); - } - delay(1000); -} diff --git a/Firmware 2.0/lib/README b/Firmware 2.0/lib/README deleted file mode 100644 index 6debab1..0000000 --- a/Firmware 2.0/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/Firmware 2.0/lib/examples/i2c_address_detect/i2c_address_detect.ino b/Firmware 2.0/lib/examples/i2c_address_detect/i2c_address_detect.ino deleted file mode 100644 index b150525..0000000 --- a/Firmware 2.0/lib/examples/i2c_address_detect/i2c_address_detect.ino +++ /dev/null @@ -1,21 +0,0 @@ -#include - -Adafruit_I2CDevice i2c_dev = Adafruit_I2CDevice(0x10); - -void setup() { - while (!Serial) { delay(10); } - Serial.begin(115200); - Serial.println("I2C address detection test"); - - if (!i2c_dev.begin()) { - Serial.print("Did not find device at 0x"); - Serial.println(i2c_dev.address(), HEX); - while (1); - } - Serial.print("Device found on address 0x"); - Serial.println(i2c_dev.address(), HEX); -} - -void loop() { - -} diff --git a/Firmware 2.0/lib/examples/spi_modetest/spi_modetest.ino b/Firmware 2.0/lib/examples/spi_modetest/spi_modetest.ino deleted file mode 100644 index 10168c5..0000000 --- a/Firmware 2.0/lib/examples/spi_modetest/spi_modetest.ino +++ /dev/null @@ -1,29 +0,0 @@ -#include - -#define SPIDEVICE_CS 10 -Adafruit_SPIDevice spi_dev = Adafruit_SPIDevice(SPIDEVICE_CS, 100000, SPI_BITORDER_MSBFIRST, SPI_MODE1); -//Adafruit_SPIDevice spi_dev = Adafruit_SPIDevice(SPIDEVICE_CS, 13, 12, 11, 100000, SPI_BITORDER_MSBFIRST, SPI_MODE1); - - -void setup() { - while (!Serial) { delay(10); } - Serial.begin(115200); - Serial.println("SPI device mode test"); - - if (!spi_dev.begin()) { - Serial.println("Could not initialize SPI device"); - while (1); - } -} - -void loop() { - Serial.println("\n\nTransfer test"); - for (uint16_t x=0; x<=0xFF; x++) { - uint8_t i = x; - Serial.print("0x"); Serial.print(i, HEX); - spi_dev.read(&i, 1, i); - Serial.print("/"); Serial.print(i, HEX); - Serial.print(", "); - delay(25); - } -} \ No newline at end of file diff --git a/Firmware 2.0/lib/examples/spi_registers/spi_registers.ino b/Firmware 2.0/lib/examples/spi_registers/spi_registers.ino deleted file mode 100644 index e24f1aa..0000000 --- a/Firmware 2.0/lib/examples/spi_registers/spi_registers.ino +++ /dev/null @@ -1,34 +0,0 @@ -#include -#include - -#define SPIDEVICE_CS 10 -Adafruit_SPIDevice spi_dev = Adafruit_SPIDevice(SPIDEVICE_CS); - -void setup() { - while (!Serial) { delay(10); } - Serial.begin(115200); - Serial.println("SPI device register test"); - - if (!spi_dev.begin()) { - Serial.println("Could not initialize SPI device"); - while (1); - } - - Adafruit_BusIO_Register id_reg = Adafruit_BusIO_Register(&spi_dev, 0x0F, ADDRBIT8_HIGH_TOREAD); - uint8_t id; - id_reg.read(&id); - Serial.print("ID register = 0x"); Serial.println(id, HEX); - - Adafruit_BusIO_Register thresh_reg = Adafruit_BusIO_Register(&spi_dev, 0x0C, ADDRBIT8_HIGH_TOREAD, 2, LSBFIRST); - uint16_t thresh; - thresh_reg.read(&thresh); - Serial.print("Initial threshold register = 0x"); Serial.println(thresh, HEX); - - thresh_reg.write(~thresh); - - Serial.print("Post threshold register = 0x"); Serial.println(thresh_reg.read(), HEX); -} - -void loop() { - -} \ No newline at end of file diff --git a/Firmware 2.0/test/README b/Firmware 2.0/test/README deleted file mode 100644 index b94d089..0000000 --- a/Firmware 2.0/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/Firmware 1.0/SerialPort.ini b/SerialPort.ini similarity index 100% rename from Firmware 1.0/SerialPort.ini rename to SerialPort.ini diff --git a/Firmware 1.0/include/README b/include/README similarity index 100% rename from Firmware 1.0/include/README rename to include/README diff --git a/Firmware 1.0/include/sensorapi/sensorapi.pde b/include/sensorapi/sensorapi.pde similarity index 100% rename from Firmware 1.0/include/sensorapi/sensorapi.pde rename to include/sensorapi/sensorapi.pde diff --git a/Firmware 1.0/lib/README b/lib/README similarity index 100% rename from Firmware 1.0/lib/README rename to lib/README diff --git a/Firmware 1.0/lib/examples/i2c_address_detect/i2c_address_detect.ino b/lib/examples/i2c_address_detect/i2c_address_detect.ino similarity index 100% rename from Firmware 1.0/lib/examples/i2c_address_detect/i2c_address_detect.ino rename to lib/examples/i2c_address_detect/i2c_address_detect.ino diff --git a/Firmware 1.0/lib/examples/spi_modetest/spi_modetest.ino b/lib/examples/spi_modetest/spi_modetest.ino similarity index 100% rename from Firmware 1.0/lib/examples/spi_modetest/spi_modetest.ino rename to lib/examples/spi_modetest/spi_modetest.ino diff --git a/Firmware 1.0/lib/examples/spi_registers/spi_registers.ino b/lib/examples/spi_registers/spi_registers.ino similarity index 100% rename from Firmware 1.0/lib/examples/spi_registers/spi_registers.ino rename to lib/examples/spi_registers/spi_registers.ino diff --git a/Firmware 2.0/platformio.ini b/platformio.ini similarity index 100% rename from Firmware 2.0/platformio.ini rename to platformio.ini diff --git a/Firmware 2.0/src/config.h b/src/config.h similarity index 100% rename from Firmware 2.0/src/config.h rename to src/config.h diff --git a/Firmware 2.0/src/main.cpp b/src/main.cpp similarity index 100% rename from Firmware 2.0/src/main.cpp rename to src/main.cpp diff --git a/Firmware 1.0/test/README b/test/README similarity index 100% rename from Firmware 1.0/test/README rename to test/README