3rd year group project. Electronic and Electrical Engineering. Heriot-Watt University. This is the code for the mbed for the Automatic Little Object Organiser (ALOO).
Dependencies: MCP23017 TCS3472_I2C WattBob_TextLCD mbed
fpga.h@32:9a4046224b11, 2015-12-17 (annotated)
- Committer:
- dreamselec
- Date:
- Thu Dec 17 17:23:24 2015 +0100
- Revision:
- 32:9a4046224b11
- Parent:
- 14:cf2f255b5560
Comments and clean up.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dreamselec |
6:98fe30430194 | 1 | // |
dreamselec |
6:98fe30430194 | 2 | // fpga.h |
dreamselec |
6:98fe30430194 | 3 | // Created by Chandan Siyag on 14/11/2015. |
dreamselec |
32:9a4046224b11 | 4 | // |
dreamselec |
32:9a4046224b11 | 5 | // All the things FPGA. |
dreamselec |
32:9a4046224b11 | 6 | // Moving servos, getting break beam data. |
dreamselec |
32:9a4046224b11 | 7 | |
dreamselec |
6:98fe30430194 | 8 | #include "globals.h" |
dreamselec | 3:843b830ee8bd | 9 | |
dreamselec | 4:4eebb4de22a7 | 10 | #ifndef _fpag_h_ |
dreamselec | 4:4eebb4de22a7 | 11 | #define _fpga_h_ |
dreamselec | 3:843b830ee8bd | 12 | |
dreamselec |
14:cf2f255b5560 | 13 | enum BeamNumber { Top = 2, Bottom = 1 }; |
dreamselec |
14:cf2f255b5560 | 14 | |
dreamselec |
6:98fe30430194 | 15 | class FPGA{ |
dreamselec |
6:98fe30430194 | 16 | public: |
dreamselec |
6:98fe30430194 | 17 | FPGA(); |
dreamselec | 10:16ba52f8e025 | 18 | |
dreamselec | 10:16ba52f8e025 | 19 | SortingServoPositions sortingServoPosition; |
dreamselec | 10:16ba52f8e025 | 20 | StoppingServoPositions stoppingServoPosition; |
dreamselec | 3:843b830ee8bd | 21 | |
dreamselec |
6:98fe30430194 | 22 | int checkForBlock(); |
dreamselec |
6:98fe30430194 | 23 | int checkForSize(); |
dreamselec |
6:98fe30430194 | 24 | |
dreamselec |
6:98fe30430194 | 25 | void moveStoppingServo(StoppingServoPositions position); |
dreamselec |
6:98fe30430194 | 26 | void moveSortingServo(SortingServoPositions position); |
dreamselec | 10:16ba52f8e025 | 27 | void toggleStoppingServo(); |
dreamselec | 10:16ba52f8e025 | 28 | void toggleSortingServo(); |
dreamselec | 3:843b830ee8bd | 29 | |
dreamselec |
6:98fe30430194 | 30 | void resetStoppingServo(); |
dreamselec |
6:98fe30430194 | 31 | void resetSortingServo(); |
dreamselec |
6:98fe30430194 | 32 | void resetAllServos(); |
dreamselec | 3:843b830ee8bd | 33 | |
dreamselec |
14:cf2f255b5560 | 34 | virtual ~FPGA(); |
dreamselec |
14:cf2f255b5560 | 35 | |
dreamselec |
6:98fe30430194 | 36 | int getBeamValue(int beamNumber); |
dreamselec |
6:98fe30430194 | 37 | void moveServo(int servoNumber, int position); |
dreamselec |
6:98fe30430194 | 38 | }; |
dreamselec |
6:98fe30430194 | 39 | #endif |