Ultraschall Test Geschwindigkeitsregelung
Fork of BertlLib by
Bertl14.h@7:01d2bc098b6d, 2016-04-25 (annotated)
- Committer:
- TFuchsbichler
- Date:
- Mon Apr 25 06:55:29 2016 +0000
- Revision:
- 7:01d2bc098b6d
- Parent:
- 6:78243412d2b3
Ultraschallsensor Test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hollegha2 | 0:e0131e671ea0 | 1 | |
hollegha2 | 0:e0131e671ea0 | 2 | #ifndef Bertl14_h |
hollegha2 | 0:e0131e671ea0 | 3 | #define Bertl14_h |
hollegha2 | 0:e0131e671ea0 | 4 | |
hollegha2 | 0:e0131e671ea0 | 5 | |
hollegha2 | 0:e0131e671ea0 | 6 | const int BTN_FLL = 0x80; |
hollegha2 | 0:e0131e671ea0 | 7 | const int BTN_FL = 0x04; |
hollegha2 | 0:e0131e671ea0 | 8 | const int BTN_FM = 0x01; |
hollegha2 | 0:e0131e671ea0 | 9 | const int BTN_FR = 0x08; |
hollegha2 | 0:e0131e671ea0 | 10 | const int BTN_FRR = 0x40; |
hollegha2 | 0:e0131e671ea0 | 11 | const int BTN_BL = 0x10; |
hollegha2 | 0:e0131e671ea0 | 12 | const int BTN_BM = 0x02; |
hollegha2 | 0:e0131e671ea0 | 13 | const int BTN_BR = 0x20; |
hollegha2 | 0:e0131e671ea0 | 14 | |
hollegha2 | 0:e0131e671ea0 | 15 | const int LED_FL1 = 0x01; // white die vordere |
hollegha2 | 0:e0131e671ea0 | 16 | const int LED_FL2 = 0x02; // red die hintere |
hollegha2 | 0:e0131e671ea0 | 17 | const int LED_FR1 = 0x04; // white |
hollegha2 | 0:e0131e671ea0 | 18 | const int LED_FR2 = 0x08; // red |
hollegha2 | 0:e0131e671ea0 | 19 | const int LED_ALL_FRONT = 0x0F; |
hollegha2 | 0:e0131e671ea0 | 20 | |
hollegha2 | 0:e0131e671ea0 | 21 | const int LED_BL1 = 0x20; // red back left outher |
hollegha2 | 0:e0131e671ea0 | 22 | const int LED_BL2 = 0x10; // red back left inner |
hollegha2 | 0:e0131e671ea0 | 23 | const int LED_BR1 = 0x80; // red back right outher |
hollegha2 | 0:e0131e671ea0 | 24 | const int LED_BR2 = 0x40; // red back right inner |
hollegha2 | 0:e0131e671ea0 | 25 | const int LED_ALL_BACK = 0xF0; |
hollegha2 | 0:e0131e671ea0 | 26 | |
hollegha2 | 0:e0131e671ea0 | 27 | |
hollegha2 | 0:e0131e671ea0 | 28 | class PortEx { |
hollegha2 | 0:e0131e671ea0 | 29 | public: |
hollegha2 | 0:e0131e671ea0 | 30 | // Current State of Buttons is refreshed with ReadButtons() |
hollegha2 | 0:e0131e671ea0 | 31 | int16_t btns; |
hollegha2 | 0:e0131e671ea0 | 32 | uint8_t btnEvent; |
hollegha2 | 0:e0131e671ea0 | 33 | uint8_t useISR; |
hollegha2 | 0:e0131e671ea0 | 34 | public: |
hollegha2 | 0:e0131e671ea0 | 35 | PortEx(); |
hollegha2 | 0:e0131e671ea0 | 36 | void Init(); |
hollegha2 | 0:e0131e671ea0 | 37 | |
hollegha2 | 0:e0131e671ea0 | 38 | void SetLedPort(uint8_t aBitPattern); // NO local Bit-OR |
hollegha2 | 0:e0131e671ea0 | 39 | void SetLeds(uint8_t aBitPattern); |
hollegha2 | 0:e0131e671ea0 | 40 | void ToggleLeds(uint8_t aBitPattern); |
hollegha2 | 0:e0131e671ea0 | 41 | void ClearLeds(); |
hollegha2 | 0:e0131e671ea0 | 42 | |
hollegha2 | 0:e0131e671ea0 | 43 | void ReadButtons(); |
hollegha2 | 0:e0131e671ea0 | 44 | void WaitUntilButtonPressed(); |
hollegha2 | 6:78243412d2b3 | 45 | void WaitUntilFrontButtonPressed(); |
hollegha2 | 0:e0131e671ea0 | 46 | |
hollegha2 | 0:e0131e671ea0 | 47 | bool IsButton(int aBitPattern) |
hollegha2 | 0:e0131e671ea0 | 48 | { return btns & aBitPattern; } |
hollegha2 | 0:e0131e671ea0 | 49 | |
hollegha2 | 0:e0131e671ea0 | 50 | bool IsAnyFrontButton() |
hollegha2 | 0:e0131e671ea0 | 51 | { return btns & (BTN_FL|BTN_FM|BTN_FR); } |
hollegha2 | 0:e0131e671ea0 | 52 | |
hollegha2 | 0:e0131e671ea0 | 53 | bool IsAnyBackButton() |
hollegha2 | 0:e0131e671ea0 | 54 | { return btns & (BTN_BL|BTN_BM|BTN_BR); } |
hollegha2 | 0:e0131e671ea0 | 55 | private: |
hollegha2 | 0:e0131e671ea0 | 56 | uint8_t _currLeds; |
hollegha2 | 0:e0131e671ea0 | 57 | void p6ISR(); |
hollegha2 | 0:e0131e671ea0 | 58 | I2C _i2c; |
hollegha2 | 0:e0131e671ea0 | 59 | const int DEV = 0x40; |
hollegha2 | 0:e0131e671ea0 | 60 | InterruptIn _p6Event; |
hollegha2 | 0:e0131e671ea0 | 61 | }; |
hollegha2 | 0:e0131e671ea0 | 62 | |
hollegha2 | 0:e0131e671ea0 | 63 | |
hollegha2 | 0:e0131e671ea0 | 64 | class UsDistSens { |
hollegha2 | 0:e0131e671ea0 | 65 | public: |
hollegha2 | 0:e0131e671ea0 | 66 | UsDistSens(PinName pinTrigger, PinName pinEcho); |
hollegha2 | 0:e0131e671ea0 | 67 | void StartMeas(); |
hollegha2 | 0:e0131e671ea0 | 68 | private: |
hollegha2 | 0:e0131e671ea0 | 69 | void RisingISR(); |
hollegha2 | 0:e0131e671ea0 | 70 | void FallingISR(); |
hollegha2 | 0:e0131e671ea0 | 71 | private: |
hollegha2 | 0:e0131e671ea0 | 72 | DigitalOut trigger; |
hollegha2 | 0:e0131e671ea0 | 73 | InterruptIn echo; |
hollegha2 | 0:e0131e671ea0 | 74 | Timer stw; |
hollegha2 | 0:e0131e671ea0 | 75 | public: |
hollegha2 | 0:e0131e671ea0 | 76 | int dist; |
hollegha2 | 0:e0131e671ea0 | 77 | float distCM; |
hollegha2 | 0:e0131e671ea0 | 78 | }; |
hollegha2 | 0:e0131e671ea0 | 79 | |
hollegha2 | 2:16a5d3302ddb | 80 | #ifndef ANALOGIN_HL |
hollegha2 | 2:16a5d3302ddb | 81 | #define ANALOGIN_HL |
hollegha2 | 2:16a5d3302ddb | 82 | class AnalogInHL : public AnalogIn { |
hollegha2 | 2:16a5d3302ddb | 83 | public: |
hollegha2 | 2:16a5d3302ddb | 84 | AnalogInHL(PinName pin) : AnalogIn(pin) { } |
hollegha2 | 2:16a5d3302ddb | 85 | int Read() |
hollegha2 | 2:16a5d3302ddb | 86 | { return read_u16()>>6; } |
hollegha2 | 2:16a5d3302ddb | 87 | }; |
hollegha2 | 0:e0131e671ea0 | 88 | #endif |
hollegha2 | 2:16a5d3302ddb | 89 | |
hollegha2 | 2:16a5d3302ddb | 90 | #endif |
hollegha2 | 2:16a5d3302ddb | 91 | |
hollegha2 | 2:16a5d3302ddb | 92 | |
hollegha2 | 2:16a5d3302ddb | 93 | |
hollegha2 | 2:16a5d3302ddb | 94 | |
hollegha2 | 2:16a5d3302ddb | 95 | |
hollegha2 | 2:16a5d3302ddb | 96 | |
hollegha2 | 2:16a5d3302ddb | 97 | |
hollegha2 | 2:16a5d3302ddb | 98 | |
hollegha2 | 2:16a5d3302ddb | 99 | |
hollegha2 | 2:16a5d3302ddb | 100 | |
hollegha2 | 2:16a5d3302ddb | 101 | |
hollegha2 | 2:16a5d3302ddb | 102 | |
hollegha2 | 2:16a5d3302ddb | 103 | |
hollegha2 | 2:16a5d3302ddb | 104 | |
hollegha2 | 2:16a5d3302ddb | 105 | |
hollegha2 | 2:16a5d3302ddb | 106 | |
hollegha2 | 2:16a5d3302ddb | 107 | |
hollegha2 | 2:16a5d3302ddb | 108 | |
hollegha2 | 2:16a5d3302ddb | 109 | |
hollegha2 | 2:16a5d3302ddb | 110 | |
hollegha2 | 2:16a5d3302ddb | 111 | |
hollegha2 | 2:16a5d3302ddb | 112 | |
hollegha2 | 2:16a5d3302ddb | 113 |