pixy Libari 2

Dependents:   PES PES1 PES4 PES3

Committer:
scholfa2
Date:
Wed Mar 29 12:34:18 2017 +0000
Revision:
1:a57585d5e81b
Parent:
0:ed8dc4531ac1
test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
scholfa2 1:a57585d5e81b 1 #ifndef PIXY_H
scholfa2 1:a57585d5e81b 2 #define PIXY_H
acracan 0:ed8dc4531ac1 3
acracan 0:ed8dc4531ac1 4 #include "mbed.h"
acracan 0:ed8dc4531ac1 5 #include "PixyLinkI2C.h"
acracan 0:ed8dc4531ac1 6
acracan 0:ed8dc4531ac1 7 struct Block {
scholfa2 1:a57585d5e81b 8 void print(Serial &pc) {
acracan 0:ed8dc4531ac1 9 pc.printf("sig: %d x: %d y: %d width: %d height: %d\n", signature, x, y, width, height);
acracan 0:ed8dc4531ac1 10 };
acracan 0:ed8dc4531ac1 11 uint16_t signature;
acracan 0:ed8dc4531ac1 12 uint16_t x;
acracan 0:ed8dc4531ac1 13 uint16_t y;
acracan 0:ed8dc4531ac1 14 uint16_t width;
acracan 0:ed8dc4531ac1 15 uint16_t height;
acracan 0:ed8dc4531ac1 16 };
acracan 0:ed8dc4531ac1 17
acracan 0:ed8dc4531ac1 18 class Pixy
acracan 0:ed8dc4531ac1 19 {
acracan 0:ed8dc4531ac1 20 public:
scholfa2 1:a57585d5e81b 21 Pixy(PinName mosi_sda_tx, PinName miso_scl_rx);
acracan 0:ed8dc4531ac1 22 ~Pixy();
acracan 0:ed8dc4531ac1 23 uint16_t getBlocks(uint16_t maxBlocks=1000);
acracan 0:ed8dc4531ac1 24 int8_t setServos(uint16_t s0, uint16_t s1);
acracan 0:ed8dc4531ac1 25 void setAddress(uint8_t addr);
acracan 0:ed8dc4531ac1 26 void setSerialOutput(Serial *pc);
acracan 0:ed8dc4531ac1 27
acracan 0:ed8dc4531ac1 28 Block *blocks;
acracan 0:ed8dc4531ac1 29
acracan 0:ed8dc4531ac1 30 private:
acracan 0:ed8dc4531ac1 31 static const uint8_t PIXY_INITIAL_ARRAYSIZE = 30;
acracan 0:ed8dc4531ac1 32 static const uint8_t PIXY_MAXIMUM_ARRAYSIZE = 130;
acracan 0:ed8dc4531ac1 33 static const uint16_t PIXY_START_WORD = 0xaa55;
acracan 0:ed8dc4531ac1 34 static const uint16_t PIXY_START_WORDX = 0x55aa;
scholfa2 1:a57585d5e81b 35 static const uint8_t PIXY_DEFAULT_ADDR = 0xAC; // I2C Adresse
acracan 0:ed8dc4531ac1 36
acracan 0:ed8dc4531ac1 37 bool getStart();
acracan 0:ed8dc4531ac1 38 void resize();
acracan 0:ed8dc4531ac1 39
acracan 0:ed8dc4531ac1 40 bool skipStart;
acracan 0:ed8dc4531ac1 41 uint16_t blockCount;
acracan 0:ed8dc4531ac1 42 uint16_t blockArraySize;
acracan 0:ed8dc4531ac1 43
acracan 0:ed8dc4531ac1 44 PixyLink *m_link;
acracan 0:ed8dc4531ac1 45 Serial *pc;
acracan 0:ed8dc4531ac1 46 };
scholfa2 1:a57585d5e81b 47 #endif //PIXY_H