Christian Weiß
/
Labor_RGB1
RGB1.cpp@0:a17cdd8e23ac, 2018-11-15 (annotated)
- Committer:
- Wizo
- Date:
- Thu Nov 15 18:00:04 2018 +0000
- Revision:
- 0:a17cdd8e23ac
Labor_RGB1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Wizo | 0:a17cdd8e23ac | 1 | #include "mbed.h" |
Wizo | 0:a17cdd8e23ac | 2 | #include "Serial_HL.h" |
Wizo | 0:a17cdd8e23ac | 3 | |
Wizo | 0:a17cdd8e23ac | 4 | SerialBLK pc(USBTX, USBRX); |
Wizo | 0:a17cdd8e23ac | 5 | SvProtocol ua0(&pc); |
Wizo | 0:a17cdd8e23ac | 6 | |
Wizo | 0:a17cdd8e23ac | 7 | // V2.0 |
Wizo | 0:a17cdd8e23ac | 8 | |
Wizo | 0:a17cdd8e23ac | 9 | BusOut leds(P1_13,P1_12,P1_7,P1_6,P1_4,P1_3,P1_1,P1_0,LED4,LED3,LED2,LED1); |
Wizo | 0:a17cdd8e23ac | 10 | |
Wizo | 0:a17cdd8e23ac | 11 | PwmOut LR(p23); |
Wizo | 0:a17cdd8e23ac | 12 | PwmOut LG(p24); |
Wizo | 0:a17cdd8e23ac | 13 | PwmOut LB(p25); |
Wizo | 0:a17cdd8e23ac | 14 | |
Wizo | 0:a17cdd8e23ac | 15 | |
Wizo | 0:a17cdd8e23ac | 16 | void CommandHandler(); |
Wizo | 0:a17cdd8e23ac | 17 | |
Wizo | 0:a17cdd8e23ac | 18 | int main(void) |
Wizo | 0:a17cdd8e23ac | 19 | { |
Wizo | 0:a17cdd8e23ac | 20 | pc.format(8,SerialBLK::None,1); |
Wizo | 0:a17cdd8e23ac | 21 | pc.baud(115200); |
Wizo | 0:a17cdd8e23ac | 22 | leds = 9; |
Wizo | 0:a17cdd8e23ac | 23 | |
Wizo | 0:a17cdd8e23ac | 24 | |
Wizo | 0:a17cdd8e23ac | 25 | // PWM-Periode = 1ms = 1kHz |
Wizo | 0:a17cdd8e23ac | 26 | LR.period_ms (1); LG.period_ms (1); LB.period_ms (1); |
Wizo | 0:a17cdd8e23ac | 27 | |
Wizo | 0:a17cdd8e23ac | 28 | // LR = 0.1; 10% Pulsweite LR=0.9; 90% Pulsweite |
Wizo | 0:a17cdd8e23ac | 29 | |
Wizo | 0:a17cdd8e23ac | 30 | LR = (1-0.1); // 10% für invertierte Logik |
Wizo | 0:a17cdd8e23ac | 31 | LG = (1-0.1); LB = (1-0.1); |
Wizo | 0:a17cdd8e23ac | 32 | |
Wizo | 0:a17cdd8e23ac | 33 | ua0.SvMessage("RGB1_2"); // Meldung zum PC senden |
Wizo | 0:a17cdd8e23ac | 34 | |
Wizo | 0:a17cdd8e23ac | 35 | Timer stw; |
Wizo | 0:a17cdd8e23ac | 36 | stw.start(); |
Wizo | 0:a17cdd8e23ac | 37 | while(1) { |
Wizo | 0:a17cdd8e23ac | 38 | CommandHandler(); |
Wizo | 0:a17cdd8e23ac | 39 | if( ua0.acqON && (stw.read_ms()>100) ) { // 10Hz |
Wizo | 0:a17cdd8e23ac | 40 | // dieser Teil wird mit 10Hz aufgerufen |
Wizo | 0:a17cdd8e23ac | 41 | stw.reset(); |
Wizo | 0:a17cdd8e23ac | 42 | |
Wizo | 0:a17cdd8e23ac | 43 | if( ua0.acqON ) { |
Wizo | 0:a17cdd8e23ac | 44 | // nur wenn vom PC aus das Senden eingeschaltet wurde wird auch etwas gesendet |
Wizo | 0:a17cdd8e23ac | 45 | |
Wizo | 0:a17cdd8e23ac | 46 | } |
Wizo | 0:a17cdd8e23ac | 47 | } |
Wizo | 0:a17cdd8e23ac | 48 | } |
Wizo | 0:a17cdd8e23ac | 49 | return 1; |
Wizo | 0:a17cdd8e23ac | 50 | } |
Wizo | 0:a17cdd8e23ac | 51 | |
Wizo | 0:a17cdd8e23ac | 52 | void CommandHandler() |
Wizo | 0:a17cdd8e23ac | 53 | { |
Wizo | 0:a17cdd8e23ac | 54 | uint8_t cmd; |
Wizo | 0:a17cdd8e23ac | 55 | |
Wizo | 0:a17cdd8e23ac | 56 | if( !pc.IsDataAvail() ) |
Wizo | 0:a17cdd8e23ac | 57 | return; |
Wizo | 0:a17cdd8e23ac | 58 | cmd = ua0.GetCommand(); |
Wizo | 0:a17cdd8e23ac | 59 | |
Wizo | 0:a17cdd8e23ac | 60 | if( cmd == 2) |
Wizo | 0:a17cdd8e23ac | 61 | { |
Wizo | 0:a17cdd8e23ac | 62 | LR = (1- ua0.ReadF()); LG = (1- ua0.ReadF()); LB = (1- ua0.ReadF()); |
Wizo | 0:a17cdd8e23ac | 63 | ua0.SvMessage("Set RGB1"); |
Wizo | 0:a17cdd8e23ac | 64 | } |
Wizo | 0:a17cdd8e23ac | 65 | |
Wizo | 0:a17cdd8e23ac | 66 | // Commands für Regler |
Wizo | 0:a17cdd8e23ac | 67 | |
Wizo | 0:a17cdd8e23ac | 68 | if( cmd == 3) |
Wizo | 0:a17cdd8e23ac | 69 | { |
Wizo | 0:a17cdd8e23ac | 70 | LR = (1- ua0.ReadF()); |
Wizo | 0:a17cdd8e23ac | 71 | |
Wizo | 0:a17cdd8e23ac | 72 | } |
Wizo | 0:a17cdd8e23ac | 73 | |
Wizo | 0:a17cdd8e23ac | 74 | if( cmd == 4) |
Wizo | 0:a17cdd8e23ac | 75 | { |
Wizo | 0:a17cdd8e23ac | 76 | LG = (1- ua0.ReadF()); |
Wizo | 0:a17cdd8e23ac | 77 | } |
Wizo | 0:a17cdd8e23ac | 78 | |
Wizo | 0:a17cdd8e23ac | 79 | |
Wizo | 0:a17cdd8e23ac | 80 | if( cmd == 5) |
Wizo | 0:a17cdd8e23ac | 81 | { |
Wizo | 0:a17cdd8e23ac | 82 | LB = (1- ua0.ReadF()); |
Wizo | 0:a17cdd8e23ac | 83 | } |
Wizo | 0:a17cdd8e23ac | 84 | } |
Wizo | 0:a17cdd8e23ac | 85 | |
Wizo | 0:a17cdd8e23ac | 86 |