Bluetooth communication for flocking.
Fork of BeautifulMemeProject by
PsiSwarm/colour.cpp@6:ff3c66f7372b, 2015-10-22 (annotated)
- Committer:
- jah128
- Date:
- Thu Oct 22 00:46:14 2015 +0000
- Revision:
- 6:ff3c66f7372b
- Parent:
- 0:8a5497a2e366
Initial version: beacon detection and sync. code, bearing estimation.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jah128 | 0:8a5497a2e366 | 1 | /* University of York Robotics Laboratory PsiSwarm Library: Colour Sensors Source File |
jah128 | 0:8a5497a2e366 | 2 | * |
jah128 | 0:8a5497a2e366 | 3 | * File: colour.cpp |
jah128 | 0:8a5497a2e366 | 4 | * |
jah128 | 6:ff3c66f7372b | 5 | * (C) Dept. Electronics & Computer Science, University of York |
jah128 | 6:ff3c66f7372b | 6 | * James Hilder, Alan Millard, Homero Elizondo, Jon Timmis |
jah128 | 6:ff3c66f7372b | 7 | * |
jah128 | 6:ff3c66f7372b | 8 | * PsiSwarm Library Version: 0.3 |
jah128 | 0:8a5497a2e366 | 9 | * |
jah128 | 0:8a5497a2e366 | 10 | * October 2015 |
jah128 | 0:8a5497a2e366 | 11 | * |
jah128 | 0:8a5497a2e366 | 12 | */ |
jah128 | 0:8a5497a2e366 | 13 | |
jah128 | 0:8a5497a2e366 | 14 | |
jah128 | 0:8a5497a2e366 | 15 | // Base colour sensor is a TCS34725 |
jah128 | 0:8a5497a2e366 | 16 | // Top colour sensor (if fitted) is a TCS34721 |
jah128 | 0:8a5497a2e366 | 17 | #include "psiswarm.h" |
jah128 | 0:8a5497a2e366 | 18 | |
jah128 | 0:8a5497a2e366 | 19 | |
jah128 | 0:8a5497a2e366 | 20 | void read_base_colour_sensor_values(int * store_array){ |
jah128 | 0:8a5497a2e366 | 21 | |
jah128 | 0:8a5497a2e366 | 22 | } |
jah128 | 0:8a5497a2e366 | 23 | |
jah128 | 0:8a5497a2e366 | 24 | void set_base_colour_sensor_gain(char gain){ |
jah128 | 0:8a5497a2e366 | 25 | |
jah128 | 0:8a5497a2e366 | 26 | } |
jah128 | 0:8a5497a2e366 | 27 | |
jah128 | 0:8a5497a2e366 | 28 | void set_base_colour_sensor_integration_time(char int_time){ |
jah128 | 0:8a5497a2e366 | 29 | |
jah128 | 0:8a5497a2e366 | 30 | } |
jah128 | 0:8a5497a2e366 | 31 | |
jah128 | 0:8a5497a2e366 | 32 | void enable_base_colour_sensor(void){ |
jah128 | 0:8a5497a2e366 | 33 | |
jah128 | 0:8a5497a2e366 | 34 | } |
jah128 | 0:8a5497a2e366 | 35 | |
jah128 | 0:8a5497a2e366 | 36 | char IF_check_base_colour_sensor(void){ |
jah128 | 0:8a5497a2e366 | 37 | //Reads the device ID flag of the colour sensor [0xB2] |
jah128 | 0:8a5497a2e366 | 38 | //This should equal 0x44 for both TCS34721 (top) and TCS34725 (base) sensors |
jah128 | 0:8a5497a2e366 | 39 | //Return a 1 if successful or a 0 otherwise |
jah128 | 0:8a5497a2e366 | 40 | char return_value = 0; |
jah128 | 0:8a5497a2e366 | 41 | char data[1] = {0x00}; |
jah128 | 0:8a5497a2e366 | 42 | char command[1] = {0xB2}; |
jah128 | 0:8a5497a2e366 | 43 | primary_i2c.write(BASE_COLOUR_ADDRESS, command, 1, false); |
jah128 | 0:8a5497a2e366 | 44 | primary_i2c.read(BASE_COLOUR_ADDRESS, data, 1, false); |
jah128 | 0:8a5497a2e366 | 45 | if(data[0] == 0x44) return_value = 1; |
jah128 | 0:8a5497a2e366 | 46 | else debug("Invalid response from colour sensor:%X\n",data[0]); |
jah128 | 0:8a5497a2e366 | 47 | return return_value; |
jah128 | 0:8a5497a2e366 | 48 | } |