LineSensTest for Bertl16

Dependencies:   mbed

Fork of B16Test4 by michael hollegha

Committer:
hollegha3
Date:
Wed Sep 26 13:51:22 2018 +0000
Revision:
2:fffc57eb649f
Parent:
1:a2c68aba6d98
xx17

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hollegha3 1:a2c68aba6d98 1
hollegha3 1:a2c68aba6d98 2 #include "mbed.h"
hollegha3 1:a2c68aba6d98 3 #include "Serial_HL.h"
hollegha3 1:a2c68aba6d98 4 #include "Bertl16.h"
hollegha3 2:fffc57eb649f 5
hollegha3 1:a2c68aba6d98 6 SerialBLK pc(USBTX, USBRX);
hollegha3 1:a2c68aba6d98 7 SvProtocol ua0(&pc);
hollegha3 1:a2c68aba6d98 8
hollegha3 1:a2c68aba6d98 9 void CommandHandler();
hollegha3 1:a2c68aba6d98 10
hollegha3 2:fffc57eb649f 11 AnalogInHL2 ls1(P1_9), ls2(P0_23), ls3(P0_16), ls4(P0_15), ls5(P1_3);
hollegha3 1:a2c68aba6d98 12
hollegha3 1:a2c68aba6d98 13 int main(void)
hollegha3 1:a2c68aba6d98 14 {
hollegha3 2:fffc57eb649f 15 // MainPow und LineSensor einschalten
hollegha3 2:fffc57eb649f 16 boardPow = 3;
hollegha3 2:fffc57eb649f 17 pc.format(8,SerialBLK::None,1);
hollegha3 2:fffc57eb649f 18 pc.baud(115200); // 115200
hollegha3 2:fffc57eb649f 19 ua0.SvMessage("LineSensTest_13"); // Meldung zum PC senden
hollegha3 2:fffc57eb649f 20 AllLedsOff();
hollegha3 2:fffc57eb649f 21
hollegha3 2:fffc57eb649f 22 Timer stw;
hollegha3 2:fffc57eb649f 23 stw.start();
hollegha3 2:fffc57eb649f 24 while(1) {
hollegha3 2:fffc57eb649f 25 CommandHandler();
hollegha3 2:fffc57eb649f 26 if( (stw.read_ms()>10) ) { // 100Hz
hollegha3 2:fffc57eb649f 27 // dieser Teil wird mit 100Hz aufgerufen
hollegha3 2:fffc57eb649f 28 stw.reset();
hollegha3 2:fffc57eb649f 29 if( ua0.acqON ) {
hollegha3 2:fffc57eb649f 30 // nur wenn vom PC aus das Senden eingeschaltet wurde
hollegha3 2:fffc57eb649f 31 // wird auch etwas gesendet
hollegha3 2:fffc57eb649f 32 ua0.WriteSvI16(1, ls1.Read());
hollegha3 2:fffc57eb649f 33 ua0.WriteSvI16(2, ls2.Read());
hollegha3 2:fffc57eb649f 34 ua0.WriteSvI16(3, ls3.Read());
hollegha3 2:fffc57eb649f 35 ua0.WriteSvI16(4, ls4.Read());
hollegha3 2:fffc57eb649f 36 ua0.WriteSvI16(5, ls5.Read());
hollegha3 2:fffc57eb649f 37 }
hollegha3 2:fffc57eb649f 38 }
hollegha3 1:a2c68aba6d98 39 }
hollegha3 2:fffc57eb649f 40 return 1;
hollegha3 1:a2c68aba6d98 41 }
hollegha3 1:a2c68aba6d98 42
hollegha3 1:a2c68aba6d98 43 void CommandHandler()
hollegha3 1:a2c68aba6d98 44 {
hollegha3 2:fffc57eb649f 45 uint8_t cmd;
hollegha3 2:fffc57eb649f 46 // Fragen ob �berhaupt etwas im RX-Reg steht
hollegha3 2:fffc57eb649f 47 if( !pc.IsDataAvail() )
hollegha3 2:fffc57eb649f 48 return;
hollegha3 2:fffc57eb649f 49 // wenn etwas im RX-Reg steht
hollegha3 2:fffc57eb649f 50 // Kommando lesen
hollegha3 2:fffc57eb649f 51 cmd = ua0.GetCommand();
hollegha3 2:fffc57eb649f 52
hollegha3 2:fffc57eb649f 53 if( cmd==2 ) {
hollegha3 2:fffc57eb649f 54 mL.SetPow2(ua0.ReadF()); mR.SetPow2(ua0.ReadF());
hollegha3 2:fffc57eb649f 55 ua0.SvMessage("Set Pow");
hollegha3 2:fffc57eb649f 56 }
hollegha3 1:a2c68aba6d98 57 }
hollegha3 1:a2c68aba6d98 58
hollegha3 1:a2c68aba6d98 59
hollegha3 1:a2c68aba6d98 60
hollegha3 1:a2c68aba6d98 61
hollegha3 1:a2c68aba6d98 62
hollegha3 1:a2c68aba6d98 63
hollegha3 1:a2c68aba6d98 64
hollegha3 1:a2c68aba6d98 65
hollegha3 1:a2c68aba6d98 66
hollegha3 1:a2c68aba6d98 67
hollegha3 1:a2c68aba6d98 68
hollegha3 1:a2c68aba6d98 69
hollegha3 1:a2c68aba6d98 70
hollegha3 1:a2c68aba6d98 71
hollegha3 1:a2c68aba6d98 72
hollegha3 1:a2c68aba6d98 73
hollegha3 1:a2c68aba6d98 74