Benjamin Brou / Pixy2_Library2
Revision:
4:7ccff59f3b3a
Parent:
3:d245cf5af33d
--- a/Pixy2_Libray.cpp	Wed Mar 04 15:23:41 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
- * mbed library for Pixy2 Camera
- * Copyright (c) 2019 Jordan DUCHÊNE
- */
-
-#include "mbed.h"
-#include "Pixy2_Library.h"
-
-
-
-
-Pixy2_Library::Pixy2_Library (PinName p_sda, PinName p_scl, int address)   // Class Constructor
-{
-    composant = new I2C(p_sda,p_scl);  //sda, sc1
-    composant ->frequency(100000);
-    I2Caddress = address;
-}
-
-
-void Pixy2_Library::Pixy2_WhiteLED(bool STATE)   // White LEDs BuiltIN ON/OFF methode
-{
-
-    unsigned char readdata[21];
-    unsigned char lampeON[6]= {0xae,0xc1,22,2,1,0};
-    unsigned char lampeOFF[6]= {0xae,0xc1,22,2,0,0};
-    if(STATE == true) {
-        do {
-            composant->write(I2Caddress,(char*)lampeON,6);
-            composant->read(I2Caddress,(char*)readdata,10);
-            wait(0.01);
-        } while(readdata[0] != 175 && readdata[1] != 193);
-    } else {
-        do {
-            composant->write(I2Caddress,(char*)lampeOFF,6);
-            composant->read(I2Caddress,(char*)readdata,10);
-            wait(0.01);
-        } while(readdata[0] != 175 && readdata[1] != 193);
-    }
-
-}
-void Pixy2_Library::Pixy2_SetServo(int PAN, int TILT)   // Head Servo Crontrol methode
-{
-    int lowP, hightP, lowT, hightT;
-    hightP = PAN >> 8 ;
-    lowP = PAN & 0x0f;
-    hightT = TILT >> 8 ;
-    lowT = TILT & 0x0f;
-    unsigned char readdata[21];
-    unsigned char SetServ[8]= {0xae,0xc1,18,4,lowP,hightP,lowT,hightP};
-    do {
-        composant->write(I2Caddress,(char*)SetServ,6);
-        composant->read(I2Caddress,(char*)readdata,10);
-        wait(0.01);
-    } while(readdata[0] != 175 && readdata[1] != 193);
-}
-
-
-void Pixy2_Library::Pixy2_RGBLED(bool STATE)
-{
-
-    unsigned char readdata[21];
-    unsigned char lampeON[6]= {0xae,0xc1,22,2,0,1};
-    unsigned char lampeOFF[6]= {0xae,0xc1,22,2,0,0};
-    if(STATE == true) {
-        do {
-            composant->write(I2Caddress,(char*)lampeON,6);
-            composant->read(I2Caddress,(char*)readdata,10);
-            wait(0.01);
-        } while(readdata[0] != 175 && readdata[1] != 193);
-    } else {
-        do {
-            composant->write(I2Caddress,(char*)lampeOFF,6);
-            composant->read(I2Caddress,(char*)readdata,10);
-            wait(0.01);
-        } while(readdata[0] != 175 && readdata[1] != 193);
-    }
-
-}
-
-int Pixy2_Library::Pixy2_GetBlock(char DATA, int BLOCK_NUMBER)
-{
-    int DataSize = BLOCK_NUMBER * 14 + 6;
-    unsigned char writedata[6]= {0xae,0xc1,32,2,255,20};
-    unsigned char readdata[DataSize + 1];
-    do {
-        composant->write(I2Caddress,(char*)writedata,6);
-        composant->read(I2Caddress,(char*)readdata,DataSize);
-        wait(0.1);
-    } while(readdata[0] != 175 && readdata[1] != 193);
-    switch(DATA) {
-        case 's':
-            if(readdata[DataSize - 13]<2) return readdata[7]*256+readdata[DataSize - 14];
-            if(readdata[DataSize - 13]>=2) return -2;
-            break;
-        case 'x':
-            if(readdata[DataSize - 11]<2) return readdata[DataSize - 11]*256+readdata[DataSize - 12];
-            if(readdata[DataSize - 11]>=2) return -2;
-            break;
-        case 'y':
-            if(readdata[DataSize - 9]<2) return readdata[DataSize - 9]*256+readdata[DataSize - 10];
-            if(readdata[DataSize - 9]>=2) return -2;
-            break;
-        case 'w':
-            if(readdata[DataSize - 7]<2) return readdata[DataSize - 7]*256+readdata[DataSize - 8];
-            if(readdata[DataSize - 7]>=2) return -2;
-            break;
-        case 'h':
-            if(readdata[DataSize - 5]<2) return readdata[DataSize - 5]*256+readdata[DataSize - 6];
-            if(readdata[DataSize - 5]>=2) return -2;
-            break;
-        case 'a':
-            if(readdata[DataSize - 3]<2) return readdata[DataSize - 3]*256+readdata[DataSize - 4];
-            if(readdata[DataSize - 3]>=2) return -2;
-            break;
-        case 'i':
-            if(readdata[DataSize - 1]<2) return readdata[DataSize - 1]*256+readdata[DataSize - 2];                                //////////////////////// 1
-            if(readdata[DataSize - 1]>=2) return -2;
-            break;
-    }
-}
-
-
-