Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: RemoteIR m3pi mbed-rtos mbed
LightCommunication.h@10:7eaaa891ab81, 2017-05-11 (annotated)
- Committer:
- Kristof@LAPTOP-FT09DA9V
- Date:
- Thu May 11 15:27:12 2017 +0200
- Revision:
- 10:7eaaa891ab81
- Parent:
- 9:8c5229dfab82
added comments
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 1 | // |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 2 | // Created by Kristof on 5/9/2017. |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 3 | // |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 4 | |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 5 | #ifndef PROJ2_LIGHTCOMMUNICATION_H |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 6 | #define PROJ2_LIGHTCOMMUNICATION_H |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 7 | |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 8 | #include <cstdint> |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 9 | #include "stdio.h" |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 10 | #include "rtos.h" |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 11 | #include "ReceiverIR.h" |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 12 | |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 13 | #define OWN_ID 0 |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 14 | #define SPEED 0.5f //0-1 |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 15 | |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 16 | class LightCommunication { |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 17 | public: |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 18 | |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 19 | /** |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 20 | * Constructor |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 21 | */ |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 22 | LightCommunication(); |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 23 | |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 24 | /** |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 25 | * Destructor |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 26 | */ |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 27 | ~LightCommunication(); |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 28 | |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 29 | /** |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 30 | * Gets the left value with a calculation done every loop |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 31 | * @return a right value |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 32 | */ |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 33 | float getRight(float); |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 34 | |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 35 | /** |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 36 | * Gets the left value with a calculation done every loop |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 37 | * @return a left value |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 38 | */ |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 39 | float getLeft(float); |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 40 | |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 41 | /** |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 42 | * Receives data via Serial into a buffer |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 43 | * @deprecated using receiveData instead |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 44 | * @param buf |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 45 | */ |
| Kristof@LAPTOP-FT09DA9V | 7:1d77c7e0208c | 46 | void getSerial(char * buf); |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 47 | |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 48 | /** |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 49 | * Receives data with NEC protocol |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 50 | * @deprecated Not using NEC anymore |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 51 | * @param buf |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 52 | */ |
| Kristof@LAPTOP-FT09DA9V | 7:1d77c7e0208c | 53 | void getIRStyle(uint8_t* buf); |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 54 | |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 55 | /** |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 56 | * |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 57 | */ |
| Kristof@LAPTOP-FT09DA9V | 7:1d77c7e0208c | 58 | void receiveData(); |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 59 | |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 60 | /** |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 61 | * @deprecated checked in the controller instead |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 62 | * @return |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 63 | */ |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 64 | bool needsToStop(); |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 65 | |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 66 | private: |
| Kristof@LAPTOP-FT09DA9V | 7:1d77c7e0208c | 67 | float right,left; |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 68 | |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 69 | /** |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 70 | * Receives the data using NEC protocol |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 71 | * @deprecated Not using this anymore, using serial instead |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 72 | */ |
| Kristof@LAPTOP-FT09DA9V | 9:8c5229dfab82 | 73 | ReceiverIR * ir_rx; |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 74 | |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 75 | /** |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 76 | * Pointer to a device |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 77 | */ |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 78 | Serial * device; |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 79 | |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 80 | /** |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 81 | * Pointer to a mutex |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 82 | */ |
| Kristof@LAPTOP-FT09DA9V | 9:8c5229dfab82 | 83 | Mutex * mut; |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 84 | |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 85 | /** |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 86 | * Converts a received int8_t to a float (data/100)*speed |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 87 | * @return float value |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 88 | */ |
| Kristof@LAPTOP-FT09DA9V | 10:7eaaa891ab81 | 89 | float toFloat(int8_t data); |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 90 | |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 91 | }; |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 92 | |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 93 | |
| Kristof@LAPTOP-FT09DA9V.home | 1:76cff32344d1 | 94 | #endif //PROJ2_LIGHTCOMMUNICATION_H |
