Simple driver for the 12-bit DAC DAC7311 from TI
DAC7311.cpp@1:5497575badba, 2012-10-23 (annotated)
- Committer:
- macgyveremir
- Date:
- Tue Oct 23 19:07:26 2012 +0000
- Revision:
- 1:5497575badba
- Parent:
- 0:ca49770e05b5
Correct and working implementation. Can easily be generalized to family devices DACx311
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
macgyveremir | 0:ca49770e05b5 | 1 | #include "DAC7311.h" |
macgyveremir | 0:ca49770e05b5 | 2 | |
macgyveremir | 0:ca49770e05b5 | 3 | void DAC7311::set_mode (unsigned short mode) |
macgyveremir | 0:ca49770e05b5 | 4 | { |
macgyveremir | 0:ca49770e05b5 | 5 | this->mode = mode; |
macgyveremir | 0:ca49770e05b5 | 6 | |
macgyveremir | 0:ca49770e05b5 | 7 | spi->format (16, DAC7311_SPI_MODE); |
macgyveremir | 1:5497575badba | 8 | wait_us (5); |
macgyveremir | 1:5497575badba | 9 | |
macgyveremir | 0:ca49770e05b5 | 10 | *sync = 0; |
macgyveremir | 0:ca49770e05b5 | 11 | spi->write (mode | conf_data_12(value)); |
macgyveremir | 0:ca49770e05b5 | 12 | *sync = 1; |
macgyveremir | 0:ca49770e05b5 | 13 | } |
macgyveremir | 0:ca49770e05b5 | 14 | |
macgyveremir | 0:ca49770e05b5 | 15 | void DAC7311::set_value (unsigned short value) |
macgyveremir | 0:ca49770e05b5 | 16 | { |
macgyveremir | 0:ca49770e05b5 | 17 | this->value = value; |
macgyveremir | 0:ca49770e05b5 | 18 | |
macgyveremir | 0:ca49770e05b5 | 19 | spi->format (16, DAC7311_SPI_MODE); |
macgyveremir | 1:5497575badba | 20 | wait_us (5); |
macgyveremir | 1:5497575badba | 21 | |
macgyveremir | 0:ca49770e05b5 | 22 | *sync = 0; |
macgyveremir | 0:ca49770e05b5 | 23 | spi->write (mode | conf_data_12(value)); |
macgyveremir | 0:ca49770e05b5 | 24 | *sync = 1; |
macgyveremir | 1:5497575badba | 25 | } |