Incomplete library for configuration of a DRV8301 pre-driver through a SPI interface.
DRV8301 is 3-Phase Brushless Motor Pre-Driver with Dual Current Sense Amps and Buck Converter (PWM Ctrl w/ SPI). Please find more information on Texas Instruments web pages and datasheet.
Diff: DRV8301.cpp
- Revision:
- 2:bdca7d22b783
- Parent:
- 0:2825ac4882fd
- Child:
- 3:227ecd07b9cd
--- a/DRV8301.cpp Sun Nov 22 11:50:50 2015 +0000 +++ b/DRV8301.cpp Mon Nov 23 13:14:48 2015 +0000 @@ -3,68 +3,66 @@ DRV8301::DRV8301(PinName mosi, PinName miso, PinName sck) : MOSI(mosi), MISO(miso), SCK(sck){ startup(); input = 0; - } +} //funkcija za ograničernje struje - void DRV8301::setCurrentLimit(uint8_t input){ uint16_t register1; - maskCurrentLimit = 0xF83F; + maskCurrentLimit = 0x783F; register1 &= maskCurrentLimit; register1 |= input << 6; - } +} //funkcija za input PWM ulaza void DRV8301::setPWMNumber(uint8_t input){ uint16_t register1; - maskPWM = 0xFFF7; + maskPWM = 0x7FF7; register1 &= maskPWM; register1 |= input << 3; - } +} //funkcija za input mod OCP-a void DRV8301::setOCPMode(uint8_t input){ uint16_t register1; - maskOCP = 0xFFCF; + maskOCP = 0x7FCF; register1 &= maskOCP; register1 |= input << 4; - } +} //funkcija za input mod OCTW-a - void DRV8301::setOCTW(uint8_t input){ uint16_t register2; - maskOCTW = 0xFFFC; + maskOCTW = 0x7FFC; register2 &= maskOCTW; register2 |= input; - } +} //funkcija za pojačanje void DRV8301::setGain(uint8_t input){ uint16_t register2; - maskGain = 0xFFF3; + maskGain = 0x7FF3; register2 &= maskGain; register2 |= input << 2; - } +} //funkcija za dobivanje stanja u registru 1 uint16_t getRegister1(){ uint16_t register1; return register1; - } +} // funkcija za dobivanje stanja u registru 2 uint16_t getRegister2(){ uint16_t register2; return register2; - } +} //funkcija za pokretanje (reboot) DRV-a @@ -72,5 +70,4 @@ EN_GATE = 0; wait_us (25); EN_GATE = 1; - } - +} \ No newline at end of file