A code for the spindling of bots.
Dependencies: MX12 ServoRingBuffer mbed-src
Fork of SpindleBot by
AD7730/AD7730.h
- Committer:
- labmrd
- Date:
- 2015-08-13
- Revision:
- 14:7c5beaa9fb01
- Parent:
- 4:e44ac08027bd
File content as of revision 14:7c5beaa9fb01:
#ifndef AD7730_H #define AD7730_H #include "mbed.h" // For now we are using software #include "SSPI.h" class AD7730{ public: AD7730(PinName mosi, PinName miso, PinName sclk, PinName ready, PinName cs); ~AD7730(void); void dump(void); int readRegistry(int registry); int writeRegistry(int registry, int value); int initialize(void); int systemLowCal(double wgt); int systemHighCal(double wgt, double fullScale); int read(); int startConversion(bool wait); void setFilter(int SF, bool chop, int filter2); void setFilterSF(int SF); void setFilterMode(int mode); void setFilterChop(int enabled); void reset(bool fullReset); int adjustDAC(int direction); void start(void); void stop(void); bool isReady(void); void interruptRead(void); double getHz(void); private: SSPI _spi; DigitalOut _cs; DigitalIn _readyDig; DigitalOut _LED3; InterruptIn *_interruptReady; PinName _readyPin; double _fullScaleWeight; double _minWeight; double _maxWeight; int _lastValue; bool _continous; int _frequency; Timer _tmr; //Registry value constants static const int STATUS_REG = 0; static const int DATA_REG = 1; static const int MODE_REG = 2; static const int FILTER_REG = 3; static const int DAC_REG = 4; static const int OFFSET_REG = 5; static const int GAIN_REG = 6; static const int TEST_REG = 7; //define empty spi command static const int EMPTY_SPI = 0xFF; //internal registries int _mode; int _filter; int _dac; int _offset; int _gain; int _status; //timing variables Timer _exeTmr; int _exeTime; //error variables int _exeError; //private functions int internalZeroCal(void); int internalFullCal(void); }; #endif