For coursework of group 3 in SOFT564Z
Dependencies: Motordriver ros_lib_kinetic
VL6180.hpp@12:82b8fe254222, 2020-01-05 (annotated)
- Committer:
- Jonathan738
- Date:
- Sun Jan 05 15:42:22 2020 +0000
- Revision:
- 12:82b8fe254222
- Parent:
- 10:c752a8d76ee2
Added working version of TOF code
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jonathan738 | 10:c752a8d76ee2 | 1 | #include "mbed.h" |
Jonathan738 | 12:82b8fe254222 | 2 | //#include "General.hpp" |
Jonathan738 | 12:82b8fe254222 | 3 | //#include "rtos.h" |
Jonathan738 | 10:c752a8d76ee2 | 4 | #include "Pins.h" |
Jonathan738 | 10:c752a8d76ee2 | 5 | |
Jonathan738 | 10:c752a8d76ee2 | 6 | #ifndef Define_ONCE_VL6180 |
Jonathan738 | 10:c752a8d76ee2 | 7 | #define Define_ONCE_VL6180 |
Jonathan738 | 10:c752a8d76ee2 | 8 | |
Jonathan738 | 10:c752a8d76ee2 | 9 | #define num_VL6180 1 |
Jonathan738 | 10:c752a8d76ee2 | 10 | #define SHDN_Pins_Cell {PC_9} //, PC_11, PD_2, PG_3} |
Jonathan738 | 10:c752a8d76ee2 | 11 | #define TOF_Addresses {0x29} //, 0x2A, 0x2B, 0x2C} |
Jonathan738 | 10:c752a8d76ee2 | 12 | #define Shifted_TOF_Addresses {0x82} //, 0x84, 0x86, 0x88} |
Jonathan738 | 10:c752a8d76ee2 | 13 | |
Jonathan738 | 12:82b8fe254222 | 14 | |
Jonathan738 | 12:82b8fe254222 | 15 | //Addresses |
Jonathan738 | 12:82b8fe254222 | 16 | #define address1 (0x29) |
Jonathan738 | 12:82b8fe254222 | 17 | #define address2 (0x2A) |
Jonathan738 | 12:82b8fe254222 | 18 | #define address3 (0x2B) |
Jonathan738 | 12:82b8fe254222 | 19 | #define address4 (0x2C) |
Jonathan738 | 10:c752a8d76ee2 | 20 | |
Jonathan738 | 12:82b8fe254222 | 21 | //Shifted addresses, so the R/W command can be added |
Jonathan738 | 12:82b8fe254222 | 22 | #define address1shift (address1<<1) |
Jonathan738 | 12:82b8fe254222 | 23 | #define address2shift (address2<<1) |
Jonathan738 | 12:82b8fe254222 | 24 | #define address3shift (address3<<1) |
Jonathan738 | 12:82b8fe254222 | 25 | #define address4shift (address4<<1) |
Jonathan738 | 12:82b8fe254222 | 26 | |
Jonathan738 | 10:c752a8d76ee2 | 27 | |
Jonathan738 | 12:82b8fe254222 | 28 | // Thread that runs TOF sensors |
Jonathan738 | 12:82b8fe254222 | 29 | void TOF_Handler(); |
Jonathan738 | 10:c752a8d76ee2 | 30 | |
Jonathan738 | 12:82b8fe254222 | 31 | int VL6180_Init(char addr); |
Jonathan738 | 12:82b8fe254222 | 32 | void WriteByte_Uninitialized(wchar_t reg, char data, char addr); |
Jonathan738 | 12:82b8fe254222 | 33 | char ReadByte(wchar_t reg, char addr); |
Jonathan738 | 12:82b8fe254222 | 34 | int VL6180_Start_Range(char addr); |
Jonathan738 | 12:82b8fe254222 | 35 | int VL6180_Poll_Range(char addr); |
Jonathan738 | 12:82b8fe254222 | 36 | int VL6180_Read_Range(char addr); |
Jonathan738 | 12:82b8fe254222 | 37 | int VL6180_Clear_Interrupts(char addr); |
Jonathan738 | 12:82b8fe254222 | 38 | void Get_TOF_Reading(void); |
Jonathan738 | 12:82b8fe254222 | 39 | |
Jonathan738 | 10:c752a8d76ee2 | 40 | #endif |