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.
Fork of BeautifulMemeProject by
PsiSwarm/colour.cpp@27:7eb032772bc2, 2016-01-31 (annotated)
- 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?
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 | } |