SmartWheels self-driving race car. Designed for NXP Cup. Uses FRDM-KL25Z, area-scan camera, and simple image processing to detect and navigate any NXP spec track.
Dependencies: TSI USBDevice mbed-dev
Fork of SmartWheels by
Hardwares/CamRegBuf.h@87:15fcf7891bf9, 2017-04-19 (annotated)
- Committer:
- hazheng
- Date:
- Wed Apr 19 04:06:01 2017 +0000
- Branch:
- Drift
- Revision:
- 87:15fcf7891bf9
- Parent:
- 32:5badeff825dc
- Child:
- 92:e9bd429f16b5
Removed not used source files.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hazheng | 30:ff7f83ad6369 | 1 | #pragma once |
hazheng | 30:ff7f83ad6369 | 2 | #ifndef CAM_REG_BUF_H |
hazheng | 30:ff7f83ad6369 | 3 | #define CAM_REG_BUF_H |
hazheng | 30:ff7f83ad6369 | 4 | |
hazheng | 30:ff7f83ad6369 | 5 | #include <mbed.h> |
hazheng | 30:ff7f83ad6369 | 6 | |
hazheng | 30:ff7f83ad6369 | 7 | struct sensor_reg; |
hazheng | 30:ff7f83ad6369 | 8 | |
hazheng | 30:ff7f83ad6369 | 9 | class CamRegBuf |
hazheng | 30:ff7f83ad6369 | 10 | { |
hazheng | 30:ff7f83ad6369 | 11 | public: |
hazheng | 87:15fcf7891bf9 | 12 | CamRegBuf(uint8_t writeAddr, uint8_t readAddr); |
hazheng | 30:ff7f83ad6369 | 13 | |
hazheng | 30:ff7f83ad6369 | 14 | ~CamRegBuf(); |
hazheng | 30:ff7f83ad6369 | 15 | |
hazheng | 30:ff7f83ad6369 | 16 | //Blocking method. Do not use during the running state!! |
hazheng | 30:ff7f83ad6369 | 17 | void SCCBWrite(const uint8_t RegAddr, uint8_t Data); |
hazheng | 30:ff7f83ad6369 | 18 | |
hazheng | 30:ff7f83ad6369 | 19 | //Blocking method. Do not use during the running state!! |
hazheng | 30:ff7f83ad6369 | 20 | uint8_t SCCBRead(const uint8_t RegAddr); |
hazheng | 30:ff7f83ad6369 | 21 | |
hazheng | 32:5badeff825dc | 22 | //int32_t I2CBufferRead(int32_t ucDevAddr, uint8_t *ucBuffer, int32_t ulSize); |
hazheng | 32:5badeff825dc | 23 | |
hazheng | 32:5badeff825dc | 24 | //int32_t I2CBufferWrite(int32_t ucDevAddr, uint8_t *ucBuffer, int32_t ulSize); |
hazheng | 32:5badeff825dc | 25 | |
hazheng | 30:ff7f83ad6369 | 26 | //Blocking method. Do not use during the running state!! |
hazheng | 30:ff7f83ad6369 | 27 | void ReadRegisters(); |
hazheng | 30:ff7f83ad6369 | 28 | |
hazheng | 30:ff7f83ad6369 | 29 | //Blocking method. Do not use during the running state!! |
hazheng | 30:ff7f83ad6369 | 30 | void WriteRegSet(const struct sensor_reg * reglist); |
hazheng | 30:ff7f83ad6369 | 31 | |
hazheng | 30:ff7f83ad6369 | 32 | private: |
hazheng | 30:ff7f83ad6369 | 33 | uint8_t m_writeAddr; |
hazheng | 30:ff7f83ad6369 | 34 | |
hazheng | 30:ff7f83ad6369 | 35 | uint8_t m_readAddr; |
hazheng | 30:ff7f83ad6369 | 36 | |
hazheng | 30:ff7f83ad6369 | 37 | I2C m_sccbCtrl; |
hazheng | 30:ff7f83ad6369 | 38 | }; |
hazheng | 30:ff7f83ad6369 | 39 | |
hazheng | 30:ff7f83ad6369 | 40 | #endif //CAM_REG_BUF_H |