Bluetooth communication for flocking.

Dependencies:   mbed

Fork of BeautifulMemeProject by James Hilder

Committer:
alanmillard
Date:
Sun Jan 31 15:14:54 2016 +0000
Revision:
27:7eb032772bc2
Parent:
6:ff3c66f7372b
Flocking seems to work better now, however the robot controller sometimes "crashes" (unsure why).

Who changed what in which revision?

UserRevisionLine numberNew 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 }