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 | 
