Lehrer Busch / Mbed OS xxx_Motorino_Lib

Dependencies:   eeprom_intern LCD_i2c_GSOE MotorinoLib

Committer:
jack1930
Date:
Wed Oct 27 16:35:00 2021 +0000
Revision:
3:302df40c00e2
Parent:
2:e9fbdcb1ee8f
Child:
4:f863f6847c7d
Steuerung von Grabit Roboterarm

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jack1930 0:4db26ffb591c 1 /* mbed Microcontroller Library
jack1930 0:4db26ffb591c 2 * Copyright (c) 2019 ARM Limited
jack1930 0:4db26ffb591c 3 * SPDX-License-Identifier: Apache-2.0
jack1930 0:4db26ffb591c 4 */
jack1930 0:4db26ffb591c 5
jack1930 0:4db26ffb591c 6 #include "mbed.h"
jack1930 0:4db26ffb591c 7 #include "platform/mbed_thread.h"
jack1930 0:4db26ffb591c 8 #include "Kanal.h"
jack1930 0:4db26ffb591c 9
jack1930 0:4db26ffb591c 10
jack1930 0:4db26ffb591c 11
jack1930 0:4db26ffb591c 12 // Blinking rate in milliseconds
jack1930 0:4db26ffb591c 13 #define BLINKING_RATE_MS 50
jack1930 0:4db26ffb591c 14
jack1930 0:4db26ffb591c 15 Kanal Greifer(0);
jack1930 0:4db26ffb591c 16 Kanal Basis(1);
jack1930 0:4db26ffb591c 17 Kanal Oberarm(2);
jack1930 0:4db26ffb591c 18
jack1930 0:4db26ffb591c 19
jack1930 0:4db26ffb591c 20 struct position
jack1930 0:4db26ffb591c 21 {
jack1930 0:4db26ffb591c 22 float w[6];
jack1930 0:4db26ffb591c 23 int ms;
jack1930 0:4db26ffb591c 24 };
jack1930 0:4db26ffb591c 25
jack1930 0:4db26ffb591c 26 position schritt[3];
jack1930 0:4db26ffb591c 27
jack1930 0:4db26ffb591c 28
jack1930 0:4db26ffb591c 29 int main()
jack1930 0:4db26ffb591c 30 {
jack1930 0:4db26ffb591c 31
jack1930 0:4db26ffb591c 32 Kanal* achse[6];
jack1930 0:4db26ffb591c 33 for (int i=0;i<6;i++) achse[i]=new Kanal(i);
jack1930 0:4db26ffb591c 34 int dtc=0;
jack1930 0:4db26ffb591c 35 // Initialise the digital pin LED1 as an output
jack1930 0:4db26ffb591c 36 DigitalOut led(LED1);
jack1930 3:302df40c00e2 37 schritt[0].w[0]=90;
jack1930 3:302df40c00e2 38 schritt[0].w[1]=90;
jack1930 3:302df40c00e2 39 schritt[0].w[2]=90;
jack1930 3:302df40c00e2 40 schritt[0].w[3]=90;
jack1930 0:4db26ffb591c 41 schritt[0].w[4]=0;
jack1930 3:302df40c00e2 42 schritt[0].w[5]=30;
jack1930 0:4db26ffb591c 43 schritt[0].ms=1000;
jack1930 0:4db26ffb591c 44
jack1930 3:302df40c00e2 45 schritt[1].w[0]=30;
jack1930 3:302df40c00e2 46 schritt[1].w[1]=100;
jack1930 3:302df40c00e2 47 schritt[1].w[2]=120;
jack1930 3:302df40c00e2 48 schritt[1].w[3]=110;
jack1930 0:4db26ffb591c 49 schritt[1].w[4]=180;
jack1930 3:302df40c00e2 50 schritt[1].w[5]=100;
jack1930 0:4db26ffb591c 51 schritt[1].ms=500;
jack1930 0:4db26ffb591c 52
jack1930 0:4db26ffb591c 53 schritt[2].w[0]=90;
jack1930 3:302df40c00e2 54 schritt[2].w[1]=80;
jack1930 3:302df40c00e2 55 schritt[2].w[2]=70;
jack1930 3:302df40c00e2 56 schritt[2].w[3]=80;
jack1930 0:4db26ffb591c 57 schritt[2].w[4]=90;
jack1930 0:4db26ffb591c 58 schritt[2].w[5]=180;
jack1930 0:4db26ffb591c 59 schritt[2].ms=500;
jack1930 3:302df40c00e2 60 achse[0]->grundstellung(90);
jack1930 3:302df40c00e2 61 achse[1]->grundstellung(90);
jack1930 3:302df40c00e2 62 achse[2]->grundstellung(90);
jack1930 3:302df40c00e2 63 achse[3]->grundstellung(90);
jack1930 3:302df40c00e2 64 achse[4]->grundstellung(90);
jack1930 3:302df40c00e2 65 achse[5]->grundstellung(90);
jack1930 0:4db26ffb591c 66 while (true) {
jack1930 0:4db26ffb591c 67 led = !led;
jack1930 3:302df40c00e2 68
jack1930 3:302df40c00e2 69 for (int j=0;j<2;j++) //Schritte
jack1930 0:4db26ffb591c 70 {
jack1930 2:e9fbdcb1ee8f 71 for (int i=0;i<6;i++) //alle Achsen mit neuen Zielen versorgen und starten
jack1930 0:4db26ffb591c 72 {
jack1930 0:4db26ffb591c 73 achse[i]->go(schritt[j].w[i],schritt[j].ms);
jack1930 0:4db26ffb591c 74 }
jack1930 2:e9fbdcb1ee8f 75 for (int i=0;i<6;i++) //warten, dass alle Achsen fertig werden
jack1930 0:4db26ffb591c 76 {
jack1930 0:4db26ffb591c 77 while(achse[i]->isBusy());
jack1930 0:4db26ffb591c 78 }
jack1930 0:4db26ffb591c 79 }
jack1930 3:302df40c00e2 80 HAL_Delay(1000);
jack1930 0:4db26ffb591c 81 /*
jack1930 0:4db26ffb591c 82 Greifer.go(180,1000);
jack1930 0:4db26ffb591c 83 Basis.go(90,1000);
jack1930 0:4db26ffb591c 84 Oberarm.go(0,1000);
jack1930 0:4db26ffb591c 85 while (Greifer.isBusy()==true);
jack1930 0:4db26ffb591c 86 while (Basis.isBusy()==true);
jack1930 0:4db26ffb591c 87 while (Oberarm.isBusy()==true);
jack1930 0:4db26ffb591c 88 //HAL_Delay(2000);
jack1930 0:4db26ffb591c 89 Greifer.go(0,500);
jack1930 0:4db26ffb591c 90 Basis.go(0,500);
jack1930 0:4db26ffb591c 91 Oberarm.go(120,500);
jack1930 0:4db26ffb591c 92 //HAL_Delay(1000);
jack1930 0:4db26ffb591c 93 while (Greifer.isBusy()==true);
jack1930 0:4db26ffb591c 94 while (Basis.isBusy()==true);
jack1930 0:4db26ffb591c 95 while (Oberarm.isBusy()==true);
jack1930 0:4db26ffb591c 96 */
jack1930 0:4db26ffb591c 97 }
jack1930 0:4db26ffb591c 98 }